aboutsummaryrefslogtreecommitdiff
path: root/src/fs/gnunet-fs-gtk-main_window_file_publish.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/gnunet-fs-gtk-main_window_file_publish.c')
-rw-r--r--src/fs/gnunet-fs-gtk-main_window_file_publish.c268
1 files changed, 136 insertions, 132 deletions
diff --git a/src/fs/gnunet-fs-gtk-main_window_file_publish.c b/src/fs/gnunet-fs-gtk-main_window_file_publish.c
index 443558a7..d214d5f4 100644
--- a/src/fs/gnunet-fs-gtk-main_window_file_publish.c
+++ b/src/fs/gnunet-fs-gtk-main_window_file_publish.c
@@ -79,7 +79,7 @@ update_selectivity (gpointer data)
79 int ns_ok; 79 int ns_ok;
80 gchar *namespace_id; 80 gchar *namespace_id;
81 GtkBuilder *builder; 81 GtkBuilder *builder;
82 82
83 builder = GTK_BUILDER (data); 83 builder = GTK_BUILDER (data);
84 84
85 tv = GTK_TREE_VIEW (gtk_builder_get_object 85 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -97,32 +97,25 @@ update_selectivity (gpointer data)
97 } 97 }
98 up_button = 98 up_button =
99 GTK_WIDGET (gtk_builder_get_object 99 GTK_WIDGET (gtk_builder_get_object
100 (builder, 100 (builder, "GNUNET_GTK_master_publish_dialog_up_button"));
101 "GNUNET_GTK_master_publish_dialog_up_button"));
102 down_button = 101 down_button =
103 GTK_WIDGET (gtk_builder_get_object 102 GTK_WIDGET (gtk_builder_get_object
104 (builder, 103 (builder, "GNUNET_GTK_master_publish_dialog_down_button"));
105 "GNUNET_GTK_master_publish_dialog_down_button"));
106 left_button = 104 left_button =
107 GTK_WIDGET (gtk_builder_get_object 105 GTK_WIDGET (gtk_builder_get_object
108 (builder, 106 (builder, "GNUNET_GTK_master_publish_dialog_left_button"));
109 "GNUNET_GTK_master_publish_dialog_left_button"));
110 right_button = 107 right_button =
111 GTK_WIDGET (gtk_builder_get_object 108 GTK_WIDGET (gtk_builder_get_object
112 (builder, 109 (builder, "GNUNET_GTK_master_publish_dialog_right_button"));
113 "GNUNET_GTK_master_publish_dialog_right_button"));
114 delete_button = 110 delete_button =
115 GTK_WIDGET (gtk_builder_get_object 111 GTK_WIDGET (gtk_builder_get_object
116 (builder, 112 (builder, "GNUNET_GTK_master_publish_dialog_delete_button"));
117 "GNUNET_GTK_master_publish_dialog_delete_button"));
118 edit_button = 113 edit_button =
119 GTK_WIDGET (gtk_builder_get_object 114 GTK_WIDGET (gtk_builder_get_object
120 (builder, 115 (builder, "GNUNET_GTK_master_publish_dialog_edit_button"));
121 "GNUNET_GTK_master_publish_dialog_edit_button"));
122 execute_button = 116 execute_button =
123 GTK_WIDGET (gtk_builder_get_object 117 GTK_WIDGET (gtk_builder_get_object
124 (builder, 118 (builder, "GNUNET_GTK_master_publish_dialog_execute_button"));
125 "GNUNET_GTK_master_publish_dialog_execute_button"));
126 tv = GTK_TREE_VIEW (gtk_builder_get_object 119 tv = GTK_TREE_VIEW (gtk_builder_get_object
127 (builder, 120 (builder,
128 "GNUNET_GTK_master_publish_dialog_file_information_tree_view")); 121 "GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
@@ -203,8 +196,9 @@ update_selectivity (gpointer data)
203 * @param iter parent entry, or NULL for top-level addition 196 * @param iter parent entry, or NULL for top-level addition
204 */ 197 */
205static void 198static void
206add_file_at_iter (gpointer data, const char *filename, const struct GNUNET_FS_BlockOptions *bo, 199add_file_at_iter (gpointer data, const char *filename,
207 int do_index, GtkTreeIter * iter) 200 const struct GNUNET_FS_BlockOptions *bo, int do_index,
201 GtkTreeIter * iter)
208{ 202{
209 struct GNUNET_FS_FileInformation *fi; 203 struct GNUNET_FS_FileInformation *fi;
210 GtkTreeRowReference *row_reference; 204 GtkTreeRowReference *row_reference;
@@ -220,7 +214,7 @@ add_file_at_iter (gpointer data, const char *filename, const struct GNUNET_FS_Bl
220 const char *ss; 214 const char *ss;
221 struct stat sbuf; 215 struct stat sbuf;
222 GtkBuilder *builder; 216 GtkBuilder *builder;
223 217
224 builder = GTK_BUILDER (data); 218 builder = GTK_BUILDER (data);
225 219
226 if (0 != STAT (filename, &sbuf)) 220 if (0 != STAT (filename, &sbuf))
@@ -287,8 +281,9 @@ add_file_at_iter (gpointer data, const char *filename, const struct GNUNET_FS_Bl
287 * @param pos iterator to set to the location of the new element 281 * @param pos iterator to set to the location of the new element
288 */ 282 */
289static void 283static void
290create_dir_at_iter (gpointer data, const char *name, const struct GNUNET_FS_BlockOptions *bo, 284create_dir_at_iter (gpointer data, const char *name,
291 GtkTreeIter * iter, GtkTreeIter * pos) 285 const struct GNUNET_FS_BlockOptions *bo, GtkTreeIter * iter,
286 GtkTreeIter * pos)
292{ 287{
293 struct GNUNET_FS_FileInformation *fi; 288 struct GNUNET_FS_FileInformation *fi;
294 GtkTreeRowReference *row_reference; 289 GtkTreeRowReference *row_reference;
@@ -296,8 +291,8 @@ create_dir_at_iter (gpointer data, const char *name, const struct GNUNET_FS_Bloc
296 struct GNUNET_CONTAINER_MetaData *meta; 291 struct GNUNET_CONTAINER_MetaData *meta;
297 GtkTreeStore *ts; 292 GtkTreeStore *ts;
298 GtkBuilder *builder; 293 GtkBuilder *builder;
299 294
300 295
301 builder = GTK_BUILDER (data); 296 builder = GTK_BUILDER (data);
302 297
303 ts = GTK_TREE_STORE (gtk_builder_get_object 298 ts = GTK_TREE_STORE (gtk_builder_get_object
@@ -785,6 +780,7 @@ scan_directory (void *cls, const char *filename)
785 { 780 {
786 char *filename_utf8; 781 char *filename_utf8;
787 const char *ss, *short_fn; 782 const char *ss, *short_fn;
783
788 GNUNET_assert (mcm == NULL); 784 GNUNET_assert (mcm == NULL);
789 /* we're top-level */ 785 /* we're top-level */
790 short_fn = filename; 786 short_fn = filename;
@@ -793,8 +789,9 @@ scan_directory (void *cls, const char *filename)
793 filename_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) short_fn); 789 filename_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) short_fn);
794 GNUNET_CONTAINER_meta_data_insert (pd->meta, "<gnunet-gtk>", 790 GNUNET_CONTAINER_meta_data_insert (pd->meta, "<gnunet-gtk>",
795 EXTRACTOR_METATYPE_FILENAME, 791 EXTRACTOR_METATYPE_FILENAME,
796 EXTRACTOR_METAFORMAT_UTF8, "text/plain", 792 EXTRACTOR_METAFORMAT_UTF8,
797 filename_utf8, strlen (filename_utf8) + 1); 793 "text/plain", filename_utf8,
794 strlen (filename_utf8) + 1);
798 GNUNET_free_non_null (filename_utf8); 795 GNUNET_free_non_null (filename_utf8);
799 add_entry_to_ts (adc->ts, &pd->iter, filename, &adc->bo, adc->do_index, 796 add_entry_to_ts (adc->ts, &pd->iter, filename, &adc->bo, adc->do_index,
800 NULL, pd->meta); 797 NULL, pd->meta);
@@ -817,13 +814,13 @@ scan_directory (void *cls, const char *filename)
817 * @param do_index should we index? 814 * @param do_index should we index?
818 */ 815 */
819static void 816static void
820add_dir (gpointer data, const char *filename, const struct GNUNET_FS_BlockOptions *bo, 817add_dir (gpointer data, const char *filename,
821 int do_index) 818 const struct GNUNET_FS_BlockOptions *bo, int do_index)
822{ 819{
823 struct stat sbuf; 820 struct stat sbuf;
824 struct AddDirContext scan_ctx; 821 struct AddDirContext scan_ctx;
825 GtkBuilder *builder; 822 GtkBuilder *builder;
826 823
827 builder = GTK_BUILDER (data); 824 builder = GTK_BUILDER (data);
828 825
829 if (0 != STAT (filename, &sbuf)) 826 if (0 != STAT (filename, &sbuf))
@@ -870,8 +867,8 @@ remove_old_entry (GtkTreeStore * ts, GtkTreeIter * root)
870 * Move an entry in the tree. 867 * Move an entry in the tree.
871 */ 868 */
872static void 869static void
873move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old, GtkTreeIter * newpos, 870move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old,
874 int dsel) 871 GtkTreeIter * newpos, int dsel)
875{ 872{
876 struct GNUNET_FS_FileInformation *fip; 873 struct GNUNET_FS_FileInformation *fip;
877 GtkTreeView *tv; 874 GtkTreeView *tv;
@@ -887,7 +884,7 @@ move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old, GtkTreeIter * n
887 GtkTreeRowReference *rr; 884 GtkTreeRowReference *rr;
888 GtkTreeRowReference *rr2; 885 GtkTreeRowReference *rr2;
889 GtkBuilder *builder; 886 GtkBuilder *builder;
890 887
891 builder = GTK_BUILDER (data); 888 builder = GTK_BUILDER (data);
892 gtk_tree_model_get (tm, old, 0, &fsf, 1, &do_index, 2, &short_fn, 3, 889 gtk_tree_model_get (tm, old, 0, &fsf, 1, &do_index, 2, &short_fn, 3,
893 &anonymity_level, 4, &priority, 5, &fip, -1); 890 &anonymity_level, 4, &priority, 5, &fip, -1);
@@ -946,15 +943,14 @@ move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old, GtkTreeIter * n
946 * User has changed the "current" identifier for the content in 943 * User has changed the "current" identifier for the content in
947 * the GtkTreeView. Update the model. 944 * the GtkTreeView. Update the model.
948 */ 945 */
949void 946void GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb
950GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb (GtkCellRendererText * renderer, 947 (GtkCellRendererText * renderer, gchar * cpath, gchar * new_text,
951 gchar * cpath, gchar * new_text, 948 gpointer user_data)
952 gpointer user_data)
953{ 949{
954 GtkTreeIter iter; 950 GtkTreeIter iter;
955 GtkTreeStore *ts; 951 GtkTreeStore *ts;
956 GtkBuilder *builder; 952 GtkBuilder *builder;
957 953
958 builder = GTK_BUILDER (user_data); 954 builder = GTK_BUILDER (user_data);
959 ts = GTK_TREE_STORE (gtk_builder_get_object 955 ts = GTK_TREE_STORE (gtk_builder_get_object
960 (builder, "GNUNET_GTK_pseudonym_tree_store")); 956 (builder, "GNUNET_GTK_pseudonym_tree_store"));
@@ -974,15 +970,14 @@ GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb (GtkCellRe
974 * User has changed the "current" identifier for the content in 970 * User has changed the "current" identifier for the content in
975 * the GtkTreeView. Update the model. 971 * the GtkTreeView. Update the model.
976 */ 972 */
977void 973void GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer_edited_cb
978GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer_edited_cb (GtkCellRendererText * renderer, 974 (GtkCellRendererText * renderer, gchar * cpath, gchar * new_text,
979 gchar * cpath, gchar * new_text, 975 gpointer user_data)
980 gpointer user_data)
981{ 976{
982 GtkTreeIter iter; 977 GtkTreeIter iter;
983 GtkTreeStore *ts; 978 GtkTreeStore *ts;
984 GtkBuilder *builder; 979 GtkBuilder *builder;
985 980
986 builder = GTK_BUILDER (user_data); 981 builder = GTK_BUILDER (user_data);
987 ts = GTK_TREE_STORE (gtk_builder_get_object 982 ts = GTK_TREE_STORE (gtk_builder_get_object
988 (builder, "GNUNET_GTK_pseudonym_tree_store")); 983 (builder, "GNUNET_GTK_pseudonym_tree_store"));
@@ -1011,7 +1006,7 @@ GNUNET_GTK_master_publish_dialog_right_button_clicked_cb (GtkWidget * dummy,
1011 GtkTreeIter prev; 1006 GtkTreeIter prev;
1012 GtkTreeIter pos; 1007 GtkTreeIter pos;
1013 GtkBuilder *builder; 1008 GtkBuilder *builder;
1014 1009
1015 builder = GTK_BUILDER (data); 1010 builder = GTK_BUILDER (data);
1016 1011
1017 tv = GTK_TREE_VIEW (gtk_builder_get_object 1012 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1061,7 +1056,7 @@ GNUNET_GTK_master_publish_dialog_left_button_clicked_cb (GtkWidget * dummy,
1061 GtkTreeIter parent; 1056 GtkTreeIter parent;
1062 GtkTreeIter pos; 1057 GtkTreeIter pos;
1063 GtkBuilder *builder; 1058 GtkBuilder *builder;
1064 1059
1065 builder = GTK_BUILDER (data); 1060 builder = GTK_BUILDER (data);
1066 1061
1067 tv = GTK_TREE_VIEW (gtk_builder_get_object 1062 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1103,7 +1098,7 @@ GNUNET_GTK_master_publish_dialog_up_button_clicked_cb (GtkWidget * dummy,
1103 GtkTreeIter *pprev; 1098 GtkTreeIter *pprev;
1104 GtkTreeIter pos; 1099 GtkTreeIter pos;
1105 GtkBuilder *builder; 1100 GtkBuilder *builder;
1106 1101
1107 builder = GTK_BUILDER (data); 1102 builder = GTK_BUILDER (data);
1108 1103
1109 tv = GTK_TREE_VIEW (gtk_builder_get_object 1104 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1158,7 +1153,7 @@ GNUNET_GTK_master_publish_dialog_down_button_clicked_cb (GtkWidget * dummy,
1158 GtkTreeIter next; 1153 GtkTreeIter next;
1159 GtkTreeIter pos; 1154 GtkTreeIter pos;
1160 GtkBuilder *builder; 1155 GtkBuilder *builder;
1161 1156
1162 builder = GTK_BUILDER (data); 1157 builder = GTK_BUILDER (data);
1163 1158
1164 tv = GTK_TREE_VIEW (gtk_builder_get_object 1159 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1197,7 +1192,7 @@ GNUNET_GTK_master_publish_dialog_new_button_clicked_cb (GtkWidget * dummy,
1197 GtkTreeIter pos; 1192 GtkTreeIter pos;
1198 struct GNUNET_FS_BlockOptions bo; 1193 struct GNUNET_FS_BlockOptions bo;
1199 GtkBuilder *builder; 1194 GtkBuilder *builder;
1200 1195
1201 builder = GTK_BUILDER (data); 1196 builder = GTK_BUILDER (data);
1202 1197
1203 tv = GTK_TREE_VIEW (gtk_builder_get_object 1198 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1230,15 +1225,16 @@ GNUNET_GTK_master_publish_dialog_add_button_clicked_cb (GtkWidget * dummy,
1230 GtkWidget *ad; 1225 GtkWidget *ad;
1231 GtkBuilder *builder; 1226 GtkBuilder *builder;
1232 GtkWindow *master_pubdialog; 1227 GtkWindow *master_pubdialog;
1233 1228
1234 builder = GTK_BUILDER (data); 1229 builder = GTK_BUILDER (data);
1235 1230
1236 ad = GTK_WIDGET (gtk_builder_get_object 1231 ad = GTK_WIDGET (gtk_builder_get_object
1237 (builder, "GNUNET_GTK_publish_file_dialog")); 1232 (builder, "GNUNET_GTK_publish_file_dialog"));
1238 GNUNET_FS_GTK_setup_expiration_year_adjustment (builder); 1233 GNUNET_FS_GTK_setup_expiration_year_adjustment (builder);
1239 1234
1240 master_pubdialog = GTK_WINDOW (gtk_builder_get_object (builder, 1235 master_pubdialog =
1241 "GNUNET_GTK_master_publish_dialog")); 1236 GTK_WINDOW (gtk_builder_get_object
1237 (builder, "GNUNET_GTK_master_publish_dialog"));
1242 gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog); 1238 gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog);
1243 1239
1244 gtk_window_present (GTK_WINDOW (ad)); 1240 gtk_window_present (GTK_WINDOW (ad));
@@ -1264,24 +1260,19 @@ struct EditPublishContext
1264 * @param ret GTK_RESPONSE_OK if the dialog was closed with "OK" 1260 * @param ret GTK_RESPONSE_OK if the dialog was closed with "OK"
1265 */ 1261 */
1266static void 1262static void
1267master_publish_edit_publish_dialog_cb (gpointer cls, 1263master_publish_edit_publish_dialog_cb (gpointer cls, int do_index,
1268 int do_index, 1264 const char *short_fn,
1269 const char *short_fn, 1265 uint32_t anonymity_level,
1270 uint32_t anonymity_level, 1266 uint32_t priority, const char *root,
1271 uint32_t priority, 1267 gint ret)
1272 const char *root,
1273 gint ret)
1274{ 1268{
1275 struct EditPublishContext *cbargs = cls; 1269 struct EditPublishContext *cbargs = cls;
1276 1270
1277 GNUNET_assert (NULL == root); 1271 GNUNET_assert (NULL == root);
1278 if (ret == GTK_RESPONSE_OK) 1272 if (ret == GTK_RESPONSE_OK)
1279 gtk_tree_store_set (GTK_TREE_STORE (cbargs->tm), &cbargs->iter, 1273 gtk_tree_store_set (GTK_TREE_STORE (cbargs->tm), &cbargs->iter, 1, do_index,
1280 1, do_index, 1274 2, short_fn, 3, (guint) anonymity_level, 4,
1281 2, short_fn, 1275 (guint) priority, -1);
1282 3, (guint) anonymity_level,
1283 4, (guint) priority,
1284 -1);
1285 GNUNET_free (cbargs); 1276 GNUNET_free (cbargs);
1286} 1277}
1287 1278
@@ -1309,8 +1300,9 @@ GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb (GtkWidget * dummy,
1309 1300
1310 cbargs = GNUNET_malloc (sizeof (struct EditPublishContext)); 1301 cbargs = GNUNET_malloc (sizeof (struct EditPublishContext));
1311 cbargs->tm = gtk_tree_view_get_model (tv); 1302 cbargs->tm = gtk_tree_view_get_model (tv);
1312 master_pubdialog = GTK_WINDOW (gtk_builder_get_object (builder, 1303 master_pubdialog =
1313 "GNUNET_GTK_master_publish_dialog")); 1304 GTK_WINDOW (gtk_builder_get_object
1305 (builder, "GNUNET_GTK_master_publish_dialog"));
1314 sel = gtk_tree_view_get_selection (tv); 1306 sel = gtk_tree_view_get_selection (tv);
1315 if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &cbargs->iter)) 1307 if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &cbargs->iter))
1316 { 1308 {
@@ -1319,21 +1311,14 @@ GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb (GtkWidget * dummy,
1319 return; 1311 return;
1320 } 1312 }
1321 1313
1322 gtk_tree_model_get (tm, &cbargs->iter, 1314 gtk_tree_model_get (tm, &cbargs->iter, 1, &do_index, 2, &short_fn, 3,
1323 1, &do_index, 1315 &anonymity_level, 4, &priority, 5, &fip, -1);
1324 2, &short_fn,
1325 3, &anonymity_level,
1326 4, &priority,
1327 5, &fip,
1328 -1);
1329 /* FIXME: shouldn't this use a fresh builder? */ 1316 /* FIXME: shouldn't this use a fresh builder? */
1330 GNUNET_FS_GTK_edit_publish_dialog (builder, master_pubdialog, 1317 GNUNET_FS_GTK_edit_publish_dialog (builder, master_pubdialog, do_index,
1331 do_index, 1318 short_fn, (uint32_t) anonymity_level,
1332 short_fn, 1319 (uint32_t) priority, fip, TRUE,
1333 (uint32_t) anonymity_level, 1320 &master_publish_edit_publish_dialog_cb,
1334 (uint32_t) priority, 1321 cbargs);
1335 fip,
1336 TRUE, &master_publish_edit_publish_dialog_cb, cbargs);
1337} 1322}
1338 1323
1339 1324
@@ -1370,7 +1355,7 @@ GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy,
1370 GtkTreeIter iter; 1355 GtkTreeIter iter;
1371 struct GNUNET_FS_FileInformation *fip; 1356 struct GNUNET_FS_FileInformation *fip;
1372 GtkBuilder *builder; 1357 GtkBuilder *builder;
1373 1358
1374 builder = GTK_BUILDER (data); 1359 builder = GTK_BUILDER (data);
1375 tv = GTK_TREE_VIEW (gtk_builder_get_object 1360 tv = GTK_TREE_VIEW (gtk_builder_get_object
1376 (builder, 1361 (builder,
@@ -1389,8 +1374,9 @@ GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy,
1389 1374
1390 1375
1391void 1376void
1392GNUNET_GTK_publish_directory_dialog_response_cb (GtkDialog *dialog, 1377GNUNET_GTK_publish_directory_dialog_response_cb (GtkDialog * dialog,
1393 gint response_id, gpointer user_data) 1378 gint response_id,
1379 gpointer user_data)
1394{ 1380{
1395 char *filename; 1381 char *filename;
1396 int do_index; 1382 int do_index;
@@ -1400,25 +1386,30 @@ GNUNET_GTK_publish_directory_dialog_response_cb (GtkDialog *dialog,
1400 GtkBuilder *builder; 1386 GtkBuilder *builder;
1401 1387
1402 builder = GTK_BUILDER (user_data); 1388 builder = GTK_BUILDER (user_data);
1403 ad = GTK_WIDGET (gtk_builder_get_object (builder, 1389 ad = GTK_WIDGET (gtk_builder_get_object
1404 "GNUNET_GTK_publish_directory_dialog")); 1390 (builder, "GNUNET_GTK_publish_directory_dialog"));
1405 if (response_id == -5) 1391 if (response_id == -5)
1406 { 1392 {
1407 filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad)); 1393 filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad));
1408 sb = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, 1394 sb = GTK_SPIN_BUTTON (gtk_builder_get_object
1409 "GNUNET_GTK_publish_directory_dialog_expiration_year_spin_button")); 1395 (builder,
1410 if (!GNUNET_GTK_get_selected_anonymity_level (builder, 1396 "GNUNET_GTK_publish_directory_dialog_expiration_year_spin_button"));
1411 "GNUNET_GTK_publish_directory_dialog_anonymity_combobox", 1397 if (!GNUNET_GTK_get_selected_anonymity_level
1412 &bo.anonymity_level)) 1398 (builder, "GNUNET_GTK_publish_directory_dialog_anonymity_combobox",
1399 &bo.anonymity_level))
1413 bo.anonymity_level = 1; 1400 bo.anonymity_level = 1;
1414 bo.content_priority = gtk_spin_button_get_value (GTK_SPIN_BUTTON ( 1401 bo.content_priority =
1415 gtk_builder_get_object (builder, 1402 gtk_spin_button_get_value (GTK_SPIN_BUTTON
1416 "GNUNET_GTK_publish_directory_dialog_priority_spin_button"))); 1403 (gtk_builder_get_object
1417 bo.replication_level = 0; /* FIXME: replication level in GUI? */ 1404 (builder,
1405 "GNUNET_GTK_publish_directory_dialog_priority_spin_button")));
1406 bo.replication_level = 0; /* FIXME: replication level in GUI? */
1418 bo.expiration_time = GNUNET_FS_GTK_get_expiration_time (sb); 1407 bo.expiration_time = GNUNET_FS_GTK_get_expiration_time (sb);
1419 do_index = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON ( 1408 do_index =
1420 gtk_builder_get_object (builder, 1409 gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
1421 "GNUNET_GTK_publish_directory_dialog_do_index_checkbutton"))); 1410 (gtk_builder_get_object
1411 (builder,
1412 "GNUNET_GTK_publish_directory_dialog_do_index_checkbutton")));
1422 1413
1423 /* FIXME: open progress dialog here... */ 1414 /* FIXME: open progress dialog here... */
1424 add_dir (user_data, filename, &bo, do_index); 1415 add_dir (user_data, filename, &bo, do_index);
@@ -1436,14 +1427,15 @@ GNUNET_GTK_master_publish_dialog_open_button_clicked_cb (GtkWidget * dummy,
1436 GtkWidget *ad; 1427 GtkWidget *ad;
1437 GtkBuilder *builder; 1428 GtkBuilder *builder;
1438 GtkWindow *master_pubdialog; 1429 GtkWindow *master_pubdialog;
1439 1430
1440 builder = GTK_BUILDER (data); 1431 builder = GTK_BUILDER (data);
1441 GNUNET_FS_GTK_setup_expiration_year_adjustment (builder); 1432 GNUNET_FS_GTK_setup_expiration_year_adjustment (builder);
1442 ad = GTK_WIDGET (gtk_builder_get_object 1433 ad = GTK_WIDGET (gtk_builder_get_object
1443 (builder, "GNUNET_GTK_publish_directory_dialog")); 1434 (builder, "GNUNET_GTK_publish_directory_dialog"));
1444 1435
1445 master_pubdialog = GTK_WINDOW (gtk_builder_get_object (builder, 1436 master_pubdialog =
1446 "GNUNET_GTK_master_publish_dialog")); 1437 GTK_WINDOW (gtk_builder_get_object
1438 (builder, "GNUNET_GTK_master_publish_dialog"));
1447 gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog); 1439 gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog);
1448 1440
1449 gtk_window_present (GTK_WINDOW (ad)); 1441 gtk_window_present (GTK_WINDOW (ad));
@@ -1564,7 +1556,10 @@ add_updateable_to_ts (void *cls, const char *last_id,
1564 else 1556 else
1565 { 1557 {
1566 char *utf8_desc = NULL; 1558 char *utf8_desc = NULL;
1567 utf8_desc = GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc, strlen (desc) + 1); 1559
1560 utf8_desc =
1561 GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc,
1562 strlen (desc) + 1);
1568 GNUNET_free (desc); 1563 GNUNET_free (desc);
1569 if (utf8_desc != NULL) 1564 if (utf8_desc != NULL)
1570 desc = utf8_desc; 1565 desc = utf8_desc;
@@ -1689,13 +1684,13 @@ free_file_information_tree_store (GtkTreeModel * tm, GtkTreeIter * iter)
1689 1684
1690 1685
1691void 1686void
1692GNUNET_GTK_master_publish_dialog_realize_cb (GtkWidget *widget, 1687GNUNET_GTK_master_publish_dialog_realize_cb (GtkWidget * widget,
1693 gpointer user_data) 1688 gpointer user_data)
1694{ 1689{
1695 GtkTreeView *tv; 1690 GtkTreeView *tv;
1696 GtkTreeSelection *sel; 1691 GtkTreeSelection *sel;
1697 GtkBuilder *builder; 1692 GtkBuilder *builder;
1698 1693
1699 builder = GTK_BUILDER (user_data); 1694 builder = GTK_BUILDER (user_data);
1700 1695
1701 tv = GTK_TREE_VIEW (gtk_builder_get_object 1696 tv = GTK_TREE_VIEW (gtk_builder_get_object
@@ -1730,9 +1725,10 @@ hide_master_publish_dialog (gpointer user_data, gint ret)
1730 builder = GTK_BUILDER (user_data); 1725 builder = GTK_BUILDER (user_data);
1731 ad = GTK_WIDGET (gtk_builder_get_object 1726 ad = GTK_WIDGET (gtk_builder_get_object
1732 (builder, "GNUNET_GTK_master_publish_dialog")); 1727 (builder, "GNUNET_GTK_master_publish_dialog"));
1733 ptv = GTK_TREE_VIEW (gtk_builder_get_object 1728 ptv =
1734 (builder, 1729 GTK_TREE_VIEW (gtk_builder_get_object
1735 "GNUNET_GTK_master_publish_dialog_pseudonym_tree_view")); 1730 (builder,
1731 "GNUNET_GTK_master_publish_dialog_pseudonym_tree_view"));
1736 sel = gtk_tree_view_get_selection (ptv); 1732 sel = gtk_tree_view_get_selection (ptv);
1737 ptm = gtk_tree_view_get_model (ptv); 1733 ptm = gtk_tree_view_get_model (ptv);
1738 1734
@@ -1740,7 +1736,7 @@ hide_master_publish_dialog (gpointer user_data, gint ret)
1740 (builder, 1736 (builder,
1741 "GNUNET_GTK_master_publish_dialog_file_information_tree_view")); 1737 "GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
1742 tm = gtk_tree_view_get_model (tv); 1738 tm = gtk_tree_view_get_model (tv);
1743 1739
1744 if (ret == GTK_RESPONSE_OK) 1740 if (ret == GTK_RESPONSE_OK)
1745 { 1741 {
1746 if (TRUE == gtk_tree_selection_get_selected (sel, &ptm, &iter)) 1742 if (TRUE == gtk_tree_selection_get_selected (sel, &ptm, &iter))
@@ -1787,29 +1783,30 @@ hide_master_publish_dialog (gpointer user_data, gint ret)
1787 gtk_tree_store_clear (GTK_TREE_STORE (tm)); 1783 gtk_tree_store_clear (GTK_TREE_STORE (tm));
1788 gtk_widget_hide (ad); 1784 gtk_widget_hide (ad);
1789 /* FIXME: doesn't this leak everything (builder + window)? 1785 /* FIXME: doesn't this leak everything (builder + window)?
1790 I think we need to unref the builder here! */ 1786 * I think we need to unref the builder here! */
1791} 1787}
1792 1788
1793 1789
1794void 1790void
1795GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb (GtkButton *button, 1791GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb (GtkButton * button,
1796 gpointer user_data) 1792 gpointer user_data)
1797{ 1793{
1798 hide_master_publish_dialog (user_data, GTK_RESPONSE_OK); 1794 hide_master_publish_dialog (user_data, GTK_RESPONSE_OK);
1799} 1795}
1800 1796
1801 1797
1802void 1798void
1803GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb (GtkButton *button, 1799GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb (GtkButton * button,
1804 gpointer user_data) 1800 gpointer user_data)
1805{ 1801{
1806 hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL); 1802 hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL);
1807} 1803}
1808 1804
1809 1805
1810gboolean 1806gboolean
1811GNUNET_GTK_master_publish_dialog_delete_event_cb (GtkWidget *widget, 1807GNUNET_GTK_master_publish_dialog_delete_event_cb (GtkWidget * widget,
1812 GdkEvent *event, gpointer user_data) 1808 GdkEvent * event,
1809 gpointer user_data)
1813{ 1810{
1814 hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL); 1811 hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL);
1815 return TRUE; 1812 return TRUE;
@@ -1817,8 +1814,9 @@ GNUNET_GTK_master_publish_dialog_delete_event_cb (GtkWidget *widget,
1817 1814
1818 1815
1819void 1816void
1820GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog *dialog, 1817GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog * dialog,
1821 gint response_id, gpointer user_data) 1818 gint response_id,
1819 gpointer user_data)
1822{ 1820{
1823 char *filename; 1821 char *filename;
1824 struct GNUNET_FS_BlockOptions bo; 1822 struct GNUNET_FS_BlockOptions bo;
@@ -1828,26 +1826,32 @@ GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog *dialog,
1828 1826
1829 GtkBuilder *builder = GTK_BUILDER (user_data); 1827 GtkBuilder *builder = GTK_BUILDER (user_data);
1830 1828
1831 ad = GTK_WIDGET (gtk_builder_get_object (builder, 1829 ad = GTK_WIDGET (gtk_builder_get_object
1832 "GNUNET_GTK_publish_file_dialog")); 1830 (builder, "GNUNET_GTK_publish_file_dialog"));
1833 1831
1834 if (response_id == -5) 1832 if (response_id == -5)
1835 { 1833 {
1836 /* OK */ 1834 /* OK */
1837 sb = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, 1835 sb = GTK_SPIN_BUTTON (gtk_builder_get_object
1838 "GNUNET_GTK_publish_file_dialog_expiration_year_spin_button")); 1836 (builder,
1837 "GNUNET_GTK_publish_file_dialog_expiration_year_spin_button"));
1839 1838
1840 if (!GNUNET_GTK_get_selected_anonymity_level (builder, 1839 if (!GNUNET_GTK_get_selected_anonymity_level
1841 "GNUNET_GTK_publish_file_dialog_anonymity_combobox", &bo.anonymity_level)) 1840 (builder, "GNUNET_GTK_publish_file_dialog_anonymity_combobox",
1841 &bo.anonymity_level))
1842 bo.anonymity_level = 1; 1842 bo.anonymity_level = 1;
1843 bo.content_priority = gtk_spin_button_get_value (GTK_SPIN_BUTTON ( 1843 bo.content_priority =
1844 gtk_builder_get_object (builder, 1844 gtk_spin_button_get_value (GTK_SPIN_BUTTON
1845 "GNUNET_GTK_publish_file_dialog_priority_spin_button"))); 1845 (gtk_builder_get_object
1846 (builder,
1847 "GNUNET_GTK_publish_file_dialog_priority_spin_button")));
1846 bo.expiration_time = GNUNET_FS_GTK_get_expiration_time (sb); 1848 bo.expiration_time = GNUNET_FS_GTK_get_expiration_time (sb);
1847 bo.replication_level = 1; /* FIXME... */ 1849 bo.replication_level = 1; /* FIXME... */
1848 do_index = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON ( 1850 do_index =
1849 gtk_builder_get_object (builder, 1851 gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
1850 "GNUNET_GTK_publish_file_dialog_do_index_checkbutton"))); 1852 (gtk_builder_get_object
1853 (builder,
1854 "GNUNET_GTK_publish_file_dialog_do_index_checkbutton")));
1851 1855
1852 filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad)); 1856 filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad));
1853 add_file_at_iter (user_data, filename, &bo, do_index, NULL); 1857 add_file_at_iter (user_data, filename, &bo, do_index, NULL);
@@ -1870,16 +1874,16 @@ GNUNET_GTK_main_menu_file_publish_activate_cb (GtkWidget * dummy, gpointer data)
1870 GtkWidget *ad; 1874 GtkWidget *ad;
1871 GtkTreeStore *ts; 1875 GtkTreeStore *ts;
1872 GtkBuilder *builder; 1876 GtkBuilder *builder;
1873 1877
1874 builder = GTK_BUILDER (data); 1878 builder = GTK_BUILDER (data);
1875 ad = GTK_WIDGET (gtk_builder_get_object 1879 ad = GTK_WIDGET (gtk_builder_get_object
1876 (builder, "GNUNET_GTK_master_publish_dialog")); 1880 (builder, "GNUNET_GTK_master_publish_dialog"));
1877 if (!gtk_widget_get_visible (ad)) 1881 if (!gtk_widget_get_visible (ad))
1878 { 1882 {
1879 ts = GTK_TREE_STORE (gtk_builder_get_object (builder, 1883 ts = GTK_TREE_STORE (gtk_builder_get_object
1880 "GNUNET_GTK_pseudonym_tree_store")); 1884 (builder, "GNUNET_GTK_pseudonym_tree_store"));
1881 GNUNET_FS_namespace_list (GNUNET_FS_GTK_get_fs_handle (), 1885 GNUNET_FS_namespace_list (GNUNET_FS_GTK_get_fs_handle (),
1882 &add_namespace_to_ts, ts); 1886 &add_namespace_to_ts, ts);
1883 } 1887 }
1884 gtk_window_present (GTK_WINDOW (ad)); 1888 gtk_window_present (GTK_WINDOW (ad));
1885} 1889}