diff options
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.c | 268 |
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 | */ |
205 | static void | 198 | static void |
206 | add_file_at_iter (gpointer data, const char *filename, const struct GNUNET_FS_BlockOptions *bo, | 199 | add_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 | */ |
289 | static void | 283 | static void |
290 | create_dir_at_iter (gpointer data, const char *name, const struct GNUNET_FS_BlockOptions *bo, | 284 | create_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 | */ |
819 | static void | 816 | static void |
820 | add_dir (gpointer data, const char *filename, const struct GNUNET_FS_BlockOptions *bo, | 817 | add_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 | */ |
872 | static void | 869 | static void |
873 | move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old, GtkTreeIter * newpos, | 870 | move_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 | */ |
949 | void | 946 | void GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb |
950 | GNUNET_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 | */ |
977 | void | 973 | void GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer_edited_cb |
978 | GNUNET_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 | */ |
1266 | static void | 1262 | static void |
1267 | master_publish_edit_publish_dialog_cb (gpointer cls, | 1263 | master_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 | ||
1391 | void | 1376 | void |
1392 | GNUNET_GTK_publish_directory_dialog_response_cb (GtkDialog *dialog, | 1377 | GNUNET_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 | ||
1691 | void | 1686 | void |
1692 | GNUNET_GTK_master_publish_dialog_realize_cb (GtkWidget *widget, | 1687 | GNUNET_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 | ||
1794 | void | 1790 | void |
1795 | GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb (GtkButton *button, | 1791 | GNUNET_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 | ||
1802 | void | 1798 | void |
1803 | GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb (GtkButton *button, | 1799 | GNUNET_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 | ||
1810 | gboolean | 1806 | gboolean |
1811 | GNUNET_GTK_master_publish_dialog_delete_event_cb (GtkWidget *widget, | 1807 | GNUNET_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 | ||
1819 | void | 1816 | void |
1820 | GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog *dialog, | 1817 | GNUNET_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 | } |