diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-12-26 20:04:58 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-12-26 20:04:58 +0000 |
commit | 10e931a7968629875e2d7521ae9aa60a4e6b0ba3 (patch) | |
tree | 3a200305eebde747d4b33264510d85d19589ace4 | |
parent | 90513c8a7f4cd29e8db2e51191fff23caf6b6aed (diff) | |
download | gnunet-gtk-10e931a7968629875e2d7521ae9aa60a4e6b0ba3.tar.gz gnunet-gtk-10e931a7968629875e2d7521ae9aa60a4e6b0ba3.zip |
-indentation
30 files changed, 2322 insertions, 2451 deletions
diff --git a/src/fs/gnunet-fs-gtk-common.c b/src/fs/gnunet-fs-gtk-common.c index bd33d17a..4d416849 100644 --- a/src/fs/gnunet-fs-gtk-common.c +++ b/src/fs/gnunet-fs-gtk-common.c | |||
@@ -39,7 +39,8 @@ | |||
39 | * freeable with GNUNET_free* (). | 39 | * freeable with GNUNET_free* (). |
40 | */ | 40 | */ |
41 | char * | 41 | char * |
42 | GNUNET_FS_GTK_dubious_meta_to_utf8 (enum EXTRACTOR_MetaFormat format, const char *data, size_t data_len) | 42 | GNUNET_FS_GTK_dubious_meta_to_utf8 (enum EXTRACTOR_MetaFormat format, |
43 | const char *data, size_t data_len) | ||
43 | { | 44 | { |
44 | gchar *result = NULL; | 45 | gchar *result = NULL; |
45 | 46 | ||
@@ -51,18 +52,19 @@ GNUNET_FS_GTK_dubious_meta_to_utf8 (enum EXTRACTOR_MetaFormat format, const char | |||
51 | else | 52 | else |
52 | { | 53 | { |
53 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 54 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
54 | "Failed to validate supposedly utf-8 string `%s' of length %u, assuming it to be a C string\n", | 55 | "Failed to validate supposedly utf-8 string `%s' of length %u, assuming it to be a C string\n", |
55 | data, data_len); | 56 | data, data_len); |
56 | format = EXTRACTOR_METAFORMAT_C_STRING; | 57 | format = EXTRACTOR_METAFORMAT_C_STRING; |
57 | } | 58 | } |
58 | } | 59 | } |
59 | if (format == EXTRACTOR_METAFORMAT_C_STRING) | 60 | if (format == EXTRACTOR_METAFORMAT_C_STRING) |
60 | { | 61 | { |
61 | if (data_len > 0) | 62 | if (data_len > 0) |
62 | { /* There are no guarantees that data is NULL-terminated, AFAIU, | 63 | { /* There are no guarantees that data is NULL-terminated, AFAIU, |
63 | * so let's play it safe, shall we? | 64 | * so let's play it safe, shall we? |
64 | */ | 65 | */ |
65 | char *data_copy = GNUNET_malloc (data_len + 1); | 66 | char *data_copy = GNUNET_malloc (data_len + 1); |
67 | |||
66 | memcpy (data_copy, data, data_len); | 68 | memcpy (data_copy, data, data_len); |
67 | data_copy[data_len] = '\0'; | 69 | data_copy[data_len] = '\0'; |
68 | result = GNUNET_GTK_from_loc_to_utf8 (data_copy); | 70 | result = GNUNET_GTK_from_loc_to_utf8 (data_copy); |
@@ -100,7 +102,7 @@ GNUNET_FS_GTK_add_meta_data_to_list_store (void *cls, const char *plugin_name, | |||
100 | 102 | ||
101 | data_to_insert = GNUNET_FS_GTK_dubious_meta_to_utf8 (format, data, data_len); | 103 | data_to_insert = GNUNET_FS_GTK_dubious_meta_to_utf8 (format, data, data_len); |
102 | 104 | ||
103 | if (NULL != data_to_insert) | 105 | if (NULL != data_to_insert) |
104 | { | 106 | { |
105 | gtk_list_store_insert_with_values (ls, NULL, G_MAXINT, 0, type, 1, format, | 107 | gtk_list_store_insert_with_values (ls, NULL, G_MAXINT, 0, type, 1, format, |
106 | 2, EXTRACTOR_metatype_to_string (type), | 108 | 2, EXTRACTOR_metatype_to_string (type), |
diff --git a/src/fs/gnunet-fs-gtk-common.h b/src/fs/gnunet-fs-gtk-common.h index d0d7b4f9..f7ad5ab2 100644 --- a/src/fs/gnunet-fs-gtk-common.h +++ b/src/fs/gnunet-fs-gtk-common.h | |||
@@ -116,7 +116,7 @@ GNUNET_FS_GTK_add_meta_data_to_list_store (void *cls, const char *plugin_name, | |||
116 | */ | 116 | */ |
117 | char * | 117 | char * |
118 | GNUNET_FS_GTK_dubious_meta_to_utf8 (enum EXTRACTOR_MetaFormat format, | 118 | GNUNET_FS_GTK_dubious_meta_to_utf8 (enum EXTRACTOR_MetaFormat format, |
119 | const char *data, size_t data_len); | 119 | const char *data, size_t data_len); |
120 | 120 | ||
121 | 121 | ||
122 | #endif | 122 | #endif |
diff --git a/src/fs/gnunet-fs-gtk-download.c b/src/fs/gnunet-fs-gtk-download.c index 09ae7e1f..ee6b1927 100644 --- a/src/fs/gnunet-fs-gtk-download.c +++ b/src/fs/gnunet-fs-gtk-download.c | |||
@@ -37,8 +37,8 @@ struct dialog_context | |||
37 | 37 | ||
38 | 38 | ||
39 | gboolean | 39 | gboolean |
40 | GNUNET_GTK_save_as_dialog_delete_event_cb (GtkWidget *widget, GdkEvent *event, | 40 | GNUNET_GTK_save_as_dialog_delete_event_cb (GtkWidget * widget, GdkEvent * event, |
41 | gpointer user_data) | 41 | gpointer user_data) |
42 | { | 42 | { |
43 | GtkBuilder *builder; | 43 | GtkBuilder *builder; |
44 | struct dialog_context *dlc; | 44 | struct dialog_context *dlc; |
@@ -73,7 +73,8 @@ GNUNET_GTK_save_as_dialog_delete_event_cb (GtkWidget *widget, GdkEvent *event, | |||
73 | return FALSE; | 73 | return FALSE; |
74 | } | 74 | } |
75 | GNUNET_free_non_null (dc->filename); | 75 | GNUNET_free_non_null (dc->filename); |
76 | dc->filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (dlc->dialog)); | 76 | dc->filename = |
77 | GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (dlc->dialog)); | ||
77 | dc->is_recursive = | 78 | dc->is_recursive = |
78 | (TRUE == | 79 | (TRUE == |
79 | gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cb))) ? GNUNET_YES : | 80 | gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cb))) ? GNUNET_YES : |
@@ -122,17 +123,19 @@ GNUNET_GTK_save_as_dialog_delete_event_cb (GtkWidget *widget, GdkEvent *event, | |||
122 | } | 123 | } |
123 | 124 | ||
124 | void | 125 | void |
125 | GNUNET_GTK_save_as_dialog_response_cb (GtkDialog *dialog, | 126 | GNUNET_GTK_save_as_dialog_response_cb (GtkDialog * dialog, gint response_id, |
126 | gint response_id, gpointer user_data) | 127 | gpointer user_data) |
127 | { | 128 | { |
128 | struct dialog_context *dlc; | 129 | struct dialog_context *dlc; |
130 | |||
129 | dlc = g_object_get_data (G_OBJECT (dialog), "dialog-context"); | 131 | dlc = g_object_get_data (G_OBJECT (dialog), "dialog-context"); |
130 | if (dlc != NULL) | 132 | if (dlc != NULL) |
131 | dlc->response = response_id; | 133 | dlc->response = response_id; |
132 | /* dialogs don't get delete-event the way normal windows do, | 134 | /* dialogs don't get delete-event the way normal windows do, |
133 | * call the handler manually | 135 | * call the handler manually |
134 | */ | 136 | */ |
135 | GNUNET_GTK_save_as_dialog_delete_event_cb (GTK_WIDGET (dialog), NULL, user_data); | 137 | GNUNET_GTK_save_as_dialog_delete_event_cb (GTK_WIDGET (dialog), NULL, |
138 | user_data); | ||
136 | gtk_widget_destroy (GTK_WIDGET (dialog)); | 139 | gtk_widget_destroy (GTK_WIDGET (dialog)); |
137 | } | 140 | } |
138 | 141 | ||
@@ -183,6 +186,7 @@ GNUNET_FS_GTK_open_download_as_dialog (struct DownloadContext *dc) | |||
183 | } | 186 | } |
184 | } | 187 | } |
185 | dlc = g_new0 (struct dialog_context, 1); | 188 | dlc = g_new0 (struct dialog_context, 1); |
189 | |||
186 | dlc->builder = builder; | 190 | dlc->builder = builder; |
187 | dlc->dialog = ad; | 191 | dlc->dialog = ad; |
188 | dlc->response = 0; | 192 | dlc->response = 0; |
diff --git a/src/fs/gnunet-fs-gtk-edit_publish_dialog.c b/src/fs/gnunet-fs-gtk-edit_publish_dialog.c index 356385c7..e50ff82e 100644 --- a/src/fs/gnunet-fs-gtk-edit_publish_dialog.c +++ b/src/fs/gnunet-fs-gtk-edit_publish_dialog.c | |||
@@ -32,15 +32,19 @@ | |||
32 | 32 | ||
33 | #include "metatypes.c" | 33 | #include "metatypes.c" |
34 | 34 | ||
35 | void change_metatypes (GtkBuilder *builder, gint code) | 35 | void |
36 | change_metatypes (GtkBuilder * builder, gint code) | ||
36 | { | 37 | { |
37 | GtkListStore *metatypes_list; | 38 | GtkListStore *metatypes_list; |
38 | gint pub_type = 0, i; | 39 | gint pub_type = 0, i; |
39 | gint pubtype_count = 0; | 40 | gint pubtype_count = 0; |
40 | gint max_type; | 41 | gint max_type; |
41 | GtkTreeIter iter; | 42 | GtkTreeIter iter; |
42 | metatypes_list = GTK_LIST_STORE (gtk_builder_get_object (builder, | 43 | |
43 | "GNUNET_GTK_publication_metadata_types_liststore")); | 44 | metatypes_list = |
45 | GTK_LIST_STORE (gtk_builder_get_object | ||
46 | (builder, | ||
47 | "GNUNET_GTK_publication_metadata_types_liststore")); | ||
44 | 48 | ||
45 | for (pub_type = 0; types[pub_type] != NULL; pub_type++) | 49 | for (pub_type = 0; types[pub_type] != NULL; pub_type++) |
46 | pubtype_count += 1; | 50 | pubtype_count += 1; |
@@ -55,17 +59,20 @@ void change_metatypes (GtkBuilder *builder, gint code) | |||
55 | for (i = 0; types[pub_type][i] != EXTRACTOR_METATYPE_RESERVED; i++) | 59 | for (i = 0; types[pub_type][i] != EXTRACTOR_METATYPE_RESERVED; i++) |
56 | { | 60 | { |
57 | if (types[pub_type][i] < max_type && types[pub_type][i] > 0) | 61 | if (types[pub_type][i] < max_type && types[pub_type][i] > 0) |
58 | gtk_list_store_insert_with_values (metatypes_list, &iter, G_MAXINT, | 62 | gtk_list_store_insert_with_values (metatypes_list, &iter, G_MAXINT, 0, |
59 | 0, types[pub_type][i], | 63 | types[pub_type][i], 1, |
60 | 1, EXTRACTOR_METAFORMAT_UTF8, | 64 | EXTRACTOR_METAFORMAT_UTF8, 2, |
61 | 2, EXTRACTOR_metatype_to_string (types[pub_type][i]), | 65 | EXTRACTOR_metatype_to_string (types |
62 | 3, EXTRACTOR_metatype_to_description (types[pub_type][i]), -1); | 66 | [pub_type] |
67 | [i]), 3, | ||
68 | EXTRACTOR_metatype_to_description | ||
69 | (types[pub_type][i]), -1); | ||
63 | } | 70 | } |
64 | } | 71 | } |
65 | 72 | ||
66 | void | 73 | void |
67 | GNUNET_GTK_edit_publication_type_combo_changed_cb (GtkComboBox *widget, | 74 | GNUNET_GTK_edit_publication_type_combo_changed_cb (GtkComboBox * widget, |
68 | gpointer user_data) | 75 | gpointer user_data) |
69 | { | 76 | { |
70 | GtkTreeIter iter; | 77 | GtkTreeIter iter; |
71 | GtkBuilder *builder; | 78 | GtkBuilder *builder; |
@@ -76,8 +83,9 @@ GNUNET_GTK_edit_publication_type_combo_changed_cb (GtkComboBox *widget, | |||
76 | return; | 83 | return; |
77 | builder = GTK_BUILDER (user_data); | 84 | builder = GTK_BUILDER (user_data); |
78 | 85 | ||
79 | pubtypes_list = GTK_LIST_STORE (gtk_builder_get_object (builder, | 86 | pubtypes_list = |
80 | "GNUNET_GTK_publication_types_liststore")); | 87 | GTK_LIST_STORE (gtk_builder_get_object |
88 | (builder, "GNUNET_GTK_publication_types_liststore")); | ||
81 | 89 | ||
82 | gtk_tree_model_get (GTK_TREE_MODEL (pubtypes_list), &iter, 0, &code, -1); | 90 | gtk_tree_model_get (GTK_TREE_MODEL (pubtypes_list), &iter, 0, &code, -1); |
83 | 91 | ||
@@ -116,8 +124,7 @@ metadata_selection_changed_cb (GtkTreeSelection * ts, gpointer user_data) | |||
116 | sel = gtk_tree_view_get_selection (tv); | 124 | sel = gtk_tree_view_get_selection (tv); |
117 | button = | 125 | button = |
118 | GTK_WIDGET (gtk_builder_get_object | 126 | GTK_WIDGET (gtk_builder_get_object |
119 | (builder, | 127 | (builder, "GNUNET_GTK_edit_publication_delete_button")); |
120 | "GNUNET_GTK_edit_publication_delete_button")); | ||
121 | gtk_widget_set_sensitive (button, | 128 | gtk_widget_set_sensitive (button, |
122 | gtk_tree_selection_get_selected (sel, NULL, NULL)); | 129 | gtk_tree_selection_get_selected (sel, NULL, NULL)); |
123 | } | 130 | } |
@@ -149,8 +156,8 @@ keywords_selection_changed_cb (GtkTreeSelection * ts, gpointer user_data) | |||
149 | 156 | ||
150 | 157 | ||
151 | void | 158 | void |
152 | GNUNET_GTK_edit_publication_window_realize_cb (GtkWidget *widget, | 159 | GNUNET_GTK_edit_publication_window_realize_cb (GtkWidget * widget, |
153 | gpointer user_data) | 160 | gpointer user_data) |
154 | { | 161 | { |
155 | GtkBuilder *builder; | 162 | GtkBuilder *builder; |
156 | GtkTreeView *tv; | 163 | GtkTreeView *tv; |
@@ -158,14 +165,16 @@ GNUNET_GTK_edit_publication_window_realize_cb (GtkWidget *widget, | |||
158 | 165 | ||
159 | builder = GTK_BUILDER (user_data); | 166 | builder = GTK_BUILDER (user_data); |
160 | 167 | ||
161 | tv = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 168 | tv = GTK_TREE_VIEW (gtk_builder_get_object |
162 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | 169 | (builder, |
170 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | ||
163 | sel = gtk_tree_view_get_selection (tv); | 171 | sel = gtk_tree_view_get_selection (tv); |
164 | g_signal_connect (G_OBJECT (sel), "changed", | 172 | g_signal_connect (G_OBJECT (sel), "changed", |
165 | G_CALLBACK (metadata_selection_changed_cb), builder); | 173 | G_CALLBACK (metadata_selection_changed_cb), builder); |
166 | 174 | ||
167 | tv = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 175 | tv = GTK_TREE_VIEW (gtk_builder_get_object |
168 | "GNUNET_GTK_edit_publication_keyword_list_tree_view")); | 176 | (builder, |
177 | "GNUNET_GTK_edit_publication_keyword_list_tree_view")); | ||
169 | sel = gtk_tree_view_get_selection (tv); | 178 | sel = gtk_tree_view_get_selection (tv); |
170 | g_signal_connect (G_OBJECT (sel), "changed", | 179 | g_signal_connect (G_OBJECT (sel), "changed", |
171 | G_CALLBACK (keywords_selection_changed_cb), builder); | 180 | G_CALLBACK (keywords_selection_changed_cb), builder); |
@@ -173,8 +182,8 @@ GNUNET_GTK_edit_publication_window_realize_cb (GtkWidget *widget, | |||
173 | 182 | ||
174 | 183 | ||
175 | void | 184 | void |
176 | GNUNET_GTK_edit_publication_add_button_clicked_cb (GtkButton *button, | 185 | GNUNET_GTK_edit_publication_add_button_clicked_cb (GtkButton * button, |
177 | gpointer user_data) | 186 | gpointer user_data) |
178 | { | 187 | { |
179 | GtkBuilder *builder; | 188 | GtkBuilder *builder; |
180 | GtkTreeView *meta_tree; | 189 | GtkTreeView *meta_tree; |
@@ -182,29 +191,37 @@ GNUNET_GTK_edit_publication_add_button_clicked_cb (GtkButton *button, | |||
182 | GtkTreeIter iter; | 191 | GtkTreeIter iter; |
183 | 192 | ||
184 | builder = GTK_BUILDER (user_data); | 193 | builder = GTK_BUILDER (user_data); |
185 | meta_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 194 | meta_tree = |
186 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | 195 | GTK_TREE_VIEW (gtk_builder_get_object |
196 | (builder, | ||
197 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | ||
187 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); | 198 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); |
188 | 199 | ||
189 | gtk_list_store_insert (meta_list, &iter, 0); | 200 | gtk_list_store_insert (meta_list, &iter, 0); |
190 | /* type == 0 means "not set" */ | 201 | /* type == 0 means "not set" */ |
191 | gtk_list_store_set (meta_list, &iter, 0, 0, 1, EXTRACTOR_METAFORMAT_UTF8, | 202 | gtk_list_store_set (meta_list, &iter, 0, 0, 1, EXTRACTOR_METAFORMAT_UTF8, 2, |
192 | 2, _("Select a type"), 3, _("Specify a value"), 4, NULL, -1); | 203 | _("Select a type"), 3, _("Specify a value"), 4, NULL, -1); |
193 | } | 204 | } |
194 | 205 | ||
195 | 206 | ||
196 | gboolean | 207 | gboolean |
197 | GNUNET_GTK_edit_publication_keyword_entry_key_press_event_cb (GtkWidget *widget, | 208 | GNUNET_GTK_edit_publication_keyword_entry_key_press_event_cb (GtkWidget * |
198 | GdkEventKey *event, gpointer user_data) | 209 | widget, |
210 | GdkEventKey * | ||
211 | event, | ||
212 | gpointer | ||
213 | user_data) | ||
199 | { | 214 | { |
200 | GtkBuilder *builder; | 215 | GtkBuilder *builder; |
201 | GtkButton *add_button; | 216 | GtkButton *add_button; |
217 | |||
202 | builder = GTK_BUILDER (user_data); | 218 | builder = GTK_BUILDER (user_data); |
203 | 219 | ||
204 | if (event->keyval == GDK_KEY_Return) | 220 | if (event->keyval == GDK_KEY_Return) |
205 | { | 221 | { |
206 | add_button = GTK_BUTTON (gtk_builder_get_object (builder, | 222 | add_button = |
207 | "GNUNET_GTK_edit_publication_add_button")); | 223 | GTK_BUTTON (gtk_builder_get_object |
224 | (builder, "GNUNET_GTK_edit_publication_add_button")); | ||
208 | GNUNET_GTK_edit_publication_add_button_clicked_cb (add_button, user_data); | 225 | GNUNET_GTK_edit_publication_add_button_clicked_cb (add_button, user_data); |
209 | return TRUE; | 226 | return TRUE; |
210 | } | 227 | } |
@@ -212,10 +229,9 @@ GNUNET_GTK_edit_publication_keyword_entry_key_press_event_cb (GtkWidget *widget, | |||
212 | } | 229 | } |
213 | 230 | ||
214 | 231 | ||
215 | void | 232 | void GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_edited_cb |
216 | GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_edited_cb (GtkCellRendererText *renderer, | 233 | (GtkCellRendererText * renderer, gchar * path, gchar * new_text, |
217 | gchar *path, gchar *new_text, | 234 | gpointer user_data) |
218 | gpointer user_data) | ||
219 | { | 235 | { |
220 | GtkBuilder *builder; | 236 | GtkBuilder *builder; |
221 | GtkTreeView *meta_tree; | 237 | GtkTreeView *meta_tree; |
@@ -228,14 +244,19 @@ GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_edited_cb (GtkCellR | |||
228 | GtkTreeIter *pass_data = NULL; | 244 | GtkTreeIter *pass_data = NULL; |
229 | 245 | ||
230 | builder = GTK_BUILDER (user_data); | 246 | builder = GTK_BUILDER (user_data); |
231 | meta_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 247 | meta_tree = |
232 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | 248 | GTK_TREE_VIEW (gtk_builder_get_object |
249 | (builder, | ||
250 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | ||
233 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); | 251 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); |
234 | if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (meta_list), &iter, path)) | 252 | if (!gtk_tree_model_get_iter_from_string |
253 | (GTK_TREE_MODEL (meta_list), &iter, path)) | ||
235 | return; | 254 | return; |
236 | 255 | ||
237 | combo = GTK_CELL_RENDERER_COMBO (gtk_builder_get_object (builder, | 256 | combo = |
238 | "GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer")); | 257 | GTK_CELL_RENDERER_COMBO (gtk_builder_get_object |
258 | (builder, | ||
259 | "GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer")); | ||
239 | 260 | ||
240 | pass_data = g_object_get_data (G_OBJECT (combo), "selected-type"); | 261 | pass_data = g_object_get_data (G_OBJECT (combo), "selected-type"); |
241 | if (!pass_data) | 262 | if (!pass_data) |
@@ -247,15 +268,15 @@ GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_edited_cb (GtkCellR | |||
247 | g_object_set_data (G_OBJECT (combo), "selected-type", NULL); | 268 | g_object_set_data (G_OBJECT (combo), "selected-type", NULL); |
248 | 269 | ||
249 | gtk_list_store_set (meta_list, &iter, 0, type_id, 1, | 270 | gtk_list_store_set (meta_list, &iter, 0, type_id, 1, |
250 | EXTRACTOR_METAFORMAT_UTF8, 2, new_text, 4, description, -1); | 271 | EXTRACTOR_METAFORMAT_UTF8, 2, new_text, 4, description, |
272 | -1); | ||
251 | g_free (description); | 273 | g_free (description); |
252 | } | 274 | } |
253 | 275 | ||
254 | 276 | ||
255 | void | 277 | void GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_changed_cb |
256 | GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_changed_cb ( | 278 | (GtkCellRendererCombo * combo, gchar * path_string, GtkTreeIter * new_iter, |
257 | GtkCellRendererCombo *combo, gchar *path_string, GtkTreeIter *new_iter, | 279 | gpointer user_data) |
258 | gpointer user_data) | ||
259 | { | 280 | { |
260 | GtkTreeIter *pass_data; | 281 | GtkTreeIter *pass_data; |
261 | 282 | ||
@@ -268,10 +289,9 @@ GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_changed_cb ( | |||
268 | } | 289 | } |
269 | 290 | ||
270 | 291 | ||
271 | void | 292 | void GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb |
272 | GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb ( | 293 | (GtkCellRendererText * renderer, gchar * path, gchar * new_text, |
273 | GtkCellRendererText *renderer, gchar *path, gchar *new_text, | 294 | gpointer user_data) |
274 | gpointer user_data) | ||
275 | { | 295 | { |
276 | GtkBuilder *builder; | 296 | GtkBuilder *builder; |
277 | GtkTreeView *meta_tree; | 297 | GtkTreeView *meta_tree; |
@@ -287,14 +307,17 @@ GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb ( | |||
287 | struct EditPublicationState *state = NULL; | 307 | struct EditPublicationState *state = NULL; |
288 | 308 | ||
289 | builder = GTK_BUILDER (user_data); | 309 | builder = GTK_BUILDER (user_data); |
290 | meta_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 310 | meta_tree = |
291 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | 311 | GTK_TREE_VIEW (gtk_builder_get_object |
312 | (builder, | ||
313 | "GNUNET_GTK_edit_publication_metadata_tree_view")); | ||
292 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); | 314 | meta_list = GTK_LIST_STORE (gtk_tree_view_get_model (meta_tree)); |
293 | if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (meta_list), &iter, path)) | 315 | if (!gtk_tree_model_get_iter_from_string |
316 | (GTK_TREE_MODEL (meta_list), &iter, path)) | ||
294 | return; | 317 | return; |
295 | 318 | ||
296 | pubwindow = gtk_builder_get_object (builder, | 319 | pubwindow = |
297 | "GNUNET_GTK_edit_publication_window"); | 320 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
298 | state = g_object_get_data (pubwindow, PUBSTATE); | 321 | state = g_object_get_data (pubwindow, PUBSTATE); |
299 | if (!state) | 322 | if (!state) |
300 | { | 323 | { |
@@ -303,9 +326,8 @@ GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb ( | |||
303 | } | 326 | } |
304 | 327 | ||
305 | gtk_tree_model_get (GTK_TREE_MODEL (meta_list), &iter, 0, &metatype, -1); | 328 | gtk_tree_model_get (GTK_TREE_MODEL (meta_list), &iter, 0, &metatype, -1); |
306 | if (metatype == EXTRACTOR_METATYPE_FILENAME | 329 | if (metatype == EXTRACTOR_METATYPE_FILENAME && |
307 | && new_text[strlen (new_text) - 1] != '/' | 330 | new_text[strlen (new_text) - 1] != '/' && state->is_directory) |
308 | && state->is_directory) | ||
309 | { | 331 | { |
310 | GNUNET_asprintf (&avalue, "%s/", new_text); | 332 | GNUNET_asprintf (&avalue, "%s/", new_text); |
311 | /* if user typed '\' instead of '/', change it! */ | 333 | /* if user typed '\' instead of '/', change it! */ |
@@ -318,7 +340,7 @@ GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb ( | |||
318 | } | 340 | } |
319 | while (NULL != (pos = strstr (avalue, "\\"))) | 341 | while (NULL != (pos = strstr (avalue, "\\"))) |
320 | *pos = '/'; | 342 | *pos = '/'; |
321 | // remove '../' everywhere | 343 | // remove '../' everywhere |
322 | while (NULL != (pos = strstr (avalue, "../"))) | 344 | while (NULL != (pos = strstr (avalue, "../"))) |
323 | { | 345 | { |
324 | pos[0] = '_'; | 346 | pos[0] = '_'; |
@@ -339,8 +361,8 @@ GNUNET_GTK_edit_publication_metadata_tree_view_value_renderer_edited_cb ( | |||
339 | 361 | ||
340 | 362 | ||
341 | void | 363 | void |
342 | GNUNET_GTK_edit_publication_delete_button_clicked_cb (GtkButton *button, | 364 | GNUNET_GTK_edit_publication_delete_button_clicked_cb (GtkButton * button, |
343 | gpointer user_data) | 365 | gpointer user_data) |
344 | { | 366 | { |
345 | GtkTreeView *tv; | 367 | GtkTreeView *tv; |
346 | GtkTreeSelection *sel; | 368 | GtkTreeSelection *sel; |
@@ -363,8 +385,10 @@ GNUNET_GTK_edit_publication_delete_button_clicked_cb (GtkButton *button, | |||
363 | 385 | ||
364 | 386 | ||
365 | void | 387 | void |
366 | GNUNET_GTK_edit_publication_keyword_list_add_button_clicked_cb ( | 388 | GNUNET_GTK_edit_publication_keyword_list_add_button_clicked_cb (GtkButton * |
367 | GtkButton *button, gpointer user_data) | 389 | button, |
390 | gpointer | ||
391 | user_data) | ||
368 | { | 392 | { |
369 | const char *keyword; | 393 | const char *keyword; |
370 | GtkEntry *entry; | 394 | GtkEntry *entry; |
@@ -383,9 +407,10 @@ GNUNET_GTK_edit_publication_keyword_list_add_button_clicked_cb ( | |||
383 | keyword = gtk_entry_get_text (entry); | 407 | keyword = gtk_entry_get_text (entry); |
384 | if (strlen (keyword) > 0) | 408 | if (strlen (keyword) > 0) |
385 | { | 409 | { |
386 | gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, keyword, 1, TRUE, -1); | 410 | gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, keyword, 1, TRUE, |
387 | ok = GTK_WIDGET (gtk_builder_get_object (builder, | 411 | -1); |
388 | "GNUNET_GTK_edit_publication_confirm_button")); | 412 | ok = GTK_WIDGET (gtk_builder_get_object |
413 | (builder, "GNUNET_GTK_edit_publication_confirm_button")); | ||
389 | gtk_widget_set_sensitive (ok, TRUE); | 414 | gtk_widget_set_sensitive (ok, TRUE); |
390 | } | 415 | } |
391 | gtk_entry_set_text (entry, ""); | 416 | gtk_entry_set_text (entry, ""); |
@@ -393,27 +418,29 @@ GNUNET_GTK_edit_publication_keyword_list_add_button_clicked_cb ( | |||
393 | 418 | ||
394 | 419 | ||
395 | static gboolean | 420 | static gboolean |
396 | gtk_tree_model_has_items_cb (GtkTreeModel *model, GtkTreePath *path, | 421 | gtk_tree_model_has_items_cb (GtkTreeModel * model, GtkTreePath * path, |
397 | GtkTreeIter *iter, gpointer data) | 422 | GtkTreeIter * iter, gpointer data) |
398 | { | 423 | { |
399 | gboolean *val = (gboolean *) data; | 424 | gboolean *val = (gboolean *) data; |
425 | |||
400 | *val = TRUE; | 426 | *val = TRUE; |
401 | return TRUE; | 427 | return TRUE; |
402 | } | 428 | } |
403 | 429 | ||
404 | 430 | ||
405 | static gboolean | 431 | static gboolean |
406 | gtk_tree_model_has_items (GtkTreeModel *model) | 432 | gtk_tree_model_has_items (GtkTreeModel * model) |
407 | { | 433 | { |
408 | gboolean b = FALSE; | 434 | gboolean b = FALSE; |
435 | |||
409 | gtk_tree_model_foreach (model, >k_tree_model_has_items_cb, &b); | 436 | gtk_tree_model_foreach (model, >k_tree_model_has_items_cb, &b); |
410 | return b; | 437 | return b; |
411 | } | 438 | } |
412 | 439 | ||
413 | 440 | ||
414 | void | 441 | void |
415 | GNUNET_GTK_edit_publication_keyword_entry_changed_cb (GtkEditable *editable, | 442 | GNUNET_GTK_edit_publication_keyword_entry_changed_cb (GtkEditable * editable, |
416 | gpointer user_data) | 443 | gpointer user_data) |
417 | { | 444 | { |
418 | const char *keyword; | 445 | const char *keyword; |
419 | GtkEntry *entry; | 446 | GtkEntry *entry; |
@@ -435,8 +462,10 @@ GNUNET_GTK_edit_publication_keyword_entry_changed_cb (GtkEditable *editable, | |||
435 | 462 | ||
436 | 463 | ||
437 | void | 464 | void |
438 | GNUNET_GTK_edit_publication_keyword_list_del_button_clicked_cb ( | 465 | GNUNET_GTK_edit_publication_keyword_list_del_button_clicked_cb (GtkButton * |
439 | GtkButton *button, gpointer user_data) | 466 | button, |
467 | gpointer | ||
468 | user_data) | ||
440 | { | 469 | { |
441 | GtkTreeView *tv; | 470 | GtkTreeView *tv; |
442 | GtkTreeSelection *sel; | 471 | GtkTreeSelection *sel; |
@@ -446,6 +475,7 @@ GNUNET_GTK_edit_publication_keyword_list_del_button_clicked_cb ( | |||
446 | GtkWidget *ok; | 475 | GtkWidget *ok; |
447 | GObject *pubwindow; | 476 | GObject *pubwindow; |
448 | struct EditPublicationState *state = NULL; | 477 | struct EditPublicationState *state = NULL; |
478 | |||
449 | builder = GTK_BUILDER (user_data); | 479 | builder = GTK_BUILDER (user_data); |
450 | 480 | ||
451 | tv = GTK_TREE_VIEW (gtk_builder_get_object | 481 | tv = GTK_TREE_VIEW (gtk_builder_get_object |
@@ -461,11 +491,11 @@ GNUNET_GTK_edit_publication_keyword_list_del_button_clicked_cb ( | |||
461 | if (gtk_list_store_remove (GTK_LIST_STORE (tm), &iter)) | 491 | if (gtk_list_store_remove (GTK_LIST_STORE (tm), &iter)) |
462 | gtk_tree_selection_select_iter (sel, &iter); | 492 | gtk_tree_selection_select_iter (sel, &iter); |
463 | 493 | ||
464 | ok = GTK_WIDGET (gtk_builder_get_object (builder, | 494 | ok = GTK_WIDGET (gtk_builder_get_object |
465 | "GNUNET_GTK_edit_publication_confirm_button")); | 495 | (builder, "GNUNET_GTK_edit_publication_confirm_button")); |
466 | 496 | ||
467 | pubwindow = gtk_builder_get_object (builder, | 497 | pubwindow = |
468 | "GNUNET_GTK_edit_publication_window"); | 498 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
469 | state = g_object_get_data (pubwindow, PUBSTATE); | 499 | state = g_object_get_data (pubwindow, PUBSTATE); |
470 | if (!state) | 500 | if (!state) |
471 | { | 501 | { |
@@ -478,9 +508,7 @@ GNUNET_GTK_edit_publication_keyword_list_del_button_clicked_cb ( | |||
478 | } | 508 | } |
479 | 509 | ||
480 | 510 | ||
481 | void | 511 | void GNUNET_GTK_edit_publication_metadata_preview_file_chooser_button_file_set_cb (GtkFileChooserButton * widget, gpointer user_data) |
482 | GNUNET_GTK_edit_publication_metadata_preview_file_chooser_button_file_set_cb ( | ||
483 | GtkFileChooserButton *widget, gpointer user_data) | ||
484 | { | 512 | { |
485 | gchar *fn; | 513 | gchar *fn; |
486 | GtkImage *image; | 514 | GtkImage *image; |
@@ -488,8 +516,8 @@ GNUNET_GTK_edit_publication_metadata_preview_file_chooser_button_file_set_cb ( | |||
488 | GtkBuilder *builder = GTK_BUILDER (user_data); | 516 | GtkBuilder *builder = GTK_BUILDER (user_data); |
489 | struct EditPublicationState *state = NULL; | 517 | struct EditPublicationState *state = NULL; |
490 | 518 | ||
491 | pubwindow = gtk_builder_get_object (builder, | 519 | pubwindow = |
492 | "GNUNET_GTK_edit_publication_window"); | 520 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
493 | state = g_object_get_data (pubwindow, PUBSTATE); | 521 | state = g_object_get_data (pubwindow, PUBSTATE); |
494 | if (!state) | 522 | if (!state) |
495 | { | 523 | { |
@@ -555,8 +583,8 @@ preserve_meta_items (void *cls, const char *plugin_name, | |||
555 | GObject *pubwindow; | 583 | GObject *pubwindow; |
556 | struct EditPublicationState *state = NULL; | 584 | struct EditPublicationState *state = NULL; |
557 | 585 | ||
558 | pubwindow = gtk_builder_get_object (builder, | 586 | pubwindow = |
559 | "GNUNET_GTK_edit_publication_window"); | 587 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
560 | state = g_object_get_data (pubwindow, PUBSTATE); | 588 | state = g_object_get_data (pubwindow, PUBSTATE); |
561 | if (!state) | 589 | if (!state) |
562 | { | 590 | { |
@@ -570,7 +598,8 @@ preserve_meta_items (void *cls, const char *plugin_name, | |||
570 | case EXTRACTOR_METAFORMAT_UTF8: | 598 | case EXTRACTOR_METAFORMAT_UTF8: |
571 | case EXTRACTOR_METAFORMAT_C_STRING: | 599 | case EXTRACTOR_METAFORMAT_C_STRING: |
572 | tm = GTK_TREE_MODEL (gtk_builder_get_object | 600 | tm = GTK_TREE_MODEL (gtk_builder_get_object |
573 | (builder, "GNUNET_GTK_publication_metadata_liststore")); | 601 | (builder, |
602 | "GNUNET_GTK_publication_metadata_liststore")); | ||
574 | if (TRUE == gtk_tree_model_get_iter_first (tm, &iter)) | 603 | if (TRUE == gtk_tree_model_get_iter_first (tm, &iter)) |
575 | { | 604 | { |
576 | do | 605 | do |
@@ -650,8 +679,8 @@ file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
650 | GObject *pubwindow; | 679 | GObject *pubwindow; |
651 | struct EditPublicationState *state = NULL; | 680 | struct EditPublicationState *state = NULL; |
652 | 681 | ||
653 | pubwindow = gtk_builder_get_object (builder, | 682 | pubwindow = |
654 | "GNUNET_GTK_edit_publication_window"); | 683 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
655 | state = g_object_get_data (pubwindow, PUBSTATE); | 684 | state = g_object_get_data (pubwindow, PUBSTATE); |
656 | if (!state) | 685 | if (!state) |
657 | { | 686 | { |
@@ -659,8 +688,9 @@ file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
659 | return GNUNET_SYSERR; | 688 | return GNUNET_SYSERR; |
660 | } | 689 | } |
661 | 690 | ||
662 | if (!GNUNET_GTK_get_selected_anonymity_level (builder, | 691 | if (!GNUNET_GTK_get_selected_anonymity_level |
663 | "GNUNET_GTK_edit_publication_anonymity_combobox", &bo->anonymity_level)) | 692 | (builder, "GNUNET_GTK_edit_publication_anonymity_combobox", |
693 | &bo->anonymity_level)) | ||
664 | return GNUNET_SYSERR; | 694 | return GNUNET_SYSERR; |
665 | bo->content_priority = | 695 | bo->content_priority = |
666 | gtk_spin_button_get_value (GTK_SPIN_BUTTON | 696 | gtk_spin_button_get_value (GTK_SPIN_BUTTON |
@@ -677,14 +707,14 @@ file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
677 | "GNUNET_GTK_edit_publication_expiration_year_spin_button")); | 707 | "GNUNET_GTK_edit_publication_expiration_year_spin_button")); |
678 | bo->expiration_time = GNUNET_FS_GTK_get_expiration_time (sb); | 708 | bo->expiration_time = GNUNET_FS_GTK_get_expiration_time (sb); |
679 | 709 | ||
680 | if (! context->allow_no_keywords) | 710 | if (!context->allow_no_keywords) |
681 | { | 711 | { |
682 | g_free (context->root); | 712 | g_free (context->root); |
683 | context->root = | 713 | context->root = |
684 | g_strdup (gtk_entry_get_text (GTK_ENTRY | 714 | g_strdup (gtk_entry_get_text |
685 | (gtk_builder_get_object | 715 | (GTK_ENTRY |
686 | (builder, | 716 | (gtk_builder_get_object |
687 | "GNUNET_GTK_edit_publication_root_entry")))); | 717 | (builder, "GNUNET_GTK_edit_publication_root_entry")))); |
688 | } | 718 | } |
689 | /* update URI */ | 719 | /* update URI */ |
690 | if (NULL != (*uri)) | 720 | if (NULL != (*uri)) |
@@ -726,7 +756,8 @@ file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
726 | gtk_tree_model_get (tm, &iter, 0, &ntype, 1, &nformat, 3, &value, -1); | 756 | gtk_tree_model_get (tm, &iter, 0, &ntype, 1, &nformat, 3, &value, -1); |
727 | if (ntype > 0) | 757 | if (ntype > 0) |
728 | GNUNET_CONTAINER_meta_data_insert (nm, "<user>", ntype, nformat, | 758 | GNUNET_CONTAINER_meta_data_insert (nm, "<user>", ntype, nformat, |
729 | "text/plain", value, strlen (value) + 1); | 759 | "text/plain", value, |
760 | strlen (value) + 1); | ||
730 | g_free (value); | 761 | g_free (value); |
731 | } | 762 | } |
732 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); | 763 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); |
@@ -775,8 +806,8 @@ file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
775 | 806 | ||
776 | 807 | ||
777 | void | 808 | void |
778 | GNUNET_GTK_edit_publication_cancel_button_clicked_cb ( | 809 | GNUNET_GTK_edit_publication_cancel_button_clicked_cb (GtkButton * button, |
779 | GtkButton *button, gpointer user_data) | 810 | gpointer user_data) |
780 | { | 811 | { |
781 | GtkBuilder *builder; | 812 | GtkBuilder *builder; |
782 | GObject *pubwindow; | 813 | GObject *pubwindow; |
@@ -784,8 +815,8 @@ GNUNET_GTK_edit_publication_cancel_button_clicked_cb ( | |||
784 | 815 | ||
785 | builder = GTK_BUILDER (user_data); | 816 | builder = GTK_BUILDER (user_data); |
786 | 817 | ||
787 | pubwindow = gtk_builder_get_object (builder, | 818 | pubwindow = |
788 | "GNUNET_GTK_edit_publication_window"); | 819 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
789 | state = g_object_get_data (pubwindow, PUBSTATE); | 820 | state = g_object_get_data (pubwindow, PUBSTATE); |
790 | if (!state) | 821 | if (!state) |
791 | { | 822 | { |
@@ -794,7 +825,8 @@ GNUNET_GTK_edit_publication_cancel_button_clicked_cb ( | |||
794 | } | 825 | } |
795 | 826 | ||
796 | state->cb (state->cls, state->do_index, state->short_fn, | 827 | state->cb (state->cls, state->do_index, state->short_fn, |
797 | state->anonymity_level, state->priority, NULL, GTK_RESPONSE_CANCEL); | 828 | state->anonymity_level, state->priority, NULL, |
829 | GTK_RESPONSE_CANCEL); | ||
798 | g_free (state); | 830 | g_free (state); |
799 | g_object_set_data (pubwindow, PUBSTATE, NULL); | 831 | g_object_set_data (pubwindow, PUBSTATE, NULL); |
800 | gtk_widget_hide (GTK_WIDGET (pubwindow)); | 832 | gtk_widget_hide (GTK_WIDGET (pubwindow)); |
@@ -802,7 +834,8 @@ GNUNET_GTK_edit_publication_cancel_button_clicked_cb ( | |||
802 | 834 | ||
803 | 835 | ||
804 | void | 836 | void |
805 | GNUNET_GTK_edit_publication_confirm_button_clicked_cb (GtkButton *button, gpointer user_data) | 837 | GNUNET_GTK_edit_publication_confirm_button_clicked_cb (GtkButton * button, |
838 | gpointer user_data) | ||
806 | { | 839 | { |
807 | GtkBuilder *builder; | 840 | GtkBuilder *builder; |
808 | GObject *pubwindow; | 841 | GObject *pubwindow; |
@@ -811,8 +844,8 @@ GNUNET_GTK_edit_publication_confirm_button_clicked_cb (GtkButton *button, gpoint | |||
811 | 844 | ||
812 | builder = GTK_BUILDER (user_data); | 845 | builder = GTK_BUILDER (user_data); |
813 | 846 | ||
814 | pubwindow = gtk_builder_get_object (builder, | 847 | pubwindow = |
815 | "GNUNET_GTK_edit_publication_window"); | 848 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
816 | state = g_object_get_data (pubwindow, PUBSTATE); | 849 | state = g_object_get_data (pubwindow, PUBSTATE); |
817 | if (!state) | 850 | if (!state) |
818 | { | 851 | { |
@@ -826,29 +859,27 @@ GNUNET_GTK_edit_publication_confirm_button_clicked_cb (GtkButton *button, gpoint | |||
826 | ctx.md = NULL; | 859 | ctx.md = NULL; |
827 | ctx.allow_no_keywords = state->allow_no_keywords; | 860 | ctx.allow_no_keywords = state->allow_no_keywords; |
828 | 861 | ||
829 | GNUNET_FS_file_information_inspect (state->fip, &file_information_update, &ctx); | 862 | GNUNET_FS_file_information_inspect (state->fip, &file_information_update, |
863 | &ctx); | ||
830 | state->short_fn = ctx.short_fn; | 864 | state->short_fn = ctx.short_fn; |
831 | if (!GNUNET_GTK_get_selected_anonymity_level (builder, | 865 | if (!GNUNET_GTK_get_selected_anonymity_level |
832 | "GNUNET_GTK_edit_publication_anonymity_combobox", | 866 | (builder, "GNUNET_GTK_edit_publication_anonymity_combobox", |
833 | &state->anonymity_level)) | 867 | &state->anonymity_level)) |
834 | state->priority = | 868 | state->priority = |
835 | gtk_spin_button_get_value (GTK_SPIN_BUTTON | 869 | gtk_spin_button_get_value (GTK_SPIN_BUTTON |
836 | (gtk_builder_get_object | 870 | (gtk_builder_get_object |
837 | (builder, | 871 | (builder, |
838 | "GNUNET_GTK_edit_publication_priority_spin_button"))); | 872 | "GNUNET_GTK_edit_publication_priority_spin_button"))); |
839 | state->do_index = | 873 | state->do_index = |
840 | gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON | 874 | gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON |
841 | (gtk_builder_get_object | 875 | (gtk_builder_get_object |
842 | (builder, | 876 | (builder, |
843 | "GNUNET_GTK_edit_publication_index_checkbutton"))); | 877 | "GNUNET_GTK_edit_publication_index_checkbutton"))); |
844 | 878 | ||
845 | 879 | ||
846 | state->cb (state->cls, | 880 | state->cb (state->cls, state->do_index, state->short_fn, |
847 | state->do_index, | 881 | state->anonymity_level, state->priority, ctx.root, |
848 | state->short_fn, | 882 | GTK_RESPONSE_OK); |
849 | state->anonymity_level, | ||
850 | state->priority, ctx.root, | ||
851 | GTK_RESPONSE_OK); | ||
852 | GNUNET_free_non_null (state->short_fn); | 883 | GNUNET_free_non_null (state->short_fn); |
853 | GNUNET_free (state); | 884 | GNUNET_free (state); |
854 | g_object_set_data (pubwindow, PUBSTATE, NULL); | 885 | g_object_set_data (pubwindow, PUBSTATE, NULL); |
@@ -856,15 +887,18 @@ GNUNET_GTK_edit_publication_confirm_button_clicked_cb (GtkButton *button, gpoint | |||
856 | } | 887 | } |
857 | 888 | ||
858 | gboolean | 889 | gboolean |
859 | GNUNET_GTK_edit_publication_window_delete_event_cb (GtkWidget *widget, | 890 | GNUNET_GTK_edit_publication_window_delete_event_cb (GtkWidget * widget, |
860 | GdkEvent *event, gpointer user_data) | 891 | GdkEvent * event, |
892 | gpointer user_data) | ||
861 | { | 893 | { |
862 | GtkBuilder *builder; | 894 | GtkBuilder *builder; |
863 | GtkButton *button; | 895 | GtkButton *button; |
896 | |||
864 | builder = GTK_BUILDER (user_data); | 897 | builder = GTK_BUILDER (user_data); |
865 | 898 | ||
866 | button = GTK_BUTTON (gtk_builder_get_object (builder, | 899 | button = |
867 | "GNUNET_GTK_edit_publication_cancel_button")); | 900 | GTK_BUTTON (gtk_builder_get_object |
901 | (builder, "GNUNET_GTK_edit_publication_cancel_button")); | ||
868 | 902 | ||
869 | GNUNET_GTK_edit_publication_cancel_button_clicked_cb (button, user_data); | 903 | GNUNET_GTK_edit_publication_cancel_button_clicked_cb (button, user_data); |
870 | return TRUE; | 904 | return TRUE; |
@@ -885,7 +919,8 @@ add_keyword (void *cls, const char *keyword, int is_mandatory) | |||
885 | GtkTreeIter iter; | 919 | GtkTreeIter iter; |
886 | 920 | ||
887 | ls = GTK_LIST_STORE (cls); | 921 | ls = GTK_LIST_STORE (cls); |
888 | gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, keyword, 1, FALSE, -1); | 922 | gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, keyword, 1, FALSE, |
923 | -1); | ||
889 | return GNUNET_OK; | 924 | return GNUNET_OK; |
890 | } | 925 | } |
891 | 926 | ||
@@ -924,9 +959,12 @@ file_information_extract (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
924 | GNUNET_FS_uri_ksk_get_keywords (*uri, &add_keyword, ls); | 959 | GNUNET_FS_uri_ksk_get_keywords (*uri, &add_keyword, ls); |
925 | if (NULL != meta) | 960 | if (NULL != meta) |
926 | { | 961 | { |
927 | ls = GTK_LIST_STORE (gtk_builder_get_object (builder, | 962 | ls = GTK_LIST_STORE (gtk_builder_get_object |
928 | "GNUNET_GTK_publication_metadata_liststore")); | 963 | (builder, |
929 | GNUNET_CONTAINER_meta_data_iterate (meta, &GNUNET_FS_GTK_add_meta_data_to_list_store, ls); | 964 | "GNUNET_GTK_publication_metadata_liststore")); |
965 | GNUNET_CONTAINER_meta_data_iterate (meta, | ||
966 | &GNUNET_FS_GTK_add_meta_data_to_list_store, | ||
967 | ls); | ||
930 | pixbuf = GNUNET_FS_GTK_get_thumbnail_from_meta_data (meta); | 968 | pixbuf = GNUNET_FS_GTK_get_thumbnail_from_meta_data (meta); |
931 | if (pixbuf != NULL) | 969 | if (pixbuf != NULL) |
932 | { | 970 | { |
@@ -944,7 +982,8 @@ file_information_extract (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
944 | "GNUNET_GTK_edit_publication_expiration_year_spin_button")), | 982 | "GNUNET_GTK_edit_publication_expiration_year_spin_button")), |
945 | year); | 983 | year); |
946 | GNUNET_GTK_select_anonymity_level (builder, | 984 | GNUNET_GTK_select_anonymity_level (builder, |
947 | "GNUNET_GTK_edit_publication_anonymity_combobox", bo->anonymity_level); | 985 | "GNUNET_GTK_edit_publication_anonymity_combobox", |
986 | bo->anonymity_level); | ||
948 | gtk_spin_button_set_value (GTK_SPIN_BUTTON | 987 | gtk_spin_button_set_value (GTK_SPIN_BUTTON |
949 | (gtk_builder_get_object | 988 | (gtk_builder_get_object |
950 | (builder, | 989 | (builder, |
@@ -964,15 +1003,13 @@ file_information_extract (void *cls, struct GNUNET_FS_FileInformation *fi, | |||
964 | * short_fn MUST be UTF-8-encoded | 1003 | * short_fn MUST be UTF-8-encoded |
965 | */ | 1004 | */ |
966 | void | 1005 | void |
967 | GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder *builder, | 1006 | GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder * builder, GtkWindow * parent, |
968 | GtkWindow *parent, | 1007 | int do_index, const char *short_fn, |
969 | int do_index, | 1008 | uint32_t anonymity_level, uint32_t priority, |
970 | const char *short_fn, | 1009 | struct GNUNET_FS_FileInformation *fip, |
971 | uint32_t anonymity_level, | 1010 | gboolean allow_no_keywords, |
972 | uint32_t priority, | 1011 | GNUNET_FS_GTK_EditPublishDialogCallback cb, |
973 | struct GNUNET_FS_FileInformation *fip, | 1012 | gpointer cls) |
974 | gboolean allow_no_keywords, | ||
975 | GNUNET_FS_GTK_EditPublishDialogCallback cb, gpointer cls) | ||
976 | { | 1013 | { |
977 | GtkWidget *dialog; | 1014 | GtkWidget *dialog; |
978 | GObject *pubwindow; | 1015 | GObject *pubwindow; |
@@ -994,32 +1031,40 @@ GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder *builder, | |||
994 | "GNUNET_GTK_edit_publication_index_checkbutton"))); | 1031 | "GNUNET_GTK_edit_publication_index_checkbutton"))); |
995 | gtk_widget_hide (GTK_WIDGET | 1032 | gtk_widget_hide (GTK_WIDGET |
996 | (gtk_builder_get_object | 1033 | (gtk_builder_get_object |
997 | (builder, | 1034 | (builder, "GNUNET_GTK_edit_publication_index_label"))); |
998 | "GNUNET_GTK_edit_publication_index_label"))); | ||
999 | } | 1035 | } |
1000 | if (allow_no_keywords) | 1036 | if (allow_no_keywords) |
1001 | { | 1037 | { |
1002 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, | 1038 | gtk_widget_hide (GTK_WIDGET |
1003 | "GNUNET_GTK_edit_publication_root_entry"))); | 1039 | (gtk_builder_get_object |
1004 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, | 1040 | (builder, "GNUNET_GTK_edit_publication_root_entry"))); |
1005 | "GNUNET_GTK_edit_publication_root_label"))); | 1041 | gtk_widget_hide (GTK_WIDGET |
1042 | (gtk_builder_get_object | ||
1043 | (builder, "GNUNET_GTK_edit_publication_root_label"))); | ||
1006 | } | 1044 | } |
1007 | gtk_list_store_clear (GTK_LIST_STORE (gtk_builder_get_object ( | 1045 | gtk_list_store_clear (GTK_LIST_STORE |
1008 | builder, "GNUNET_GTK_publication_keywords_liststore"))); | 1046 | (gtk_builder_get_object |
1009 | gtk_list_store_clear (GTK_LIST_STORE (gtk_builder_get_object ( | 1047 | (builder, |
1010 | builder, "GNUNET_GTK_publication_metadata_liststore"))); | 1048 | "GNUNET_GTK_publication_keywords_liststore"))); |
1049 | gtk_list_store_clear (GTK_LIST_STORE | ||
1050 | (gtk_builder_get_object | ||
1051 | (builder, | ||
1052 | "GNUNET_GTK_publication_metadata_liststore"))); | ||
1011 | 1053 | ||
1012 | GNUNET_FS_file_information_inspect (fip, &file_information_extract, builder); | 1054 | GNUNET_FS_file_information_inspect (fip, &file_information_extract, builder); |
1013 | dialog = GTK_WIDGET (gtk_builder_get_object (builder, | 1055 | dialog = |
1014 | "GNUNET_GTK_edit_publication_window")); | 1056 | GTK_WIDGET (gtk_builder_get_object |
1057 | (builder, "GNUNET_GTK_edit_publication_window")); | ||
1015 | if (NULL != short_fn) | 1058 | if (NULL != short_fn) |
1016 | gtk_window_set_title (GTK_WINDOW (dialog), short_fn); | 1059 | gtk_window_set_title (GTK_WINDOW (dialog), short_fn); |
1017 | else | 1060 | else |
1018 | gtk_window_set_title (GTK_WINDOW (dialog), _("<unnamed>")); | 1061 | gtk_window_set_title (GTK_WINDOW (dialog), _("<unnamed>")); |
1019 | pubtypes_list = GTK_LIST_STORE (gtk_builder_get_object (builder, | 1062 | pubtypes_list = |
1020 | "GNUNET_GTK_publication_types_liststore")); | 1063 | GTK_LIST_STORE (gtk_builder_get_object |
1021 | pubtypes_combo = GTK_COMBO_BOX (gtk_builder_get_object (builder, | 1064 | (builder, "GNUNET_GTK_publication_types_liststore")); |
1022 | "GNUNET_GTK_edit_publication_type_combo")); | 1065 | pubtypes_combo = |
1066 | GTK_COMBO_BOX (gtk_builder_get_object | ||
1067 | (builder, "GNUNET_GTK_edit_publication_type_combo")); | ||
1023 | 1068 | ||
1024 | if (gtk_combo_box_get_active_iter (pubtypes_combo, &iter)) | 1069 | if (gtk_combo_box_get_active_iter (pubtypes_combo, &iter)) |
1025 | { | 1070 | { |
@@ -1046,11 +1091,11 @@ GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder *builder, | |||
1046 | GTK_ENTRY (gtk_builder_get_object | 1091 | GTK_ENTRY (gtk_builder_get_object |
1047 | (builder, "GNUNET_GTK_edit_publication_keyword_entry")); | 1092 | (builder, "GNUNET_GTK_edit_publication_keyword_entry")); |
1048 | gtk_entry_set_text (entry, ""); | 1093 | gtk_entry_set_text (entry, ""); |
1049 | pubwindow = gtk_builder_get_object (builder, | 1094 | pubwindow = |
1050 | "GNUNET_GTK_edit_publication_window"); | 1095 | gtk_builder_get_object (builder, "GNUNET_GTK_edit_publication_window"); |
1051 | g_object_set_data (pubwindow, PUBSTATE, state); | 1096 | g_object_set_data (pubwindow, PUBSTATE, state); |
1052 | ok = GTK_WIDGET (gtk_builder_get_object (builder, | 1097 | ok = GTK_WIDGET (gtk_builder_get_object |
1053 | "GNUNET_GTK_edit_publication_confirm_button")); | 1098 | (builder, "GNUNET_GTK_edit_publication_confirm_button")); |
1054 | gtk_widget_set_sensitive (ok, allow_no_keywords ? TRUE : FALSE); | 1099 | gtk_widget_set_sensitive (ok, allow_no_keywords ? TRUE : FALSE); |
1055 | gtk_window_set_transient_for (GTK_WINDOW (pubwindow), parent); | 1100 | gtk_window_set_transient_for (GTK_WINDOW (pubwindow), parent); |
1056 | gtk_window_present (GTK_WINDOW (dialog)); | 1101 | gtk_window_present (GTK_WINDOW (dialog)); |
diff --git a/src/fs/gnunet-fs-gtk-edit_publish_dialog.h b/src/fs/gnunet-fs-gtk-edit_publish_dialog.h index 4d24cd64..d1ef015e 100644 --- a/src/fs/gnunet-fs-gtk-edit_publish_dialog.h +++ b/src/fs/gnunet-fs-gtk-edit_publish_dialog.h | |||
@@ -41,28 +41,26 @@ | |||
41 | * @param root namespace root, NULL for file publishing | 41 | * @param root namespace root, NULL for file publishing |
42 | * @param ret GTK_RESPONSE_OK if the dialog was closed with "OK" | 42 | * @param ret GTK_RESPONSE_OK if the dialog was closed with "OK" |
43 | */ | 43 | */ |
44 | typedef void | 44 | typedef void (*GNUNET_FS_GTK_EditPublishDialogCallback) (gpointer cls, |
45 | (*GNUNET_FS_GTK_EditPublishDialogCallback) (gpointer cls, int do_index, | 45 | int do_index, |
46 | const char *short_fn, | 46 | const char *short_fn, |
47 | guint anonymity_level, | 47 | guint anonymity_level, |
48 | guint priority, | 48 | guint priority, |
49 | const char *root, | 49 | const char *root, |
50 | int ret); | 50 | int ret); |
51 | 51 | ||
52 | 52 | ||
53 | /** | 53 | /** |
54 | * Open the dialog to edit file information data. | 54 | * Open the dialog to edit file information data. |
55 | */ | 55 | */ |
56 | void | 56 | void |
57 | GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder *builder, | 57 | GNUNET_FS_GTK_edit_publish_dialog (GtkBuilder * builder, GtkWindow * parent, |
58 | GtkWindow *parent, | 58 | int do_index, const char *short_fn, |
59 | int do_index, | 59 | uint32_t anonymity_level, uint32_t priority, |
60 | const char *short_fn, | 60 | struct GNUNET_FS_FileInformation *fip, |
61 | uint32_t anonymity_level, | 61 | gboolean allow_no_keywords, |
62 | uint32_t priority, | 62 | GNUNET_FS_GTK_EditPublishDialogCallback cb, |
63 | struct GNUNET_FS_FileInformation *fip, | 63 | gpointer cls); |
64 | gboolean allow_no_keywords, | ||
65 | GNUNET_FS_GTK_EditPublishDialogCallback cb, gpointer cls); | ||
66 | 64 | ||
67 | #endif | 65 | #endif |
68 | /* end of gnunet-fs-gtk-edit_publish_dialog.h */ | 66 | /* end of gnunet-fs-gtk-edit_publish_dialog.h */ |
diff --git a/src/fs/gnunet-fs-gtk-event_handler.c b/src/fs/gnunet-fs-gtk-event_handler.c index 631c3426..ac734af5 100644 --- a/src/fs/gnunet-fs-gtk-event_handler.c +++ b/src/fs/gnunet-fs-gtk-event_handler.c | |||
@@ -161,24 +161,23 @@ stop_download (struct DownloadEntry *de, int is_suspend) | |||
161 | GtkTreePath *path; | 161 | GtkTreePath *path; |
162 | GtkTreeModel *tm; | 162 | GtkTreeModel *tm; |
163 | struct SearchResult *search_result; | 163 | struct SearchResult *search_result; |
164 | 164 | ||
165 | path = gtk_tree_row_reference_get_path (de->rr); | 165 | path = gtk_tree_row_reference_get_path (de->rr); |
166 | tm = gtk_tree_row_reference_get_model (de->rr); | 166 | tm = gtk_tree_row_reference_get_model (de->rr); |
167 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) | 167 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) |
168 | GNUNET_break (0); | 168 | GNUNET_break (0); |
169 | else | 169 | else |
170 | { | 170 | { |
171 | gtk_tree_model_get (tm, &iter, | 171 | gtk_tree_model_get (tm, &iter, 9, &search_result, -1); |
172 | 9, &search_result, -1); | 172 | /*Always fails on downloads started by Download URI */ |
173 | /*Always fails on downloads started by Download URI*/ | 173 | /*GNUNET_assert (search_result->download == de); */ |
174 | /*GNUNET_assert (search_result->download == de);*/ | 174 | search_result->download = NULL; |
175 | search_result->download = NULL; | 175 | if (NULL == search_result->result) |
176 | if (NULL == search_result->result) | 176 | (void) gtk_tree_store_remove (GTK_TREE_STORE (tm), &iter); |
177 | (void) gtk_tree_store_remove (GTK_TREE_STORE (tm), &iter); | 177 | else |
178 | else | 178 | change_download_colour (de, "white"); |
179 | change_download_colour (de, "white"); | 179 | } |
180 | } | 180 | gtk_tree_path_free (path); |
181 | gtk_tree_path_free (path); | ||
182 | gtk_tree_row_reference_free (de->rr); | 181 | gtk_tree_row_reference_free (de->rr); |
183 | GNUNET_FS_uri_destroy (de->uri); | 182 | GNUNET_FS_uri_destroy (de->uri); |
184 | GNUNET_CONTAINER_meta_data_destroy (de->meta); | 183 | GNUNET_CONTAINER_meta_data_destroy (de->meta); |
@@ -332,7 +331,7 @@ mark_download_completed (struct DownloadEntry *de, uint64_t size, | |||
332 | const char *filename) | 331 | const char *filename) |
333 | { | 332 | { |
334 | struct AddDirectoryEntryContext ade; | 333 | struct AddDirectoryEntryContext ade; |
335 | 334 | ||
336 | de->is_done = GNUNET_YES; | 335 | de->is_done = GNUNET_YES; |
337 | (void) mark_download_progress (de, size, size, NULL, 0, 0, 0); | 336 | (void) mark_download_progress (de, size, size, NULL, 0, 0, 0); |
338 | if ((GNUNET_YES == GNUNET_FS_meta_data_test_for_directory (de->meta)) && | 337 | if ((GNUNET_YES == GNUNET_FS_meta_data_test_for_directory (de->meta)) && |
@@ -481,7 +480,7 @@ download_lost_parent (struct DownloadEntry *de, uint64_t size, | |||
481 | GtkTreeModel *tm_old; | 480 | GtkTreeModel *tm_old; |
482 | GtkTreeIter iter_old; | 481 | GtkTreeIter iter_old; |
483 | GtkTreeIter child; | 482 | GtkTreeIter child; |
484 | GtkTreeModel * model; | 483 | GtkTreeModel *model; |
485 | 484 | ||
486 | rr_old = de->rr; | 485 | rr_old = de->rr; |
487 | tab = GNUNET_GTK_add_to_uri_tab (&iter, &de->sr, de->meta, de->uri); | 486 | tab = GNUNET_GTK_add_to_uri_tab (&iter, &de->sr, de->meta, de->uri); |
@@ -498,19 +497,19 @@ download_lost_parent (struct DownloadEntry *de, uint64_t size, | |||
498 | if (NULL == path) | 497 | if (NULL == path) |
499 | { | 498 | { |
500 | GNUNET_break (0); | 499 | GNUNET_break (0); |
501 | return NULL; | 500 | return NULL; |
502 | } | 501 | } |
503 | if (TRUE != gtk_tree_model_get_iter (tm_old, &iter_old, path)) | 502 | if (TRUE != gtk_tree_model_get_iter (tm_old, &iter_old, path)) |
504 | { | 503 | { |
505 | GNUNET_break (0); | 504 | GNUNET_break (0); |
506 | gtk_tree_path_free (path); | 505 | gtk_tree_path_free (path); |
507 | return NULL; | 506 | return NULL; |
508 | } | 507 | } |
509 | gtk_tree_path_free (path); | 508 | gtk_tree_path_free (path); |
510 | move_children (tm_old, &iter_old, model, &iter); | 509 | move_children (tm_old, &iter_old, model, &iter); |
511 | while (TRUE == gtk_tree_model_iter_children (model, &child, &iter)) | 510 | while (TRUE == gtk_tree_model_iter_children (model, &child, &iter)) |
512 | delete_stale_subtree (model, &child); | 511 | delete_stale_subtree (model, &child); |
513 | if (size > completed) | 512 | if (size > completed) |
514 | { | 513 | { |
515 | if (is_active) | 514 | if (is_active) |
516 | change_download_colour (de, "yellow"); | 515 | change_download_colour (de, "yellow"); |
@@ -540,8 +539,7 @@ download_lost_parent (struct DownloadEntry *de, uint64_t size, | |||
540 | static struct DownloadEntry * | 539 | static struct DownloadEntry * |
541 | setup_download (struct DownloadEntry *de, struct DownloadEntry *pde, | 540 | setup_download (struct DownloadEntry *de, struct DownloadEntry *pde, |
542 | struct SearchResult *sr, struct GNUNET_FS_DownloadContext *dc, | 541 | struct SearchResult *sr, struct GNUNET_FS_DownloadContext *dc, |
543 | const struct GNUNET_FS_Uri *uri, | 542 | const struct GNUNET_FS_Uri *uri, const char *filename, |
544 | const char *filename, | ||
545 | const struct GNUNET_CONTAINER_MetaData *meta, uint64_t size, | 543 | const struct GNUNET_CONTAINER_MetaData *meta, uint64_t size, |
546 | uint64_t completed) | 544 | uint64_t completed) |
547 | { | 545 | { |
@@ -556,12 +554,12 @@ setup_download (struct DownloadEntry *de, struct DownloadEntry *pde, | |||
556 | de->uri = GNUNET_FS_uri_dup (uri); | 554 | de->uri = GNUNET_FS_uri_dup (uri); |
557 | } | 555 | } |
558 | de->dc = dc; | 556 | de->dc = dc; |
559 | de->sr = sr; | 557 | de->sr = sr; |
560 | if (NULL != sr) | 558 | if (NULL != sr) |
561 | { | 559 | { |
562 | GNUNET_assert (sr->download == NULL); | 560 | GNUNET_assert (sr->download == NULL); |
563 | sr->download = de; | 561 | sr->download = de; |
564 | } | 562 | } |
565 | de->pde = pde; | 563 | de->pde = pde; |
566 | if ((meta != NULL) && (de->meta == NULL)) | 564 | if ((meta != NULL) && (de->meta == NULL)) |
567 | de->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); | 565 | de->meta = GNUNET_CONTAINER_meta_data_duplicate (meta); |
@@ -593,7 +591,7 @@ setup_download (struct DownloadEntry *de, struct DownloadEntry *pde, | |||
593 | (guint) ((size > | 591 | (guint) ((size > |
594 | 0) ? (100 * completed / | 592 | 0) ? (100 * completed / |
595 | size) : 100) /* progress */ , | 593 | size) : 100) /* progress */ , |
596 | 6, filename_utf8 /* filename/description */ , | 594 | 6, filename_utf8 /* filename/description */ , |
597 | 8, "blue" /* status colour: pending */ , | 595 | 8, "blue" /* status colour: pending */ , |
598 | -1); | 596 | -1); |
599 | GNUNET_free_non_null (filename_utf8); | 597 | GNUNET_free_non_null (filename_utf8); |
@@ -626,8 +624,7 @@ start_download (GtkTreeView * tree_view, GtkTreePath * path, | |||
626 | return; | 624 | return; |
627 | } | 625 | } |
628 | gtk_tree_model_get (tm, &iter, 0, &meta, 1, &uri, 9, &sr, 10, &mime, -1); | 626 | gtk_tree_model_get (tm, &iter, 0, &meta, 1, &uri, 9, &sr, 10, &mime, -1); |
629 | if (! (GNUNET_FS_uri_test_chk (uri) || | 627 | if (!(GNUNET_FS_uri_test_chk (uri) || GNUNET_FS_uri_test_loc (uri))) |
630 | GNUNET_FS_uri_test_loc (uri)) ) | ||
631 | { | 628 | { |
632 | /* can only download chk/loc URIs, ignore */ | 629 | /* can only download chk/loc URIs, ignore */ |
633 | g_free (mime); | 630 | g_free (mime); |
@@ -787,9 +784,9 @@ search_list_on_menu (GtkWidget * widget, GdkEvent * event, gpointer user_data) | |||
787 | tm = gtk_tree_view_get_model (tv); | 784 | tm = gtk_tree_view_get_model (tv); |
788 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) | 785 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) |
789 | { | 786 | { |
790 | /* model empty? */ | 787 | /* model empty? */ |
791 | current_context_search_tab = NULL; | 788 | current_context_search_tab = NULL; |
792 | return FALSE; | 789 | return FALSE; |
793 | } | 790 | } |
794 | gtk_tree_model_get (tm, &iter, 9, &sr, -1); | 791 | gtk_tree_model_get (tm, &iter, 9, &sr, -1); |
795 | current_context_row_reference = gtk_tree_row_reference_new (tm, path); | 792 | current_context_row_reference = gtk_tree_row_reference_new (tm, path); |
@@ -989,7 +986,7 @@ handle_publish_stop (struct PublishEntry *ent) | |||
989 | } | 986 | } |
990 | if (NULL != ent->pc) | 987 | if (NULL != ent->pc) |
991 | { | 988 | { |
992 | /* get piter from parent */ | 989 | /* get piter from parent */ |
993 | path = gtk_tree_row_reference_get_path (ent->rr); | 990 | path = gtk_tree_row_reference_get_path (ent->rr); |
994 | tm = gtk_tree_row_reference_get_model (ent->rr); | 991 | tm = gtk_tree_row_reference_get_model (ent->rr); |
995 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) | 992 | if (TRUE != gtk_tree_model_get_iter (tm, &iter, path)) |
@@ -1046,8 +1043,8 @@ clear_downloads (GtkButton * button, gpointer user_data) | |||
1046 | do | 1043 | do |
1047 | { | 1044 | { |
1048 | gtk_tree_model_get (tm, &iter, 9, &sr, -1); | 1045 | gtk_tree_model_get (tm, &iter, 9, &sr, -1); |
1049 | if ((sr->download != NULL) && (sr->download->is_done == GNUNET_YES)) | 1046 | if ((sr->download != NULL) && (sr->download->is_done == GNUNET_YES)) |
1050 | GNUNET_FS_download_stop (sr->download->dc, GNUNET_YES); | 1047 | GNUNET_FS_download_stop (sr->download->dc, GNUNET_YES); |
1051 | } | 1048 | } |
1052 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); | 1049 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); |
1053 | } | 1050 | } |
@@ -1281,8 +1278,8 @@ GNUNET_GTK_add_search_result (struct SearchTab *tab, GtkTreeIter * iter, | |||
1281 | } | 1278 | } |
1282 | desc = | 1279 | desc = |
1283 | GNUNET_CONTAINER_meta_data_get_first_by_types (meta, | 1280 | GNUNET_CONTAINER_meta_data_get_first_by_types (meta, |
1284 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, | 1281 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, |
1285 | EXTRACTOR_METATYPE_PACKAGE_NAME, | 1282 | EXTRACTOR_METATYPE_PACKAGE_NAME, |
1286 | EXTRACTOR_METATYPE_TITLE, | 1283 | EXTRACTOR_METATYPE_TITLE, |
1287 | EXTRACTOR_METATYPE_BOOK_TITLE, | 1284 | EXTRACTOR_METATYPE_BOOK_TITLE, |
1288 | EXTRACTOR_METATYPE_FILENAME, | 1285 | EXTRACTOR_METATYPE_FILENAME, |
@@ -1298,7 +1295,10 @@ GNUNET_GTK_add_search_result (struct SearchTab *tab, GtkTreeIter * iter, | |||
1298 | else | 1295 | else |
1299 | { | 1296 | { |
1300 | char *utf8_desc = NULL; | 1297 | char *utf8_desc = NULL; |
1301 | utf8_desc = GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc, strlen (desc) + 1); | 1298 | |
1299 | utf8_desc = | ||
1300 | GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc, | ||
1301 | strlen (desc) + 1); | ||
1302 | GNUNET_free (desc); | 1302 | GNUNET_free (desc); |
1303 | if (utf8_desc != NULL) | 1303 | if (utf8_desc != NULL) |
1304 | desc = utf8_desc; | 1304 | desc = utf8_desc; |
@@ -1485,7 +1485,10 @@ update_search_result (struct SearchResult *sr, | |||
1485 | else | 1485 | else |
1486 | { | 1486 | { |
1487 | char *utf8_desc = NULL; | 1487 | char *utf8_desc = NULL; |
1488 | utf8_desc = GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc, strlen (desc) + 1); | 1488 | |
1489 | utf8_desc = | ||
1490 | GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, desc, | ||
1491 | strlen (desc) + 1); | ||
1489 | GNUNET_free (desc); | 1492 | GNUNET_free (desc); |
1490 | if (utf8_desc != NULL) | 1493 | if (utf8_desc != NULL) |
1491 | desc = utf8_desc; | 1494 | desc = utf8_desc; |
@@ -1590,7 +1593,7 @@ stop_publishing (GtkButton * button, gpointer user_data) | |||
1590 | GtkNotebook *notebook; | 1593 | GtkNotebook *notebook; |
1591 | int index; | 1594 | int index; |
1592 | int i; | 1595 | int i; |
1593 | 1596 | ||
1594 | GNUNET_assert (tab == publish_tab); | 1597 | GNUNET_assert (tab == publish_tab); |
1595 | tm = GTK_TREE_MODEL (publish_tab->ts); | 1598 | tm = GTK_TREE_MODEL (publish_tab->ts); |
1596 | if (TRUE == gtk_tree_model_iter_children (tm, &iter, NULL)) | 1599 | if (TRUE == gtk_tree_model_iter_children (tm, &iter, NULL)) |
@@ -1599,16 +1602,16 @@ stop_publishing (GtkButton * button, gpointer user_data) | |||
1599 | { | 1602 | { |
1600 | gtk_tree_model_get (tm, &iter, 4, &ent, -1); | 1603 | gtk_tree_model_get (tm, &iter, 4, &ent, -1); |
1601 | if (NULL != (pc = ent->pc)) | 1604 | if (NULL != (pc = ent->pc)) |
1602 | { | 1605 | { |
1603 | ent->pc = NULL; | 1606 | ent->pc = NULL; |
1604 | GNUNET_FS_publish_stop (pc); | 1607 | GNUNET_FS_publish_stop (pc); |
1605 | } | 1608 | } |
1606 | } | 1609 | } |
1607 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); | 1610 | while (TRUE == gtk_tree_model_iter_next (tm, &iter)); |
1608 | } | 1611 | } |
1609 | notebook = | 1612 | notebook = |
1610 | GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object | 1613 | GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object |
1611 | ("GNUNET_GTK_main_window_notebook")); | 1614 | ("GNUNET_GTK_main_window_notebook")); |
1612 | index = -1; | 1615 | index = -1; |
1613 | for (i = gtk_notebook_get_n_pages (notebook) - 1; i >= 0; i--) | 1616 | for (i = gtk_notebook_get_n_pages (notebook) - 1; i >= 0; i--) |
1614 | if (publish_tab->frame == gtk_notebook_get_nth_page (notebook, i)) | 1617 | if (publish_tab->frame == gtk_notebook_get_nth_page (notebook, i)) |
@@ -1643,40 +1646,40 @@ setup_publish (struct GNUNET_FS_PublishContext *pc, const char *fn, | |||
1643 | /* create new tab */ | 1646 | /* create new tab */ |
1644 | publish_tab = GNUNET_malloc (sizeof (struct PublishTab)); | 1647 | publish_tab = GNUNET_malloc (sizeof (struct PublishTab)); |
1645 | publish_tab->builder = | 1648 | publish_tab->builder = |
1646 | GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_publish_tab.glade"); | 1649 | GNUNET_GTK_get_new_builder ("gnunet_fs_gtk_publish_tab.glade"); |
1647 | df = GTK_WINDOW (gtk_builder_get_object | 1650 | df = GTK_WINDOW (gtk_builder_get_object |
1648 | (publish_tab->builder, "_publish_frame_window")); | 1651 | (publish_tab->builder, "_publish_frame_window")); |
1649 | publish_tab->frame = gtk_bin_get_child (GTK_BIN (df)); | 1652 | publish_tab->frame = gtk_bin_get_child (GTK_BIN (df)); |
1650 | g_object_ref (publish_tab->frame); | 1653 | g_object_ref (publish_tab->frame); |
1651 | gtk_container_remove (GTK_CONTAINER (df), publish_tab->frame); | 1654 | gtk_container_remove (GTK_CONTAINER (df), publish_tab->frame); |
1652 | gtk_widget_destroy (GTK_WIDGET (df)); | 1655 | gtk_widget_destroy (GTK_WIDGET (df)); |
1653 | 1656 | ||
1654 | /* load tab_label */ | 1657 | /* load tab_label */ |
1655 | df = GTK_WINDOW (gtk_builder_get_object | 1658 | df = GTK_WINDOW (gtk_builder_get_object |
1656 | (publish_tab->builder, "_publish_label_window")); | 1659 | (publish_tab->builder, "_publish_label_window")); |
1657 | tab_label = gtk_bin_get_child (GTK_BIN (df)); | 1660 | tab_label = gtk_bin_get_child (GTK_BIN (df)); |
1658 | g_object_ref (tab_label); | 1661 | g_object_ref (tab_label); |
1659 | gtk_container_remove (GTK_CONTAINER (df), tab_label); | 1662 | gtk_container_remove (GTK_CONTAINER (df), tab_label); |
1660 | gtk_widget_destroy (GTK_WIDGET (df)); | 1663 | gtk_widget_destroy (GTK_WIDGET (df)); |
1661 | 1664 | ||
1662 | /* get refs to widgets */ | 1665 | /* get refs to widgets */ |
1663 | close_button = | 1666 | close_button = |
1664 | GTK_WIDGET (gtk_builder_get_object | 1667 | GTK_WIDGET (gtk_builder_get_object |
1665 | (publish_tab->builder, "_publish_label_close_button")); | 1668 | (publish_tab->builder, "_publish_label_close_button")); |
1666 | g_signal_connect (G_OBJECT (close_button), "clicked", | 1669 | g_signal_connect (G_OBJECT (close_button), "clicked", |
1667 | G_CALLBACK (stop_publishing), publish_tab); | 1670 | G_CALLBACK (stop_publishing), publish_tab); |
1668 | /* FIXME: we don't actually need the closure anymore, | 1671 | /* FIXME: we don't actually need the closure anymore, |
1669 | so we could have glade connect the above signal... */ | 1672 | * so we could have glade connect the above signal... */ |
1670 | /* make visible */ | 1673 | /* make visible */ |
1671 | notebook = | 1674 | notebook = |
1672 | GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object | 1675 | GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object |
1673 | ("GNUNET_GTK_main_window_notebook")); | 1676 | ("GNUNET_GTK_main_window_notebook")); |
1674 | gtk_notebook_insert_page (notebook, publish_tab->frame, tab_label, 0); | 1677 | gtk_notebook_insert_page (notebook, publish_tab->frame, tab_label, 0); |
1675 | gtk_widget_show (GTK_WIDGET (notebook)); | 1678 | gtk_widget_show (GTK_WIDGET (notebook)); |
1676 | gtk_notebook_set_current_page (notebook, 0); | 1679 | gtk_notebook_set_current_page (notebook, 0); |
1677 | publish_tab->ts = | 1680 | publish_tab->ts = |
1678 | GTK_TREE_STORE (gtk_builder_get_object | 1681 | GTK_TREE_STORE (gtk_builder_get_object |
1679 | (publish_tab->builder, "_publish_frame_tree_store")); | 1682 | (publish_tab->builder, "_publish_frame_tree_store")); |
1680 | pitrptr = NULL; | 1683 | pitrptr = NULL; |
1681 | } | 1684 | } |
1682 | else | 1685 | else |
@@ -1690,7 +1693,8 @@ setup_publish (struct GNUNET_FS_PublishContext *pc, const char *fn, | |||
1690 | /* create new iter from parent */ | 1693 | /* create new iter from parent */ |
1691 | path = gtk_tree_row_reference_get_path (parent->rr); | 1694 | path = gtk_tree_row_reference_get_path (parent->rr); |
1692 | if (TRUE != | 1695 | if (TRUE != |
1693 | gtk_tree_model_get_iter (GTK_TREE_MODEL (publish_tab->ts), &piter, path)) | 1696 | gtk_tree_model_get_iter (GTK_TREE_MODEL (publish_tab->ts), &piter, |
1697 | path)) | ||
1694 | { | 1698 | { |
1695 | GNUNET_break (0); | 1699 | GNUNET_break (0); |
1696 | return NULL; | 1700 | return NULL; |
@@ -1703,11 +1707,9 @@ setup_publish (struct GNUNET_FS_PublishContext *pc, const char *fn, | |||
1703 | ent->tab = publish_tab; | 1707 | ent->tab = publish_tab; |
1704 | fn_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) fn); | 1708 | fn_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) fn); |
1705 | gtk_tree_store_insert_with_values (publish_tab->ts, &iter, pitrptr, G_MAXINT, | 1709 | gtk_tree_store_insert_with_values (publish_tab->ts, &iter, pitrptr, G_MAXINT, |
1706 | 0, fn_utf8, | 1710 | 0, fn_utf8, 1, size_fancy, 2, "white", 3, |
1707 | 1, size_fancy, 2, "white", 3, | ||
1708 | (guint) 0 /* progress */ , | 1711 | (guint) 0 /* progress */ , |
1709 | 4, ent, | 1712 | 4, ent, -1); |
1710 | -1); | ||
1711 | GNUNET_free_non_null (fn_utf8); | 1713 | GNUNET_free_non_null (fn_utf8); |
1712 | path = gtk_tree_model_get_path (GTK_TREE_MODEL (publish_tab->ts), &iter); | 1714 | path = gtk_tree_model_get_path (GTK_TREE_MODEL (publish_tab->ts), &iter); |
1713 | GNUNET_assert (NULL != path); | 1715 | GNUNET_assert (NULL != path); |
@@ -1786,7 +1788,7 @@ GNUNET_GTK_fs_event_handler (void *cls, | |||
1786 | return setup_download (info->value.download.cctx, info->value.download.pctx, | 1788 | return setup_download (info->value.download.cctx, info->value.download.pctx, |
1787 | info->value.download.sctx, info->value.download.dc, | 1789 | info->value.download.sctx, info->value.download.dc, |
1788 | info->value.download.uri, | 1790 | info->value.download.uri, |
1789 | info->value.download.filename, | 1791 | info->value.download.filename, |
1790 | info->value.download.specifics.start.meta, | 1792 | info->value.download.specifics.start.meta, |
1791 | info->value.download.size, | 1793 | info->value.download.size, |
1792 | info->value.download.completed); | 1794 | info->value.download.completed); |
@@ -1794,8 +1796,7 @@ GNUNET_GTK_fs_event_handler (void *cls, | |||
1794 | ret = | 1796 | ret = |
1795 | setup_download (info->value.download.cctx, info->value.download.pctx, | 1797 | setup_download (info->value.download.cctx, info->value.download.pctx, |
1796 | info->value.download.sctx, info->value.download.dc, | 1798 | info->value.download.sctx, info->value.download.dc, |
1797 | info->value.download.uri, | 1799 | info->value.download.uri, info->value.download.filename, |
1798 | info->value.download.filename, | ||
1799 | info->value.download.specifics.resume.meta, | 1800 | info->value.download.specifics.resume.meta, |
1800 | info->value.download.size, | 1801 | info->value.download.size, |
1801 | info->value.download.completed); | 1802 | info->value.download.completed); |
@@ -1980,8 +1981,8 @@ GNUNET_GTK_main_window_notebook_switch_page_cb (GtkWidget * dummy, | |||
1980 | } | 1981 | } |
1981 | 1982 | ||
1982 | static void | 1983 | static void |
1983 | copy_metadata_to_clipboard (GtkTreeModel *model, GtkTreePath *path, | 1984 | copy_metadata_to_clipboard (GtkTreeModel * model, GtkTreePath * path, |
1984 | GtkTreeIter *iter, gpointer user_data) | 1985 | GtkTreeIter * iter, gpointer user_data) |
1985 | { | 1986 | { |
1986 | gchar *type, *value; | 1987 | gchar *type, *value; |
1987 | GList **l = (GList **) user_data; | 1988 | GList **l = (GList **) user_data; |
@@ -1993,7 +1994,7 @@ copy_metadata_to_clipboard (GtkTreeModel *model, GtkTreePath *path, | |||
1993 | } | 1994 | } |
1994 | 1995 | ||
1995 | void | 1996 | void |
1996 | metadata_copy_selection_activated (GtkMenuItem *menuitem, gpointer user_data) | 1997 | metadata_copy_selection_activated (GtkMenuItem * menuitem, gpointer user_data) |
1997 | { | 1998 | { |
1998 | GtkBuilder *builder; | 1999 | GtkBuilder *builder; |
1999 | GtkTreeView *tree; | 2000 | GtkTreeView *tree; |
@@ -2003,11 +2004,12 @@ metadata_copy_selection_activated (GtkMenuItem *menuitem, gpointer user_data) | |||
2003 | gchar *s, *p; | 2004 | gchar *s, *p; |
2004 | 2005 | ||
2005 | builder = GTK_BUILDER (user_data); | 2006 | builder = GTK_BUILDER (user_data); |
2006 | tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 2007 | tree = |
2007 | "GNUNET_GTK_main_window_metadata_treeview")); | 2008 | GTK_TREE_VIEW (gtk_builder_get_object |
2009 | (builder, "GNUNET_GTK_main_window_metadata_treeview")); | ||
2008 | 2010 | ||
2009 | gtk_tree_selection_selected_foreach (gtk_tree_view_get_selection (tree), | 2011 | gtk_tree_selection_selected_foreach (gtk_tree_view_get_selection (tree), |
2010 | copy_metadata_to_clipboard, &pairs); | 2012 | copy_metadata_to_clipboard, &pairs); |
2011 | 2013 | ||
2012 | total_len = 0; | 2014 | total_len = 0; |
2013 | pairs = g_list_reverse (pairs); | 2015 | pairs = g_list_reverse (pairs); |
@@ -2018,12 +2020,13 @@ metadata_copy_selection_activated (GtkMenuItem *menuitem, gpointer user_data) | |||
2018 | if (!value) | 2020 | if (!value) |
2019 | break; | 2021 | break; |
2020 | next = value->next; | 2022 | next = value->next; |
2021 | total_len += strlen ((gchar *) type->data) | 2023 | total_len += |
2022 | + strlen ((gchar *) value->data) + 2 /* ": " */ + (next ? 1 : 0) /* "\n" */; | 2024 | strlen ((gchar *) type->data) + strlen ((gchar *) value->data) + |
2025 | 2 /* ": " */ + (next ? 1 : 0) /* "\n" */ ; | ||
2023 | } | 2026 | } |
2024 | if (total_len > 0) | 2027 | if (total_len > 0) |
2025 | { | 2028 | { |
2026 | total_len += 1; /* "\0" */ | 2029 | total_len += 1; /* "\0" */ |
2027 | s = g_new0 (gchar, total_len); | 2030 | s = g_new0 (gchar, total_len); |
2028 | p = s; | 2031 | p = s; |
2029 | for (l = pairs; l; l = next) | 2032 | for (l = pairs; l; l = next) |
@@ -2057,8 +2060,8 @@ metadata_copy_selection_activated (GtkMenuItem *menuitem, gpointer user_data) | |||
2057 | } | 2060 | } |
2058 | 2061 | ||
2059 | void | 2062 | void |
2060 | metadata_menu_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, | 2063 | metadata_menu_popup_position (GtkMenu * menu, gint * x, gint * y, |
2061 | gpointer user_data) | 2064 | gboolean * push_in, gpointer user_data) |
2062 | { | 2065 | { |
2063 | GtkBuilder *builder; | 2066 | GtkBuilder *builder; |
2064 | GtkTreeView *tree; | 2067 | GtkTreeView *tree; |
@@ -2071,8 +2074,9 @@ metadata_menu_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in | |||
2071 | 2074 | ||
2072 | builder = GTK_BUILDER (user_data); | 2075 | builder = GTK_BUILDER (user_data); |
2073 | 2076 | ||
2074 | tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, | 2077 | tree = |
2075 | "GNUNET_GTK_main_window_metadata_treeview")); | 2078 | GTK_TREE_VIEW (gtk_builder_get_object |
2079 | (builder, "GNUNET_GTK_main_window_metadata_treeview")); | ||
2076 | 2080 | ||
2077 | gtk_widget_get_allocation (GTK_WIDGET (tree), &tree_allocation); | 2081 | gtk_widget_get_allocation (GTK_WIDGET (tree), &tree_allocation); |
2078 | 2082 | ||
@@ -2092,6 +2096,7 @@ metadata_menu_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in | |||
2092 | if (rows->data) | 2096 | if (rows->data) |
2093 | { | 2097 | { |
2094 | GdkRectangle r; | 2098 | GdkRectangle r; |
2099 | |||
2095 | p = (GtkTreePath *) rows->data; | 2100 | p = (GtkTreePath *) rows->data; |
2096 | gtk_tree_view_get_cell_area (tree, p, NULL, &r); | 2101 | gtk_tree_view_get_cell_area (tree, p, NULL, &r); |
2097 | popup_x += r.x; | 2102 | popup_x += r.x; |
@@ -2106,8 +2111,8 @@ metadata_menu_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in | |||
2106 | } | 2111 | } |
2107 | 2112 | ||
2108 | static void | 2113 | static void |
2109 | do_metadata_popup_menu (GtkWidget *widget, GdkEventButton *event, | 2114 | do_metadata_popup_menu (GtkWidget * widget, GdkEventButton * event, |
2110 | gpointer user_data) | 2115 | gpointer user_data) |
2111 | { | 2116 | { |
2112 | GtkMenu *menu; | 2117 | GtkMenu *menu; |
2113 | GtkBuilder *builder; | 2118 | GtkBuilder *builder; |
@@ -2119,25 +2124,28 @@ do_metadata_popup_menu (GtkWidget *widget, GdkEventButton *event, | |||
2119 | menu = GTK_MENU (gtk_builder_get_object (builder, "metadata_popup_menu")); | 2124 | menu = GTK_MENU (gtk_builder_get_object (builder, "metadata_popup_menu")); |
2120 | 2125 | ||
2121 | if (event) | 2126 | if (event) |
2122 | { | 2127 | { |
2123 | button = event->button; | 2128 | button = event->button; |
2124 | event_time = event->time; | 2129 | event_time = event->time; |
2125 | } | 2130 | } |
2126 | else | 2131 | else |
2127 | { | 2132 | { |
2128 | button = 0; | 2133 | button = 0; |
2129 | event_time = gtk_get_current_event_time (); | 2134 | event_time = gtk_get_current_event_time (); |
2130 | } | 2135 | } |
2131 | 2136 | ||
2132 | gtk_menu_popup (menu, NULL, NULL, mpf, user_data, | 2137 | gtk_menu_popup (menu, NULL, NULL, mpf, user_data, button, event_time); |
2133 | button, event_time); | ||
2134 | } | 2138 | } |
2135 | 2139 | ||
2136 | gboolean | 2140 | gboolean |
2137 | GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb (GtkWidget *widget, | 2141 | GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb (GtkWidget * |
2138 | GdkEventButton *event, gpointer user_data) | 2142 | widget, |
2143 | GdkEventButton * | ||
2144 | event, | ||
2145 | gpointer | ||
2146 | user_data) | ||
2139 | { | 2147 | { |
2140 | /* Ignore double-clicks and triple-clicks */ | 2148 | /* Ignore double-clicks and triple-clicks */ |
2141 | if (event->button == 3 && event->type == GDK_BUTTON_PRESS) | 2149 | if (event->button == 3 && event->type == GDK_BUTTON_PRESS) |
2142 | { | 2150 | { |
2143 | do_metadata_popup_menu (widget, event, user_data); | 2151 | do_metadata_popup_menu (widget, event, user_data); |
@@ -2148,8 +2156,8 @@ GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb (GtkWidget *widge | |||
2148 | } | 2156 | } |
2149 | 2157 | ||
2150 | gboolean | 2158 | gboolean |
2151 | GNUNET_GTK_main_window_metadata_treeview_popup_menu_cb (GtkWidget *widget, | 2159 | GNUNET_GTK_main_window_metadata_treeview_popup_menu_cb (GtkWidget * widget, |
2152 | gpointer user_data) | 2160 | gpointer user_data) |
2153 | { | 2161 | { |
2154 | do_metadata_popup_menu (widget, NULL, user_data); | 2162 | do_metadata_popup_menu (widget, NULL, user_data); |
2155 | return TRUE; | 2163 | return TRUE; |
diff --git a/src/fs/gnunet-fs-gtk-main_window_adv_pseudonym.c b/src/fs/gnunet-fs-gtk-main_window_adv_pseudonym.c index 11f983a8..d429694d 100644 --- a/src/fs/gnunet-fs-gtk-main_window_adv_pseudonym.c +++ b/src/fs/gnunet-fs-gtk-main_window_adv_pseudonym.c | |||
@@ -27,8 +27,9 @@ | |||
27 | #include "gnunet-fs-gtk-edit_publish_dialog.h" | 27 | #include "gnunet-fs-gtk-edit_publish_dialog.h" |
28 | 28 | ||
29 | gboolean | 29 | gboolean |
30 | GNUNET_GTK_select_pseudonym_dialog_delete_event_cb (GtkWidget *widget, | 30 | GNUNET_GTK_select_pseudonym_dialog_delete_event_cb (GtkWidget * widget, |
31 | GdkEvent *event, gpointer user_Data) | 31 | GdkEvent * event, |
32 | gpointer user_Data) | ||
32 | { | 33 | { |
33 | gtk_widget_hide (widget); | 34 | gtk_widget_hide (widget); |
34 | return TRUE; | 35 | return TRUE; |
@@ -49,6 +50,7 @@ add_to_list (void *cls, const char *name, const GNUNET_HashCode * id) | |||
49 | GtkListStore *ls = cls; | 50 | GtkListStore *ls = cls; |
50 | GtkTreeIter iter; | 51 | GtkTreeIter iter; |
51 | char *name_utf8; | 52 | char *name_utf8; |
53 | |||
52 | name_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) name); | 54 | name_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) name); |
53 | 55 | ||
54 | gtk_list_store_insert_with_values (ls, &iter, -1, 0, name_utf8, 1, | 56 | gtk_list_store_insert_with_values (ls, &iter, -1, 0, name_utf8, 1, |
@@ -65,6 +67,7 @@ selection_changed_cb (GtkTreeSelection * ts, gpointer user_data) | |||
65 | GtkTreeIter iter; | 67 | GtkTreeIter iter; |
66 | GtkWidget *ok_button; | 68 | GtkWidget *ok_button; |
67 | GtkBuilder *builder; | 69 | GtkBuilder *builder; |
70 | |||
68 | builder = GTK_BUILDER (user_data); | 71 | builder = GTK_BUILDER (user_data); |
69 | 72 | ||
70 | ok_button = | 73 | ok_button = |
@@ -105,26 +108,24 @@ struct NamespaceAdvertisementContext | |||
105 | */ | 108 | */ |
106 | static int | 109 | static int |
107 | advertise_namespace (void *cls, struct GNUNET_FS_FileInformation *fi, | 110 | advertise_namespace (void *cls, struct GNUNET_FS_FileInformation *fi, |
108 | uint64_t length, struct GNUNET_CONTAINER_MetaData *meta, | 111 | uint64_t length, struct GNUNET_CONTAINER_MetaData *meta, |
109 | struct GNUNET_FS_Uri **uri, struct GNUNET_FS_BlockOptions *bo, | 112 | struct GNUNET_FS_Uri **uri, |
110 | int *do_index, void **client_info) | 113 | struct GNUNET_FS_BlockOptions *bo, int *do_index, |
114 | void **client_info) | ||
111 | { | 115 | { |
112 | struct NamespaceAdvertisementContext *nds = cls; | 116 | struct NamespaceAdvertisementContext *nds = cls; |
113 | 117 | ||
114 | GNUNET_FS_namespace_advertise (GNUNET_FS_GTK_get_fs_handle (), *uri, | 118 | GNUNET_FS_namespace_advertise (GNUNET_FS_GTK_get_fs_handle (), *uri, nds->ns, |
115 | nds->ns, meta, bo, nds->root, NULL, NULL); | 119 | meta, bo, nds->root, NULL, NULL); |
116 | return GNUNET_SYSERR; | 120 | return GNUNET_SYSERR; |
117 | } | 121 | } |
118 | 122 | ||
119 | 123 | ||
120 | static void | 124 | static void |
121 | adv_pseudonym_edit_publish_dialog_cb (gpointer cls, | 125 | adv_pseudonym_edit_publish_dialog_cb (gpointer cls, int do_index, |
122 | int do_index, | 126 | const char *short_fn, |
123 | const char *short_fn, | 127 | guint anonymity_level, guint priority, |
124 | guint anonymity_level, | 128 | const char *root, gint ret) |
125 | guint priority, | ||
126 | const char *root, | ||
127 | gint ret) | ||
128 | { | 129 | { |
129 | struct NamespaceAdvertisementContext *nds = cls; | 130 | struct NamespaceAdvertisementContext *nds = cls; |
130 | 131 | ||
@@ -135,8 +136,7 @@ adv_pseudonym_edit_publish_dialog_cb (gpointer cls, | |||
135 | nds->anonymity_level = anonymity_level; | 136 | nds->anonymity_level = anonymity_level; |
136 | nds->priority = priority; | 137 | nds->priority = priority; |
137 | nds->root = root; | 138 | nds->root = root; |
138 | GNUNET_FS_file_information_inspect (nds->fip, | 139 | GNUNET_FS_file_information_inspect (nds->fip, &advertise_namespace, nds); |
139 | &advertise_namespace, nds); | ||
140 | } | 140 | } |
141 | GNUNET_FS_namespace_delete (nds->ns, GNUNET_NO); | 141 | GNUNET_FS_namespace_delete (nds->ns, GNUNET_NO); |
142 | GNUNET_FS_file_information_destroy (nds->fip, NULL, NULL); | 142 | GNUNET_FS_file_information_destroy (nds->fip, NULL, NULL); |
@@ -144,8 +144,9 @@ adv_pseudonym_edit_publish_dialog_cb (gpointer cls, | |||
144 | } | 144 | } |
145 | 145 | ||
146 | void | 146 | void |
147 | GNUNET_GTK_select_pseudonym_dialog_response_cb (GtkDialog *dialog, | 147 | GNUNET_GTK_select_pseudonym_dialog_response_cb (GtkDialog * dialog, |
148 | gint response_id, gpointer user_data) | 148 | gint response_id, |
149 | gpointer user_data) | ||
149 | { | 150 | { |
150 | GtkBuilder *builder; | 151 | GtkBuilder *builder; |
151 | GtkWidget *ad; | 152 | GtkWidget *ad; |
@@ -170,8 +171,7 @@ GNUNET_GTK_select_pseudonym_dialog_response_cb (GtkDialog *dialog, | |||
170 | return; | 171 | return; |
171 | } | 172 | } |
172 | tv = GTK_TREE_VIEW (gtk_builder_get_object | 173 | tv = GTK_TREE_VIEW (gtk_builder_get_object |
173 | (builder, | 174 | (builder, "GNUNET_GTK_select_pseudonym_tree_view")); |
174 | "GNUNET_GTK_select_pseudonym_tree_view")); | ||
175 | sel = gtk_tree_view_get_selection (tv); | 175 | sel = gtk_tree_view_get_selection (tv); |
176 | 176 | ||
177 | GNUNET_assert (TRUE == gtk_tree_selection_get_selected (sel, &tm, &iter)); | 177 | GNUNET_assert (TRUE == gtk_tree_selection_get_selected (sel, &tm, &iter)); |
@@ -202,23 +202,24 @@ GNUNET_GTK_select_pseudonym_dialog_response_cb (GtkDialog *dialog, | |||
202 | /* This is a bogus fileinfo. It's needed because edit_publish_dialog | 202 | /* This is a bogus fileinfo. It's needed because edit_publish_dialog |
203 | * was written to work with fileinfo, and return a fileinfo. | 203 | * was written to work with fileinfo, and return a fileinfo. |
204 | */ | 204 | */ |
205 | memset (&bo, 0, sizeof (bo)); | 205 | memset (&bo, 0, sizeof (bo)); |
206 | bo.expiration_time = GNUNET_FS_year_to_time (GNUNET_FS_get_current_year () + 2); | 206 | bo.expiration_time = |
207 | GNUNET_FS_year_to_time (GNUNET_FS_get_current_year () + 2); | ||
207 | bo.anonymity_level = 1; | 208 | bo.anonymity_level = 1; |
208 | nds->fip = GNUNET_FS_file_information_create_empty_directory (NULL, NULL, | 209 | nds->fip = |
209 | NULL, meta, &bo); | 210 | GNUNET_FS_file_information_create_empty_directory (NULL, NULL, NULL, meta, |
211 | &bo); | ||
210 | GNUNET_CONTAINER_meta_data_destroy (meta); | 212 | GNUNET_CONTAINER_meta_data_destroy (meta); |
211 | GNUNET_FS_GTK_edit_publish_dialog (builder, transient, | 213 | GNUNET_FS_GTK_edit_publish_dialog (builder, transient, nds->do_index, |
212 | nds->do_index, | 214 | nds->short_fn, nds->anonymity_level, |
213 | nds->short_fn, | 215 | nds->priority, nds->fip, FALSE, |
214 | nds->anonymity_level, | 216 | &adv_pseudonym_edit_publish_dialog_cb, |
215 | nds->priority, | 217 | nds); |
216 | nds->fip, FALSE, &adv_pseudonym_edit_publish_dialog_cb, nds); | ||
217 | } | 218 | } |
218 | 219 | ||
219 | void | 220 | void |
220 | GNUNET_GTK_select_pseudonym_dialog_realize_cb (GtkWidget *widget, | 221 | GNUNET_GTK_select_pseudonym_dialog_realize_cb (GtkWidget * widget, |
221 | gpointer user_data) | 222 | gpointer user_data) |
222 | { | 223 | { |
223 | GtkTreeView *tv; | 224 | GtkTreeView *tv; |
224 | GtkTreeSelection *sel; | 225 | GtkTreeSelection *sel; |
diff --git a/src/fs/gnunet-fs-gtk-main_window_create_pseudonym.c b/src/fs/gnunet-fs-gtk-main_window_create_pseudonym.c index c912aab6..dfa62bb1 100644 --- a/src/fs/gnunet-fs-gtk-main_window_create_pseudonym.c +++ b/src/fs/gnunet-fs-gtk-main_window_create_pseudonym.c | |||
@@ -27,8 +27,9 @@ | |||
27 | #include "gnunet-fs-gtk.h" | 27 | #include "gnunet-fs-gtk.h" |
28 | 28 | ||
29 | void | 29 | void |
30 | GNUNET_GTK_create_namespace_dialog_response_cb (GtkDialog *dialog, | 30 | GNUNET_GTK_create_namespace_dialog_response_cb (GtkDialog * dialog, |
31 | gint response_id, gpointer user_data) | 31 | gint response_id, |
32 | gpointer user_data) | ||
32 | { | 33 | { |
33 | const char *name; | 34 | const char *name; |
34 | gchar *name_loc; | 35 | gchar *name_loc; |
diff --git a/src/fs/gnunet-fs-gtk-main_window_file_download.c b/src/fs/gnunet-fs-gtk-main_window_file_download.c index cc3b7f8f..667bf086 100644 --- a/src/fs/gnunet-fs-gtk-main_window_file_download.c +++ b/src/fs/gnunet-fs-gtk-main_window_file_download.c | |||
@@ -41,11 +41,15 @@ GNUNET_GTK_main_menu_file_download_uri_activate_cb (GtkWidget * dummy, | |||
41 | 41 | ||
42 | builder = GTK_BUILDER (user_data); | 42 | builder = GTK_BUILDER (user_data); |
43 | 43 | ||
44 | dialog = GTK_WIDGET (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_window")); | 44 | dialog = |
45 | 45 | GTK_WIDGET (gtk_builder_get_object | |
46 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_dialog_url_textview_buffer")); | 46 | (builder, "GNUNET_GTK_open_url_window")); |
47 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | 47 | |
48 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | 48 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object |
49 | (builder, | ||
50 | "GNUNET_GTK_open_url_dialog_url_textview_buffer")); | ||
51 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | ||
52 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | ||
49 | gtk_text_buffer_delete (tb, &ti_start, &ti_end); | 53 | gtk_text_buffer_delete (tb, &ti_start, &ti_end); |
50 | 54 | ||
51 | /* TODO: queue the clipboard, maybe there's valid URI in there? | 55 | /* TODO: queue the clipboard, maybe there's valid URI in there? |
@@ -55,8 +59,8 @@ GNUNET_GTK_main_menu_file_download_uri_activate_cb (GtkWidget * dummy, | |||
55 | } | 59 | } |
56 | 60 | ||
57 | void | 61 | void |
58 | GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GtkButton *button, | 62 | GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GtkButton * button, |
59 | gpointer user_data) | 63 | gpointer user_data) |
60 | { | 64 | { |
61 | GtkBuilder *builder; | 65 | GtkBuilder *builder; |
62 | GtkWidget *dialog; | 66 | GtkWidget *dialog; |
@@ -69,18 +73,22 @@ GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GtkButton *button, | |||
69 | 73 | ||
70 | builder = GTK_BUILDER (user_data); | 74 | builder = GTK_BUILDER (user_data); |
71 | 75 | ||
72 | dialog = GTK_WIDGET (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_window")); | 76 | dialog = |
77 | GTK_WIDGET (gtk_builder_get_object | ||
78 | (builder, "GNUNET_GTK_open_url_window")); | ||
73 | 79 | ||
74 | gtk_widget_hide (dialog); | 80 | gtk_widget_hide (dialog); |
75 | 81 | ||
76 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_dialog_url_textview_buffer")); | 82 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object |
77 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | 83 | (builder, |
78 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | 84 | "GNUNET_GTK_open_url_dialog_url_textview_buffer")); |
85 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | ||
86 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | ||
79 | 87 | ||
80 | uris = gtk_text_buffer_get_text (tb, &ti_start, &ti_end, FALSE); | 88 | uris = gtk_text_buffer_get_text (tb, &ti_start, &ti_end, FALSE); |
81 | 89 | ||
82 | if (!GNUNET_GTK_get_selected_anonymity_level (builder, | 90 | if (!GNUNET_GTK_get_selected_anonymity_level |
83 | "main_window_search_anonymity_combobox", &anonymity_level)) | 91 | (builder, "main_window_search_anonymity_combobox", &anonymity_level)) |
84 | return; | 92 | return; |
85 | 93 | ||
86 | uri = GNUNET_FS_uri_parse (uris, &perr); | 94 | uri = GNUNET_FS_uri_parse (uris, &perr); |
@@ -105,6 +113,7 @@ GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GtkButton *button, | |||
105 | if (GNUNET_FS_uri_test_chk (uri) || GNUNET_FS_uri_test_loc (uri)) | 113 | if (GNUNET_FS_uri_test_chk (uri) || GNUNET_FS_uri_test_loc (uri)) |
106 | { | 114 | { |
107 | struct DownloadContext *dc; | 115 | struct DownloadContext *dc; |
116 | |||
108 | dc = GNUNET_malloc (sizeof (struct DownloadContext)); | 117 | dc = GNUNET_malloc (sizeof (struct DownloadContext)); |
109 | dc->uri = uri; | 118 | dc->uri = uri; |
110 | dc->anonymity = anonymity_level; | 119 | dc->anonymity = anonymity_level; |
@@ -116,24 +125,31 @@ GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GtkButton *button, | |||
116 | } | 125 | } |
117 | 126 | ||
118 | void | 127 | void |
119 | GNUNET_GTK_open_url_dialog_cancel_button_clicked_cb (GtkButton *button, | 128 | GNUNET_GTK_open_url_dialog_cancel_button_clicked_cb (GtkButton * button, |
120 | gpointer user_data) | 129 | gpointer user_data) |
121 | { | 130 | { |
122 | GtkBuilder *builder; | 131 | GtkBuilder *builder; |
132 | |||
123 | builder = GTK_BUILDER (user_data); | 133 | builder = GTK_BUILDER (user_data); |
124 | 134 | ||
125 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_window"))); | 135 | gtk_widget_hide (GTK_WIDGET |
136 | (gtk_builder_get_object | ||
137 | (builder, "GNUNET_GTK_open_url_window"))); | ||
126 | return; | 138 | return; |
127 | } | 139 | } |
128 | 140 | ||
129 | gboolean | 141 | gboolean |
130 | GNUNET_GTK_open_url_window_delete_event_cb (GtkWidget *widget, | 142 | GNUNET_GTK_open_url_window_delete_event_cb (GtkWidget * widget, |
131 | GdkEvent *event, gpointer user_data) | 143 | GdkEvent * event, |
144 | gpointer user_data) | ||
132 | { | 145 | { |
133 | GtkBuilder *builder; | 146 | GtkBuilder *builder; |
147 | |||
134 | builder = GTK_BUILDER (user_data); | 148 | builder = GTK_BUILDER (user_data); |
135 | 149 | ||
136 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_window"))); | 150 | gtk_widget_hide (GTK_WIDGET |
151 | (gtk_builder_get_object | ||
152 | (builder, "GNUNET_GTK_open_url_window"))); | ||
137 | return TRUE; | 153 | return TRUE; |
138 | } | 154 | } |
139 | 155 | ||
@@ -142,27 +158,32 @@ GNUNET_GTK_open_url_window_delete_event_cb (GtkWidget *widget, | |||
142 | #endif | 158 | #endif |
143 | 159 | ||
144 | gboolean | 160 | gboolean |
145 | GNUNET_GTK_open_url_dialog_url_textview_key_press_event_cb (GtkWidget *widget, | 161 | GNUNET_GTK_open_url_dialog_url_textview_key_press_event_cb (GtkWidget * widget, |
146 | GdkEventKey *event, gpointer user_data) | 162 | GdkEventKey * event, |
163 | gpointer user_data) | ||
147 | { | 164 | { |
148 | GtkBuilder *builder; | 165 | GtkBuilder *builder; |
166 | |||
149 | builder = GTK_BUILDER (user_data); | 167 | builder = GTK_BUILDER (user_data); |
150 | 168 | ||
151 | if (event->keyval == GDK_KEY_Return) | 169 | if (event->keyval == GDK_KEY_Return) |
152 | { | 170 | { |
153 | GtkWidget *execute = GTK_WIDGET (gtk_builder_get_object (builder, | 171 | GtkWidget *execute = GTK_WIDGET (gtk_builder_get_object (builder, |
154 | "GNUNET_GTK_open_url_dialog_execute_button")); | 172 | "GNUNET_GTK_open_url_dialog_execute_button")); |
173 | |||
155 | if (gtk_widget_get_sensitive (execute)) | 174 | if (gtk_widget_get_sensitive (execute)) |
156 | GNUNET_GTK_open_url_dialog_execute_button_clicked_cb ( | 175 | GNUNET_GTK_open_url_dialog_execute_button_clicked_cb (GTK_BUTTON |
157 | GTK_BUTTON (execute), user_data); | 176 | (execute), |
177 | user_data); | ||
158 | return TRUE; | 178 | return TRUE; |
159 | } | 179 | } |
160 | return FALSE; | 180 | return FALSE; |
161 | } | 181 | } |
162 | 182 | ||
163 | void | 183 | void |
164 | GNUNET_GTK_open_url_dialog_url_textview_buffer_changed_cb ( | 184 | GNUNET_GTK_open_url_dialog_url_textview_buffer_changed_cb (GtkTextBuffer * |
165 | GtkTextBuffer *textbuffer, gpointer user_data) | 185 | textbuffer, |
186 | gpointer user_data) | ||
166 | { | 187 | { |
167 | struct GNUNET_FS_Uri *uri; | 188 | struct GNUNET_FS_Uri *uri; |
168 | GtkTextBuffer *tb; | 189 | GtkTextBuffer *tb; |
@@ -174,9 +195,11 @@ GNUNET_GTK_open_url_dialog_url_textview_buffer_changed_cb ( | |||
174 | builder = GTK_BUILDER (user_data); | 195 | builder = GTK_BUILDER (user_data); |
175 | 196 | ||
176 | perr = NULL; | 197 | perr = NULL; |
177 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object (builder, "GNUNET_GTK_open_url_dialog_url_textview_buffer")); | 198 | tb = GTK_TEXT_BUFFER (gtk_builder_get_object |
178 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | 199 | (builder, |
179 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | 200 | "GNUNET_GTK_open_url_dialog_url_textview_buffer")); |
201 | gtk_text_buffer_get_iter_at_offset (tb, &ti_start, 0); | ||
202 | gtk_text_buffer_get_iter_at_offset (tb, &ti_end, -1); | ||
180 | 203 | ||
181 | uris = gtk_text_buffer_get_text (tb, &ti_start, &ti_end, FALSE); | 204 | uris = gtk_text_buffer_get_text (tb, &ti_start, &ti_end, FALSE); |
182 | if (uris != NULL) | 205 | if (uris != NULL) |
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 | } |
diff --git a/src/fs/gnunet-fs-gtk-main_window_open_directory.c b/src/fs/gnunet-fs-gtk-main_window_open_directory.c index e614451f..094ef67d 100644 --- a/src/fs/gnunet-fs-gtk-main_window_open_directory.c +++ b/src/fs/gnunet-fs-gtk-main_window_open_directory.c | |||
@@ -67,8 +67,8 @@ add_child (void *cls, const char *filename, const struct GNUNET_FS_Uri *uri, | |||
67 | dmeta = GNUNET_CONTAINER_meta_data_duplicate (meta); | 67 | dmeta = GNUNET_CONTAINER_meta_data_duplicate (meta); |
68 | GNUNET_CONTAINER_meta_data_insert (dmeta, "<user>", | 68 | GNUNET_CONTAINER_meta_data_insert (dmeta, "<user>", |
69 | EXTRACTOR_METATYPE_FILENAME, | 69 | EXTRACTOR_METATYPE_FILENAME, |
70 | EXTRACTOR_METAFORMAT_UTF8, | 70 | EXTRACTOR_METAFORMAT_UTF8, "text/plain", |
71 | "text/plain", acc->filename, | 71 | acc->filename, |
72 | strlen (acc->filename) + 1); | 72 | strlen (acc->filename) + 1); |
73 | acc->tab = GNUNET_GTK_add_to_uri_tab (&acc->iter, &acc->par, dmeta, NULL); | 73 | acc->tab = GNUNET_GTK_add_to_uri_tab (&acc->iter, &acc->par, dmeta, NULL); |
74 | tp = gtk_tree_model_get_path (GTK_TREE_MODEL (acc->tab->ts), &acc->iter); | 74 | tp = gtk_tree_model_get_path (GTK_TREE_MODEL (acc->tab->ts), &acc->iter); |
@@ -86,8 +86,9 @@ add_child (void *cls, const char *filename, const struct GNUNET_FS_Uri *uri, | |||
86 | } | 86 | } |
87 | 87 | ||
88 | void | 88 | void |
89 | GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog *dialog, | 89 | GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog * dialog, |
90 | gint response_id, gpointer user_data) | 90 | gint response_id, |
91 | gpointer user_data) | ||
91 | { | 92 | { |
92 | GtkBuilder *builder; | 93 | GtkBuilder *builder; |
93 | GtkWidget *ad; | 94 | GtkWidget *ad; |
@@ -106,7 +107,8 @@ GNUNET_GTK_open_directory_dialog_response_cb (GtkDialog *dialog, | |||
106 | } | 107 | } |
107 | 108 | ||
108 | filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad)); | 109 | filename = GNUNET_GTK_filechooser_get_filename_loc (GTK_FILE_CHOOSER (ad)); |
109 | filename_utf8 = GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER (ad)); | 110 | filename_utf8 = |
111 | GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER (ad)); | ||
110 | gtk_widget_destroy (ad); | 112 | gtk_widget_destroy (ad); |
111 | g_object_unref (G_OBJECT (builder)); | 113 | g_object_unref (G_OBJECT (builder)); |
112 | acc.filename = filename_utf8; | 114 | acc.filename = filename_utf8; |
diff --git a/src/fs/gnunet-fs-gtk.c b/src/fs/gnunet-fs-gtk.c index 257fb311..896ae708 100644 --- a/src/fs/gnunet-fs-gtk.c +++ b/src/fs/gnunet-fs-gtk.c | |||
@@ -120,20 +120,26 @@ GNUNET_GTK_quit_cb (GObject * object, gpointer user_data) | |||
120 | { | 120 | { |
121 | GNUNET_GTK_tray_icon_destroy (); | 121 | GNUNET_GTK_tray_icon_destroy (); |
122 | GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_IDLE, | 122 | GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_IDLE, |
123 | &shutdown_task, NULL); | 123 | &shutdown_task, NULL); |
124 | } | 124 | } |
125 | 125 | ||
126 | 126 | ||
127 | void | 127 | void |
128 | main_window_search_namespace_dropdown_button_toggled_cb (GtkToggleButton *togglebutton, | 128 | main_window_search_namespace_dropdown_button_toggled_cb (GtkToggleButton * |
129 | gpointer user_data) | 129 | togglebutton, |
130 | gpointer user_data) | ||
130 | { | 131 | { |
131 | gboolean active; | 132 | gboolean active; |
132 | GtkBuilder *builder = GTK_BUILDER (user_data); | 133 | GtkBuilder *builder = GTK_BUILDER (user_data); |
133 | GtkWidget *namespace_selector_window; | 134 | GtkWidget *namespace_selector_window; |
134 | GtkWidget *namespace_selector_treeview; | 135 | GtkWidget *namespace_selector_treeview; |
135 | namespace_selector_window = GTK_WIDGET (gtk_builder_get_object (builder, "namespace_selector_window")); | 136 | |
136 | namespace_selector_treeview = GTK_WIDGET (gtk_builder_get_object (builder, "namespace_selector_treeview")); | 137 | namespace_selector_window = |
138 | GTK_WIDGET (gtk_builder_get_object | ||
139 | (builder, "namespace_selector_window")); | ||
140 | namespace_selector_treeview = | ||
141 | GTK_WIDGET (gtk_builder_get_object | ||
142 | (builder, "namespace_selector_treeview")); | ||
137 | g_object_get (G_OBJECT (togglebutton), "active", &active, NULL); | 143 | g_object_get (G_OBJECT (togglebutton), "active", &active, NULL); |
138 | if (active) | 144 | if (active) |
139 | { | 145 | { |
@@ -141,7 +147,8 @@ main_window_search_namespace_dropdown_button_toggled_cb (GtkToggleButton *toggle | |||
141 | GdkWindow *main_window_gdk; | 147 | GdkWindow *main_window_gdk; |
142 | gint mwg_x, mwg_y, tgb_x, tgb_y, popup_x, popup_y; | 148 | gint mwg_x, mwg_y, tgb_x, tgb_y, popup_x, popup_y; |
143 | 149 | ||
144 | gtk_widget_get_allocation (GTK_WIDGET (togglebutton), &togglebutton_allocation); | 150 | gtk_widget_get_allocation (GTK_WIDGET (togglebutton), |
151 | &togglebutton_allocation); | ||
145 | 152 | ||
146 | main_window_gdk = gtk_widget_get_window (GTK_WIDGET (togglebutton)); | 153 | main_window_gdk = gtk_widget_get_window (GTK_WIDGET (togglebutton)); |
147 | 154 | ||
@@ -172,14 +179,19 @@ gboolean | |||
172 | namespace_selector_window_leave_timeout_cb (gpointer user_data) | 179 | namespace_selector_window_leave_timeout_cb (gpointer user_data) |
173 | { | 180 | { |
174 | GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (user_data); | 181 | GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (user_data); |
182 | |||
175 | /* This will eventually hide the namespace selector */ | 183 | /* This will eventually hide the namespace selector */ |
176 | gtk_toggle_button_set_active (toggle_button, FALSE); | 184 | gtk_toggle_button_set_active (toggle_button, FALSE); |
177 | return FALSE; | 185 | return FALSE; |
178 | } | 186 | } |
179 | 187 | ||
180 | gboolean | 188 | gboolean |
181 | main_window_search_namespace_dropdown_button_enter_notify_event_cb ( | 189 | main_window_search_namespace_dropdown_button_enter_notify_event_cb (GtkWidget * |
182 | GtkWidget *widget, GdkEvent *event, gpointer user_data) | 190 | widget, |
191 | GdkEvent * | ||
192 | event, | ||
193 | gpointer | ||
194 | user_data) | ||
183 | { | 195 | { |
184 | if (namespace_selector_window_leave_timeout_source > 0) | 196 | if (namespace_selector_window_leave_timeout_source > 0) |
185 | g_source_remove (namespace_selector_window_leave_timeout_source); | 197 | g_source_remove (namespace_selector_window_leave_timeout_source); |
@@ -188,8 +200,9 @@ main_window_search_namespace_dropdown_button_enter_notify_event_cb ( | |||
188 | 200 | ||
189 | 201 | ||
190 | gboolean | 202 | gboolean |
191 | namespace_selector_window_leave_notify_event_cb (GtkWidget *widget, | 203 | namespace_selector_window_leave_notify_event_cb (GtkWidget * widget, |
192 | GdkEvent *event, gpointer user_data) | 204 | GdkEvent * event, |
205 | gpointer user_data) | ||
193 | { | 206 | { |
194 | GtkBuilder *builder; | 207 | GtkBuilder *builder; |
195 | GtkToggleButton *toggle_button; | 208 | GtkToggleButton *toggle_button; |
@@ -197,12 +210,17 @@ namespace_selector_window_leave_notify_event_cb (GtkWidget *widget, | |||
197 | 210 | ||
198 | builder = GTK_BUILDER (user_data); | 211 | builder = GTK_BUILDER (user_data); |
199 | 212 | ||
200 | toggle_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "main_window_search_namespace_dropdown_button")); | 213 | toggle_button = |
214 | GTK_TOGGLE_BUTTON (gtk_builder_get_object | ||
215 | (builder, | ||
216 | "main_window_search_namespace_dropdown_button")); | ||
201 | 217 | ||
202 | /* Place a timeout to hide the window. It will be cancelled if the cursor | 218 | /* Place a timeout to hide the window. It will be cancelled if the cursor |
203 | * enters the namespace selector window or the toggle button within 100ms. | 219 | * enters the namespace selector window or the toggle button within 100ms. |
204 | */ | 220 | */ |
205 | timeout_id = g_timeout_add (100, &namespace_selector_window_leave_timeout_cb, toggle_button); | 221 | timeout_id = |
222 | g_timeout_add (100, &namespace_selector_window_leave_timeout_cb, | ||
223 | toggle_button); | ||
206 | if (namespace_selector_window_leave_timeout_source > 0) | 224 | if (namespace_selector_window_leave_timeout_source > 0) |
207 | g_source_remove (namespace_selector_window_leave_timeout_source); | 225 | g_source_remove (namespace_selector_window_leave_timeout_source); |
208 | namespace_selector_window_leave_timeout_source = timeout_id; | 226 | namespace_selector_window_leave_timeout_source = timeout_id; |
@@ -211,8 +229,8 @@ namespace_selector_window_leave_notify_event_cb (GtkWidget *widget, | |||
211 | } | 229 | } |
212 | 230 | ||
213 | gboolean | 231 | gboolean |
214 | GNUNET_GTK_get_tree_string (GtkTreeView *treeview, GtkTreePath *treepath, | 232 | GNUNET_GTK_get_tree_string (GtkTreeView * treeview, GtkTreePath * treepath, |
215 | guint column, gchar **value) | 233 | guint column, gchar ** value) |
216 | { | 234 | { |
217 | gboolean ok; | 235 | gboolean ok; |
218 | GtkTreeModel *model; | 236 | GtkTreeModel *model; |
@@ -222,6 +240,7 @@ GNUNET_GTK_get_tree_string (GtkTreeView *treeview, GtkTreePath *treepath, | |||
222 | return FALSE; | 240 | return FALSE; |
223 | 241 | ||
224 | GtkTreeIter iter; | 242 | GtkTreeIter iter; |
243 | |||
225 | ok = gtk_tree_model_get_iter (model, &iter, treepath); | 244 | ok = gtk_tree_model_get_iter (model, &iter, treepath); |
226 | if (!ok) | 245 | if (!ok) |
227 | return FALSE; | 246 | return FALSE; |
@@ -234,7 +253,8 @@ GNUNET_GTK_get_tree_string (GtkTreeView *treeview, GtkTreePath *treepath, | |||
234 | } | 253 | } |
235 | 254 | ||
236 | gboolean | 255 | gboolean |
237 | GNUNET_GTK_get_selected_anonymity_level (GtkBuilder *builder, gchar *combo_name, guint *p_level) | 256 | GNUNET_GTK_get_selected_anonymity_level (GtkBuilder * builder, |
257 | gchar * combo_name, guint * p_level) | ||
238 | { | 258 | { |
239 | GtkComboBox *combo; | 259 | GtkComboBox *combo; |
240 | GtkTreeIter iter; | 260 | GtkTreeIter iter; |
@@ -259,7 +279,8 @@ GNUNET_GTK_get_selected_anonymity_level (GtkBuilder *builder, gchar *combo_name, | |||
259 | } | 279 | } |
260 | 280 | ||
261 | gboolean | 281 | gboolean |
262 | GNUNET_GTK_select_anonymity_level (GtkBuilder *builder, gchar *combo_name, guint sel_level) | 282 | GNUNET_GTK_select_anonymity_level (GtkBuilder * builder, gchar * combo_name, |
283 | guint sel_level) | ||
263 | { | 284 | { |
264 | GtkComboBox *combo; | 285 | GtkComboBox *combo; |
265 | GtkTreeIter iter; | 286 | GtkTreeIter iter; |
@@ -275,9 +296,8 @@ GNUNET_GTK_select_anonymity_level (GtkBuilder *builder, gchar *combo_name, guint | |||
275 | if (!model) | 296 | if (!model) |
276 | return FALSE; | 297 | return FALSE; |
277 | 298 | ||
278 | for (go_on = gtk_tree_model_get_iter_first (model, &iter); | 299 | for (go_on = gtk_tree_model_get_iter_first (model, &iter); go_on; |
279 | go_on; | 300 | go_on = gtk_tree_model_iter_next (model, &iter)) |
280 | go_on = gtk_tree_model_iter_next (model, &iter)) | ||
281 | { | 301 | { |
282 | gtk_tree_model_get (model, &iter, 1, &level, -1); | 302 | gtk_tree_model_get (model, &iter, 1, &level, -1); |
283 | if (level == sel_level) | 303 | if (level == sel_level) |
@@ -290,9 +310,11 @@ GNUNET_GTK_select_anonymity_level (GtkBuilder *builder, gchar *combo_name, guint | |||
290 | } | 310 | } |
291 | 311 | ||
292 | gboolean | 312 | gboolean |
293 | get_selected_namespace_treepath_iter_model_widget (GtkBuilder *builder, | 313 | get_selected_namespace_treepath_iter_model_widget (GtkBuilder * builder, |
294 | GtkTreePath **p_treepath, GtkTreeIter *p_iter, GtkTreeModel **p_model, | 314 | GtkTreePath ** p_treepath, |
295 | GtkWidget **p_widget) | 315 | GtkTreeIter * p_iter, |
316 | GtkTreeModel ** p_model, | ||
317 | GtkWidget ** p_widget) | ||
296 | { | 318 | { |
297 | GtkTreeSelection *selection; | 319 | GtkTreeSelection *selection; |
298 | GtkTreeModel *model; | 320 | GtkTreeModel *model; |
@@ -300,7 +322,9 @@ get_selected_namespace_treepath_iter_model_widget (GtkBuilder *builder, | |||
300 | GtkTreePath *treepath; | 322 | GtkTreePath *treepath; |
301 | GtkWidget *widget; | 323 | GtkWidget *widget; |
302 | 324 | ||
303 | widget = GTK_WIDGET (gtk_builder_get_object (builder, "namespace_selector_treeview")); | 325 | widget = |
326 | GTK_WIDGET (gtk_builder_get_object | ||
327 | (builder, "namespace_selector_treeview")); | ||
304 | if (!widget) | 328 | if (!widget) |
305 | return FALSE; | 329 | return FALSE; |
306 | 330 | ||
@@ -338,8 +362,8 @@ get_selected_namespace_treepath_iter_model_widget (GtkBuilder *builder, | |||
338 | } | 362 | } |
339 | 363 | ||
340 | void | 364 | void |
341 | namespace_selector_treeview_cursor_changed_cb (GtkWidget *widget, | 365 | namespace_selector_treeview_cursor_changed_cb (GtkWidget * widget, |
342 | gpointer user_data) | 366 | gpointer user_data) |
343 | { | 367 | { |
344 | GtkBuilder *builder; | 368 | GtkBuilder *builder; |
345 | GtkToggleButton *toggle_button; | 369 | GtkToggleButton *toggle_button; |
@@ -352,15 +376,20 @@ namespace_selector_treeview_cursor_changed_cb (GtkWidget *widget, | |||
352 | 376 | ||
353 | builder = GTK_BUILDER (user_data); | 377 | builder = GTK_BUILDER (user_data); |
354 | 378 | ||
355 | toggle_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "main_window_search_namespace_dropdown_button")); | 379 | toggle_button = |
380 | GTK_TOGGLE_BUTTON (gtk_builder_get_object | ||
381 | (builder, | ||
382 | "main_window_search_namespace_dropdown_button")); | ||
356 | if (!toggle_button) | 383 | if (!toggle_button) |
357 | return; | 384 | return; |
358 | 385 | ||
359 | search_entry = GTK_ENTRY (gtk_builder_get_object (builder, "main_window_search_entry")); | 386 | search_entry = |
387 | GTK_ENTRY (gtk_builder_get_object (builder, "main_window_search_entry")); | ||
360 | if (!search_entry) | 388 | if (!search_entry) |
361 | return; | 389 | return; |
362 | 390 | ||
363 | if (!get_selected_namespace_treepath_iter_model_widget (builder, &treepath, NULL, &model, NULL)) | 391 | if (!get_selected_namespace_treepath_iter_model_widget |
392 | (builder, &treepath, NULL, &model, NULL)) | ||
364 | return; | 393 | return; |
365 | ref = gtk_tree_row_reference_new (model, treepath); | 394 | ref = gtk_tree_row_reference_new (model, treepath); |
366 | old = g_object_get_data (G_OBJECT (toggle_button), "selected-row-reference"); | 395 | old = g_object_get_data (G_OBJECT (toggle_button), "selected-row-reference"); |
@@ -369,18 +398,20 @@ namespace_selector_treeview_cursor_changed_cb (GtkWidget *widget, | |||
369 | g_object_set_data (G_OBJECT (toggle_button), "selected-row-reference", ref); | 398 | g_object_set_data (G_OBJECT (toggle_button), "selected-row-reference", ref); |
370 | 399 | ||
371 | 400 | ||
372 | sel_namespace_label = GTK_LABEL (gtk_builder_get_object (builder, "main_window_search_selected_namespace_label")); | 401 | sel_namespace_label = |
402 | GTK_LABEL (gtk_builder_get_object | ||
403 | (builder, "main_window_search_selected_namespace_label")); | ||
373 | if (!sel_namespace_label) | 404 | if (!sel_namespace_label) |
374 | return; | 405 | return; |
375 | 406 | ||
376 | if (GNUNET_GTK_get_tree_string (GTK_TREE_VIEW (widget), treepath, 0, | 407 | if (GNUNET_GTK_get_tree_string (GTK_TREE_VIEW (widget), treepath, 0, &value) |
377 | &value) && value != NULL) | 408 | && value != NULL) |
378 | { | 409 | { |
379 | gtk_label_set_text (sel_namespace_label, value); | 410 | gtk_label_set_text (sel_namespace_label, value); |
380 | g_free (value); | 411 | g_free (value); |
381 | } | 412 | } |
382 | if (GNUNET_GTK_get_tree_string (GTK_TREE_VIEW (widget), treepath, 2, | 413 | if (GNUNET_GTK_get_tree_string (GTK_TREE_VIEW (widget), treepath, 2, &value) |
383 | &value) && value != NULL) | 414 | && value != NULL) |
384 | { | 415 | { |
385 | gtk_entry_set_text (search_entry, value); | 416 | gtk_entry_set_text (search_entry, value); |
386 | g_free (value); | 417 | g_free (value); |
@@ -393,7 +424,7 @@ namespace_selector_treeview_cursor_changed_cb (GtkWidget *widget, | |||
393 | } | 424 | } |
394 | 425 | ||
395 | GtkTreeRowReference * | 426 | GtkTreeRowReference * |
396 | get_ns_selected_row (GtkTreeView *tree) | 427 | get_ns_selected_row (GtkTreeView * tree) |
397 | { | 428 | { |
398 | GtkTreeSelection *sel; | 429 | GtkTreeSelection *sel; |
399 | GList *rows, *row; | 430 | GList *rows, *row; |
@@ -414,8 +445,9 @@ get_ns_selected_row (GtkTreeView *tree) | |||
414 | } | 445 | } |
415 | 446 | ||
416 | gboolean | 447 | gboolean |
417 | namespace_selector_treeview_button_press_event_cb (GtkWidget *widget, | 448 | namespace_selector_treeview_button_press_event_cb (GtkWidget * widget, |
418 | GdkEvent *event, gpointer user_data) | 449 | GdkEvent * event, |
450 | gpointer user_data) | ||
419 | { | 451 | { |
420 | GtkTreeRowReference *ref = NULL; | 452 | GtkTreeRowReference *ref = NULL; |
421 | 453 | ||
@@ -423,6 +455,7 @@ namespace_selector_treeview_button_press_event_cb (GtkWidget *widget, | |||
423 | if (ref != NULL) | 455 | if (ref != NULL) |
424 | { | 456 | { |
425 | gpointer old = g_object_get_data (G_OBJECT (widget), "pushed-rowreference"); | 457 | gpointer old = g_object_get_data (G_OBJECT (widget), "pushed-rowreference"); |
458 | |||
426 | if (old) | 459 | if (old) |
427 | gtk_tree_row_reference_free (old); | 460 | gtk_tree_row_reference_free (old); |
428 | g_object_set_data (G_OBJECT (widget), "pushed-rowreference", ref); | 461 | g_object_set_data (G_OBJECT (widget), "pushed-rowreference", ref); |
@@ -431,8 +464,9 @@ namespace_selector_treeview_button_press_event_cb (GtkWidget *widget, | |||
431 | } | 464 | } |
432 | 465 | ||
433 | gboolean | 466 | gboolean |
434 | namespace_selector_treeview_button_release_event_cb (GtkWidget *widget, | 467 | namespace_selector_treeview_button_release_event_cb (GtkWidget * widget, |
435 | GdkEvent *event, gpointer user_data) | 468 | GdkEvent * event, |
469 | gpointer user_data) | ||
436 | { | 470 | { |
437 | GtkTreeRowReference *ref = NULL; | 471 | GtkTreeRowReference *ref = NULL; |
438 | gpointer old = g_object_get_data (G_OBJECT (widget), "pushed-rowreference"); | 472 | gpointer old = g_object_get_data (G_OBJECT (widget), "pushed-rowreference"); |
@@ -441,6 +475,7 @@ namespace_selector_treeview_button_release_event_cb (GtkWidget *widget, | |||
441 | if (ref && old) | 475 | if (ref && old) |
442 | { | 476 | { |
443 | GtkTreePath *path_ref, *path_old; | 477 | GtkTreePath *path_ref, *path_old; |
478 | |||
444 | path_ref = gtk_tree_row_reference_get_path (ref); | 479 | path_ref = gtk_tree_row_reference_get_path (ref); |
445 | path_old = gtk_tree_row_reference_get_path (old); | 480 | path_old = gtk_tree_row_reference_get_path (old); |
446 | if (gtk_tree_path_compare (path_ref, path_old) == 0) | 481 | if (gtk_tree_path_compare (path_ref, path_old) == 0) |
@@ -459,7 +494,7 @@ namespace_selector_treeview_button_release_event_cb (GtkWidget *widget, | |||
459 | } | 494 | } |
460 | 495 | ||
461 | void | 496 | void |
462 | main_window_search_button_clicked_cb (GtkButton *button, gpointer user_data) | 497 | main_window_search_button_clicked_cb (GtkButton * button, gpointer user_data) |
463 | { | 498 | { |
464 | GtkBuilder *builder; | 499 | GtkBuilder *builder; |
465 | GtkTreePath *namespace_treepath = NULL; | 500 | GtkTreePath *namespace_treepath = NULL; |
@@ -481,19 +516,22 @@ main_window_search_button_clicked_cb (GtkButton *button, gpointer user_data) | |||
481 | 516 | ||
482 | builder = GTK_BUILDER (user_data); | 517 | builder = GTK_BUILDER (user_data); |
483 | 518 | ||
484 | toggle_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, | 519 | toggle_button = |
485 | "main_window_search_namespace_dropdown_button")); | 520 | GTK_TOGGLE_BUTTON (gtk_builder_get_object |
521 | (builder, | ||
522 | "main_window_search_namespace_dropdown_button")); | ||
486 | 523 | ||
487 | if (!GNUNET_GTK_get_selected_anonymity_level (builder, | 524 | if (!GNUNET_GTK_get_selected_anonymity_level |
488 | "main_window_search_anonymity_combobox", &anonymity_level)) | 525 | (builder, "main_window_search_anonymity_combobox", &anonymity_level)) |
489 | return; | 526 | return; |
490 | 527 | ||
491 | mime_combo = GTK_COMBO_BOX (GNUNET_FS_GTK_get_main_window_object | 528 | mime_combo = |
492 | ("main_window_search_mime_combobox")); | 529 | GTK_COMBO_BOX (GNUNET_FS_GTK_get_main_window_object |
530 | ("main_window_search_mime_combobox")); | ||
493 | mime_model = gtk_combo_box_get_model (mime_combo); | 531 | mime_model = gtk_combo_box_get_model (mime_combo); |
494 | mime_keyword = NULL; | 532 | mime_keyword = NULL; |
495 | if (mime_model && gtk_combo_box_get_active_iter (mime_combo, &iter)) | 533 | if (mime_model && gtk_combo_box_get_active_iter (mime_combo, &iter)) |
496 | gtk_tree_model_get (mime_model, &iter, 0, &mime_keyword, -1); | 534 | gtk_tree_model_get (mime_model, &iter, 0, &mime_keyword, -1); |
497 | if (strcmp (mime_keyword, " ") == 0) | 535 | if (strcmp (mime_keyword, " ") == 0) |
498 | { | 536 | { |
499 | g_free (mime_keyword); | 537 | g_free (mime_keyword); |
@@ -505,14 +543,17 @@ main_window_search_button_clicked_cb (GtkButton *button, gpointer user_data) | |||
505 | { | 543 | { |
506 | namespace_model = gtk_tree_row_reference_get_model (ref); | 544 | namespace_model = gtk_tree_row_reference_get_model (ref); |
507 | namespace_treepath = gtk_tree_row_reference_get_path (ref); | 545 | namespace_treepath = gtk_tree_row_reference_get_path (ref); |
508 | if ( (NULL != namespace_treepath) && | 546 | if ((NULL != namespace_treepath) && |
509 | (TRUE == gtk_tree_model_get_iter (namespace_model, &iter, namespace_treepath)) ) | 547 | (TRUE == |
548 | gtk_tree_model_get_iter (namespace_model, &iter, namespace_treepath))) | ||
510 | gtk_tree_model_get (namespace_model, &iter, 1, &nsid, -1); | 549 | gtk_tree_model_get (namespace_model, &iter, 1, &nsid, -1); |
511 | } | 550 | } |
512 | query_entry = GTK_ENTRY (gtk_builder_get_object (builder, | 551 | query_entry = |
513 | "main_window_search_entry")); | 552 | GTK_ENTRY (gtk_builder_get_object (builder, "main_window_search_entry")); |
514 | entry_keywords = gtk_entry_get_text (query_entry); | 553 | entry_keywords = gtk_entry_get_text (query_entry); |
515 | keywords = g_strdup_printf ("%s %s%s", entry_keywords, mime_keyword ? "+" : "", mime_keyword ? mime_keyword : ""); | 554 | keywords = |
555 | g_strdup_printf ("%s %s%s", entry_keywords, mime_keyword ? "+" : "", | ||
556 | mime_keyword ? mime_keyword : ""); | ||
516 | g_free (mime_keyword); | 557 | g_free (mime_keyword); |
517 | if (nsid != NULL) | 558 | if (nsid != NULL) |
518 | { | 559 | { |
@@ -525,14 +566,14 @@ main_window_search_button_clicked_cb (GtkButton *button, gpointer user_data) | |||
525 | uri = GNUNET_FS_uri_ksk_create (keywords, &emsg); | 566 | uri = GNUNET_FS_uri_ksk_create (keywords, &emsg); |
526 | if (uri == NULL) | 567 | if (uri == NULL) |
527 | { | 568 | { |
528 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 569 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Invalid keyword string `%s': %s"), |
529 | _("Invalid keyword string `%s': %s"), keywords, emsg); | 570 | keywords, emsg); |
530 | GNUNET_free_non_null (emsg); | 571 | GNUNET_free_non_null (emsg); |
531 | return; | 572 | return; |
532 | } | 573 | } |
533 | } | 574 | } |
534 | GNUNET_FS_search_start (GNUNET_FS_GTK_get_fs_handle (), uri, | 575 | GNUNET_FS_search_start (GNUNET_FS_GTK_get_fs_handle (), uri, anonymity_level, |
535 | anonymity_level, GNUNET_FS_SEARCH_OPTION_NONE, NULL); | 576 | GNUNET_FS_SEARCH_OPTION_NONE, NULL); |
536 | 577 | ||
537 | g_free (keywords); | 578 | g_free (keywords); |
538 | GNUNET_FS_uri_destroy (uri); | 579 | GNUNET_FS_uri_destroy (uri); |
@@ -540,16 +581,19 @@ main_window_search_button_clicked_cb (GtkButton *button, gpointer user_data) | |||
540 | 581 | ||
541 | 582 | ||
542 | gboolean | 583 | gboolean |
543 | main_window_search_entry_key_press_event_cb (GtkWidget *widget, | 584 | main_window_search_entry_key_press_event_cb (GtkWidget * widget, |
544 | GdkEventKey *event, gpointer user_data) | 585 | GdkEventKey * event, |
586 | gpointer user_data) | ||
545 | { | 587 | { |
546 | GtkBuilder *builder; | 588 | GtkBuilder *builder; |
589 | |||
547 | builder = GTK_BUILDER (user_data); | 590 | builder = GTK_BUILDER (user_data); |
548 | 591 | ||
549 | if (event->keyval == GDK_KEY_Return) | 592 | if (event->keyval == GDK_KEY_Return) |
550 | { | 593 | { |
551 | GtkWidget *find = GTK_WIDGET (gtk_builder_get_object (builder, | 594 | GtkWidget *find = GTK_WIDGET (gtk_builder_get_object (builder, |
552 | "main_window_search_button")); | 595 | "main_window_search_button")); |
596 | |||
553 | main_window_search_button_clicked_cb (GTK_BUTTON (find), user_data); | 597 | main_window_search_button_clicked_cb (GTK_BUTTON (find), user_data); |
554 | return TRUE; | 598 | return TRUE; |
555 | } | 599 | } |
@@ -567,7 +611,7 @@ main_window_search_entry_key_press_event_cb (GtkWidget *widget, | |||
567 | */ | 611 | */ |
568 | static int | 612 | static int |
569 | add_namespace_to_ts (void *cls, const GNUNET_HashCode * pseudonym, | 613 | add_namespace_to_ts (void *cls, const GNUNET_HashCode * pseudonym, |
570 | const struct GNUNET_CONTAINER_MetaData *md, int rating) | 614 | const struct GNUNET_CONTAINER_MetaData *md, int rating) |
571 | { | 615 | { |
572 | GtkTreeStore *ts = cls; | 616 | GtkTreeStore *ts = cls; |
573 | char *root; | 617 | char *root; |
@@ -611,7 +655,10 @@ add_namespace_to_ts (void *cls, const GNUNET_HashCode * pseudonym, | |||
611 | else | 655 | else |
612 | { | 656 | { |
613 | char *utf8_desc = NULL; | 657 | char *utf8_desc = NULL; |
614 | utf8_desc = GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, description, strlen (description)); | 658 | |
659 | utf8_desc = | ||
660 | GNUNET_FS_GTK_dubious_meta_to_utf8 (EXTRACTOR_METAFORMAT_UTF8, | ||
661 | description, strlen (description)); | ||
615 | GNUNET_free (description); | 662 | GNUNET_free (description); |
616 | if (utf8_desc != NULL) | 663 | if (utf8_desc != NULL) |
617 | description = utf8_desc; | 664 | description = utf8_desc; |
@@ -619,7 +666,7 @@ add_namespace_to_ts (void *cls, const GNUNET_HashCode * pseudonym, | |||
619 | description = NULL; | 666 | description = NULL; |
620 | } | 667 | } |
621 | gtk_tree_store_insert_with_values (ts, &iter, NULL, G_MAXINT, 0, ns_name, 1, | 668 | gtk_tree_store_insert_with_values (ts, &iter, NULL, G_MAXINT, 0, ns_name, 1, |
622 | nsid, 2, root, 3, description, -1); | 669 | nsid, 2, root, 3, description, -1); |
623 | GNUNET_free (ns_name); | 670 | GNUNET_free (ns_name); |
624 | GNUNET_free_non_null (root); | 671 | GNUNET_free_non_null (root); |
625 | GNUNET_free_non_null (description); | 672 | GNUNET_free_non_null (description); |
@@ -627,7 +674,7 @@ add_namespace_to_ts (void *cls, const GNUNET_HashCode * pseudonym, | |||
627 | } | 674 | } |
628 | 675 | ||
629 | void | 676 | void |
630 | GNUNET_GTK_main_window_realize_cb (GtkWidget *widget, gpointer user_data) | 677 | GNUNET_GTK_main_window_realize_cb (GtkWidget * widget, gpointer user_data) |
631 | { | 678 | { |
632 | GtkTreeIter iter; | 679 | GtkTreeIter iter; |
633 | GtkTreeView *namespace_tree; | 680 | GtkTreeView *namespace_tree; |
@@ -638,15 +685,19 @@ GNUNET_GTK_main_window_realize_cb (GtkWidget *widget, gpointer user_data) | |||
638 | 685 | ||
639 | builder = GTK_BUILDER (user_data); | 686 | builder = GTK_BUILDER (user_data); |
640 | 687 | ||
641 | namespace_treestore = GTK_TREE_STORE (GNUNET_FS_GTK_get_main_window_object | 688 | namespace_treestore = |
642 | ("main_window_search_namespace_treestore")); | 689 | GTK_TREE_STORE (GNUNET_FS_GTK_get_main_window_object |
643 | namespace_tree = GTK_TREE_VIEW (GNUNET_FS_GTK_get_main_window_object | 690 | ("main_window_search_namespace_treestore")); |
644 | ("namespace_selector_treeview")); | 691 | namespace_tree = |
645 | metadata_tree = GTK_TREE_VIEW (GNUNET_FS_GTK_get_main_window_object | 692 | GTK_TREE_VIEW (GNUNET_FS_GTK_get_main_window_object |
646 | ("GNUNET_GTK_main_window_metadata_treeview")); | 693 | ("namespace_selector_treeview")); |
694 | metadata_tree = | ||
695 | GTK_TREE_VIEW (GNUNET_FS_GTK_get_main_window_object | ||
696 | ("GNUNET_GTK_main_window_metadata_treeview")); | ||
647 | 697 | ||
648 | /* Allow multiple selection in metadata view */ | 698 | /* Allow multiple selection in metadata view */ |
649 | gtk_tree_selection_set_mode (gtk_tree_view_get_selection (metadata_tree), GTK_SELECTION_MULTIPLE); | 699 | gtk_tree_selection_set_mode (gtk_tree_view_get_selection (metadata_tree), |
700 | GTK_SELECTION_MULTIPLE); | ||
650 | 701 | ||
651 | /* FIXME: find a way to manage pseudonyms. | 702 | /* FIXME: find a way to manage pseudonyms. |
652 | * Right now the list will be filled with ALL and ANY pseudonyms that we | 703 | * Right now the list will be filled with ALL and ANY pseudonyms that we |
@@ -657,33 +708,40 @@ GNUNET_GTK_main_window_realize_cb (GtkWidget *widget, gpointer user_data) | |||
657 | * drag them around to change the order in which they appear in the list. | 708 | * drag them around to change the order in which they appear in the list. |
658 | * All that is not possible with a simple "files in a directory" concept. | 709 | * All that is not possible with a simple "files in a directory" concept. |
659 | */ | 710 | */ |
660 | gtk_tree_store_insert_with_values (namespace_treestore, &iter, NULL, | 711 | gtk_tree_store_insert_with_values (namespace_treestore, &iter, NULL, G_MAXINT, |
661 | G_MAXINT, 0, "Any", 1, NULL, 2, "", 3, | 712 | 0, "Any", 1, NULL, 2, "", 3, |
662 | "Do not search in any particular namespace", -1); | 713 | "Do not search in any particular namespace", |
714 | -1); | ||
663 | /* | 715 | /* |
664 | GNUNET_PSEUDONYM_list_all (GNUNET_FS_GTK_get_configuration (), | 716 | * GNUNET_PSEUDONYM_list_all (GNUNET_FS_GTK_get_configuration (), |
665 | &add_namespace_to_ts, namespace_treestore); | 717 | * &add_namespace_to_ts, namespace_treestore); |
666 | */ | 718 | */ |
667 | GNUNET_PSEUDONYM_discovery_callback_register ( | 719 | GNUNET_PSEUDONYM_discovery_callback_register (GNUNET_FS_GTK_get_configuration |
668 | GNUNET_FS_GTK_get_configuration (), | 720 | (), &add_namespace_to_ts, |
669 | &add_namespace_to_ts, namespace_treestore); | 721 | namespace_treestore); |
670 | 722 | ||
671 | /* FIXME: read currently selected namespace from somewhere instead of selecting 0th item */ | 723 | /* FIXME: read currently selected namespace from somewhere instead of selecting 0th item */ |
672 | if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (namespace_treestore), &iter)) | 724 | if (gtk_tree_model_get_iter_first |
725 | (GTK_TREE_MODEL (namespace_treestore), &iter)) | ||
673 | { | 726 | { |
674 | gchar *value; | 727 | gchar *value; |
675 | GtkLabel *sel_namespace_label; | 728 | GtkLabel *sel_namespace_label; |
676 | GtkTreePath *treepath = gtk_tree_path_new_first (); | 729 | GtkTreePath *treepath = gtk_tree_path_new_first (); |
677 | gtk_tree_selection_select_iter (gtk_tree_view_get_selection ( | 730 | |
678 | namespace_tree), &iter); | 731 | gtk_tree_selection_select_iter (gtk_tree_view_get_selection |
679 | sel_namespace_label = GTK_LABEL (gtk_builder_get_object (builder, "main_window_search_selected_namespace_label")); | 732 | (namespace_tree), &iter); |
733 | sel_namespace_label = | ||
734 | GTK_LABEL (gtk_builder_get_object | ||
735 | (builder, "main_window_search_selected_namespace_label")); | ||
680 | if (GNUNET_GTK_get_tree_string (namespace_tree, treepath, 0, &value)) | 736 | if (GNUNET_GTK_get_tree_string (namespace_tree, treepath, 0, &value)) |
681 | gtk_label_set_text (sel_namespace_label, value); | 737 | gtk_label_set_text (sel_namespace_label, value); |
682 | gtk_tree_path_free (treepath); | 738 | gtk_tree_path_free (treepath); |
683 | } | 739 | } |
684 | 740 | ||
685 | /* How the window (to trigger certain events) and immediately hide it */ | 741 | /* How the window (to trigger certain events) and immediately hide it */ |
686 | namespace_selector_window = GTK_WIDGET (gtk_builder_get_object (builder, "namespace_selector_window")); | 742 | namespace_selector_window = |
743 | GTK_WIDGET (gtk_builder_get_object | ||
744 | (builder, "namespace_selector_window")); | ||
687 | gtk_widget_show (namespace_selector_window); | 745 | gtk_widget_show (namespace_selector_window); |
688 | gtk_widget_hide (namespace_selector_window); | 746 | gtk_widget_hide (namespace_selector_window); |
689 | 747 | ||
@@ -714,10 +772,8 @@ run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
714 | 772 | ||
715 | /* initialize file-sharing */ | 773 | /* initialize file-sharing */ |
716 | plugins = EXTRACTOR_plugin_add_defaults (EXTRACTOR_OPTION_DEFAULT_POLICY); | 774 | plugins = EXTRACTOR_plugin_add_defaults (EXTRACTOR_OPTION_DEFAULT_POLICY); |
717 | fs = GNUNET_FS_start (GNUNET_GTK_main_loop_get_configuration (ml), | 775 | fs = GNUNET_FS_start (GNUNET_GTK_main_loop_get_configuration (ml), "gnunet-gtk", &GNUNET_GTK_fs_event_handler, NULL, GNUNET_FS_FLAGS_NONE /* | GNUNET_FS_FLAGS_PERSISTENCE | |
718 | "gnunet-gtk", &GNUNET_GTK_fs_event_handler, NULL, | 776 | * GNUNET_FS_FLAGS_DO_PROBES */ , |
719 | GNUNET_FS_FLAGS_NONE /* | GNUNET_FS_FLAGS_PERSISTENCE | | ||
720 | GNUNET_FS_FLAGS_DO_PROBES*/, | ||
721 | GNUNET_FS_OPTIONS_END); | 777 | GNUNET_FS_OPTIONS_END); |
722 | if (fs != NULL) | 778 | if (fs != NULL) |
723 | { | 779 | { |
diff --git a/src/fs/gnunet-fs-gtk.h b/src/fs/gnunet-fs-gtk.h index 114be040..1eead2ab 100644 --- a/src/fs/gnunet-fs-gtk.h +++ b/src/fs/gnunet-fs-gtk.h | |||
@@ -72,8 +72,8 @@ GNUNET_FS_GTK_get_main_window_object (const char *name); | |||
72 | * @return TRUE on success, FALSE on error | 72 | * @return TRUE on success, FALSE on error |
73 | */ | 73 | */ |
74 | gboolean | 74 | gboolean |
75 | GNUNET_GTK_get_selected_anonymity_level (GtkBuilder *builder, | 75 | GNUNET_GTK_get_selected_anonymity_level (GtkBuilder * builder, |
76 | gchar *combo_name, guint *p_level); | 76 | gchar * combo_name, guint * p_level); |
77 | 77 | ||
78 | 78 | ||
79 | /** | 79 | /** |
@@ -86,8 +86,8 @@ GNUNET_GTK_get_selected_anonymity_level (GtkBuilder *builder, | |||
86 | * @return TRUE on success, FALSE on error (no item with such level) | 86 | * @return TRUE on success, FALSE on error (no item with such level) |
87 | */ | 87 | */ |
88 | gboolean | 88 | gboolean |
89 | GNUNET_GTK_select_anonymity_level (GtkBuilder *builder, | 89 | GNUNET_GTK_select_anonymity_level (GtkBuilder * builder, gchar * combo_name, |
90 | gchar *combo_name, guint sel_level); | 90 | guint sel_level); |
91 | 91 | ||
92 | #endif | 92 | #endif |
93 | /* end of gnunet-fs-gtk.h */ | 93 | /* end of gnunet-fs-gtk.h */ |
diff --git a/src/fs/metatypes.c b/src/fs/metatypes.c index 2acc0e57..a7fe0655 100644 --- a/src/fs/metatypes.c +++ b/src/fs/metatypes.c | |||
@@ -1,1187 +1,959 @@ | |||
1 | 1 | gint types_generic[3 + 26 + 7 + 8 + 11 + 10 + 3 + 26 + 17 + 5 + 11 + 45 + 8 + | |
2 | gint types_generic[3 + 26 + 7 + 8 + 11 + 10 + 3 + 26 + 17 + 5 + 11 + 45 + 8 + 1] = | 2 | 1] = |
3 | { /* Generic */ | 3 | { /* Generic */ |
4 | EXTRACTOR_METATYPE_MIMETYPE, | 4 | EXTRACTOR_METATYPE_MIMETYPE, EXTRACTOR_METATYPE_FILENAME, |
5 | EXTRACTOR_METATYPE_FILENAME, | 5 | EXTRACTOR_METATYPE_COMMENT, EXTRACTOR_METATYPE_TITLE, |
6 | EXTRACTOR_METATYPE_COMMENT, | 6 | EXTRACTOR_METATYPE_BOOK_TITLE, EXTRACTOR_METATYPE_BOOK_EDITION, |
7 | 7 | EXTRACTOR_METATYPE_BOOK_CHAPTER_NUMBER, | |
8 | EXTRACTOR_METATYPE_TITLE, | 8 | EXTRACTOR_METATYPE_JOURNAL_NAME, EXTRACTOR_METATYPE_JOURNAL_VOLUME, |
9 | EXTRACTOR_METATYPE_BOOK_TITLE, | 9 | EXTRACTOR_METATYPE_JOURNAL_NUMBER, EXTRACTOR_METATYPE_PAGE_COUNT, |
10 | EXTRACTOR_METATYPE_BOOK_EDITION, | 10 | EXTRACTOR_METATYPE_PAGE_RANGE, EXTRACTOR_METATYPE_AUTHOR_NAME, |
11 | EXTRACTOR_METATYPE_BOOK_CHAPTER_NUMBER, | 11 | EXTRACTOR_METATYPE_AUTHOR_EMAIL, |
12 | EXTRACTOR_METATYPE_JOURNAL_NAME, | 12 | EXTRACTOR_METATYPE_AUTHOR_INSTITUTION, EXTRACTOR_METATYPE_PUBLISHER, |
13 | EXTRACTOR_METATYPE_JOURNAL_VOLUME, | 13 | EXTRACTOR_METATYPE_PUBLISHER_ADDRESS, |
14 | EXTRACTOR_METATYPE_JOURNAL_NUMBER, | 14 | EXTRACTOR_METATYPE_PUBLISHER_INSTITUTION, |
15 | EXTRACTOR_METATYPE_PAGE_COUNT, | 15 | EXTRACTOR_METATYPE_PUBLISHER_SERIES, |
16 | EXTRACTOR_METATYPE_PAGE_RANGE, | 16 | EXTRACTOR_METATYPE_PUBLICATION_TYPE, |
17 | EXTRACTOR_METATYPE_AUTHOR_NAME, | 17 | EXTRACTOR_METATYPE_PUBLICATION_YEAR, |
18 | EXTRACTOR_METATYPE_AUTHOR_EMAIL, | 18 | EXTRACTOR_METATYPE_PUBLICATION_MONTH, |
19 | EXTRACTOR_METATYPE_AUTHOR_INSTITUTION, | 19 | EXTRACTOR_METATYPE_PUBLICATION_DAY, |
20 | EXTRACTOR_METATYPE_PUBLISHER, | 20 | EXTRACTOR_METATYPE_PUBLICATION_DATE, EXTRACTOR_METATYPE_BIBTEX_EPRINT, |
21 | EXTRACTOR_METATYPE_PUBLISHER_ADDRESS, | 21 | EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE, EXTRACTOR_METATYPE_LANGUAGE, |
22 | EXTRACTOR_METATYPE_PUBLISHER_INSTITUTION, | 22 | EXTRACTOR_METATYPE_CREATION_TIME, EXTRACTOR_METATYPE_URL, |
23 | EXTRACTOR_METATYPE_PUBLISHER_SERIES, | 23 | EXTRACTOR_METATYPE_URI, EXTRACTOR_METATYPE_ISRC, |
24 | EXTRACTOR_METATYPE_PUBLICATION_TYPE, | 24 | EXTRACTOR_METATYPE_HASH_MD4, EXTRACTOR_METATYPE_HASH_MD5, |
25 | EXTRACTOR_METATYPE_PUBLICATION_YEAR, | 25 | EXTRACTOR_METATYPE_HASH_SHA0, EXTRACTOR_METATYPE_HASH_SHA1, |
26 | EXTRACTOR_METATYPE_PUBLICATION_MONTH, | 26 | EXTRACTOR_METATYPE_HASH_RMD160, EXTRACTOR_METATYPE_GPS_LATITUDE_REF, |
27 | EXTRACTOR_METATYPE_PUBLICATION_DAY, | 27 | EXTRACTOR_METATYPE_GPS_LATITUDE, EXTRACTOR_METATYPE_GPS_LONGITUDE_REF, |
28 | EXTRACTOR_METATYPE_PUBLICATION_DATE, | 28 | EXTRACTOR_METATYPE_GPS_LONGITUDE, EXTRACTOR_METATYPE_LOCATION_CITY, |
29 | EXTRACTOR_METATYPE_BIBTEX_EPRINT, | 29 | EXTRACTOR_METATYPE_LOCATION_SUBLOCATION, |
30 | EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE, | 30 | EXTRACTOR_METATYPE_LOCATION_COUNTRY, |
31 | EXTRACTOR_METATYPE_LANGUAGE, | 31 | EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, |
32 | EXTRACTOR_METATYPE_CREATION_TIME, | 32 | EXTRACTOR_METATYPE_UNKNOWN, EXTRACTOR_METATYPE_DESCRIPTION, |
33 | EXTRACTOR_METATYPE_URL, | 33 | EXTRACTOR_METATYPE_COPYRIGHT, EXTRACTOR_METATYPE_RIGHTS, |
34 | 34 | EXTRACTOR_METATYPE_KEYWORDS, EXTRACTOR_METATYPE_ABSTRACT, | |
35 | EXTRACTOR_METATYPE_URI, | 35 | EXTRACTOR_METATYPE_SUMMARY, EXTRACTOR_METATYPE_SUBJECT, |
36 | EXTRACTOR_METATYPE_ISRC, | 36 | EXTRACTOR_METATYPE_CREATOR, EXTRACTOR_METATYPE_FORMAT, |
37 | EXTRACTOR_METATYPE_HASH_MD4, | 37 | EXTRACTOR_METATYPE_FORMAT_VERSION, |
38 | EXTRACTOR_METATYPE_HASH_MD5, | 38 | EXTRACTOR_METATYPE_CREATED_BY_SOFTWARE, |
39 | EXTRACTOR_METATYPE_HASH_SHA0, | 39 | EXTRACTOR_METATYPE_UNKNOWN_DATE, EXTRACTOR_METATYPE_CREATION_DATE, |
40 | EXTRACTOR_METATYPE_HASH_SHA1, | 40 | EXTRACTOR_METATYPE_MODIFICATION_DATE, EXTRACTOR_METATYPE_LAST_PRINTED, |
41 | EXTRACTOR_METATYPE_HASH_RMD160, | 41 | EXTRACTOR_METATYPE_LAST_SAVED_BY, |
42 | 42 | EXTRACTOR_METATYPE_TOTAL_EDITING_TIME, | |
43 | EXTRACTOR_METATYPE_GPS_LATITUDE_REF, | 43 | EXTRACTOR_METATYPE_EDITING_CYCLES, |
44 | EXTRACTOR_METATYPE_GPS_LATITUDE, | 44 | EXTRACTOR_METATYPE_MODIFIED_BY_SOFTWARE, |
45 | EXTRACTOR_METATYPE_GPS_LONGITUDE_REF, | 45 | EXTRACTOR_METATYPE_REVISION_HISTORY, |
46 | EXTRACTOR_METATYPE_GPS_LONGITUDE, | 46 | EXTRACTOR_METATYPE_EMBEDDED_FILE_SIZE, |
47 | EXTRACTOR_METATYPE_LOCATION_CITY, | 47 | EXTRACTOR_METATYPE_FINDER_FILE_TYPE, |
48 | EXTRACTOR_METATYPE_LOCATION_SUBLOCATION, | 48 | EXTRACTOR_METATYPE_FINDER_FILE_CREATOR, |
49 | EXTRACTOR_METATYPE_LOCATION_COUNTRY, | 49 | EXTRACTOR_METATYPE_PACKAGE_NAME, EXTRACTOR_METATYPE_PACKAGE_VERSION, |
50 | EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, | 50 | EXTRACTOR_METATYPE_SECTION, EXTRACTOR_METATYPE_UPLOAD_PRIORITY, |
51 | 51 | EXTRACTOR_METATYPE_PACKAGE_DEPENDENCY, | |
52 | EXTRACTOR_METATYPE_UNKNOWN, | 52 | EXTRACTOR_METATYPE_PACKAGE_CONFLICTS, |
53 | EXTRACTOR_METATYPE_DESCRIPTION, | 53 | EXTRACTOR_METATYPE_PACKAGE_REPLACES, |
54 | EXTRACTOR_METATYPE_COPYRIGHT, | 54 | EXTRACTOR_METATYPE_PACKAGE_PROVIDES, |
55 | EXTRACTOR_METATYPE_RIGHTS, | 55 | EXTRACTOR_METATYPE_PACKAGE_RECOMMENDS, |
56 | EXTRACTOR_METATYPE_KEYWORDS, | 56 | EXTRACTOR_METATYPE_PACKAGE_SUGGESTS, |
57 | EXTRACTOR_METATYPE_ABSTRACT, | 57 | EXTRACTOR_METATYPE_PACKAGE_MAINTAINER, |
58 | EXTRACTOR_METATYPE_SUMMARY, | 58 | EXTRACTOR_METATYPE_PACKAGE_INSTALLED_SIZE, |
59 | EXTRACTOR_METATYPE_SUBJECT, | 59 | EXTRACTOR_METATYPE_PACKAGE_SOURCE, |
60 | EXTRACTOR_METATYPE_CREATOR, | 60 | EXTRACTOR_METATYPE_PACKAGE_ESSENTIAL, |
61 | EXTRACTOR_METATYPE_FORMAT, | 61 | EXTRACTOR_METATYPE_TARGET_ARCHITECTURE, |
62 | EXTRACTOR_METATYPE_FORMAT_VERSION, | 62 | EXTRACTOR_METATYPE_PACKAGE_PRE_DEPENDENCY, EXTRACTOR_METATYPE_LICENSE, |
63 | 63 | EXTRACTOR_METATYPE_PACKAGE_DISTRIBUTION, EXTRACTOR_METATYPE_BUILDHOST, | |
64 | EXTRACTOR_METATYPE_CREATED_BY_SOFTWARE, | 64 | EXTRACTOR_METATYPE_VENDOR, EXTRACTOR_METATYPE_TARGET_OS, |
65 | EXTRACTOR_METATYPE_UNKNOWN_DATE, | 65 | EXTRACTOR_METATYPE_SOFTWARE_VERSION, |
66 | EXTRACTOR_METATYPE_CREATION_DATE, | 66 | EXTRACTOR_METATYPE_TARGET_PLATFORM, EXTRACTOR_METATYPE_RESOURCE_TYPE, |
67 | EXTRACTOR_METATYPE_MODIFICATION_DATE, | 67 | EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH, |
68 | EXTRACTOR_METATYPE_LAST_PRINTED, | 68 | EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY, |
69 | EXTRACTOR_METATYPE_LAST_SAVED_BY, | 69 | EXTRACTOR_METATYPE_CAMERA_MAKE, EXTRACTOR_METATYPE_CAMERA_MODEL, |
70 | EXTRACTOR_METATYPE_TOTAL_EDITING_TIME, | 70 | EXTRACTOR_METATYPE_EXPOSURE, EXTRACTOR_METATYPE_APERTURE, |
71 | EXTRACTOR_METATYPE_EDITING_CYCLES, | 71 | EXTRACTOR_METATYPE_EXPOSURE_BIAS, EXTRACTOR_METATYPE_FLASH, |
72 | EXTRACTOR_METATYPE_MODIFIED_BY_SOFTWARE, | 72 | EXTRACTOR_METATYPE_FLASH_BIAS, EXTRACTOR_METATYPE_FOCAL_LENGTH, |
73 | EXTRACTOR_METATYPE_REVISION_HISTORY, | 73 | EXTRACTOR_METATYPE_FOCAL_LENGTH_35MM, EXTRACTOR_METATYPE_ISO_SPEED, |
74 | 74 | EXTRACTOR_METATYPE_EXPOSURE_MODE, EXTRACTOR_METATYPE_METERING_MODE, | |
75 | EXTRACTOR_METATYPE_EMBEDDED_FILE_SIZE, | 75 | EXTRACTOR_METATYPE_MACRO_MODE, EXTRACTOR_METATYPE_IMAGE_QUALITY, |
76 | EXTRACTOR_METATYPE_FINDER_FILE_TYPE, | 76 | EXTRACTOR_METATYPE_WHITE_BALANCE, EXTRACTOR_METATYPE_ORIENTATION, |
77 | EXTRACTOR_METATYPE_FINDER_FILE_CREATOR, | 77 | EXTRACTOR_METATYPE_MAGNIFICATION, |
78 | 78 | EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, | |
79 | EXTRACTOR_METATYPE_PACKAGE_NAME, | 79 | EXTRACTOR_METATYPE_PRODUCED_BY_SOFTWARE, EXTRACTOR_METATYPE_THUMBNAIL, |
80 | EXTRACTOR_METATYPE_PACKAGE_VERSION, | 80 | EXTRACTOR_METATYPE_IMAGE_RESOLUTION, EXTRACTOR_METATYPE_SOURCE, |
81 | EXTRACTOR_METATYPE_SECTION, | 81 | EXTRACTOR_METATYPE_CHARACTER_SET, EXTRACTOR_METATYPE_LINE_COUNT, |
82 | EXTRACTOR_METATYPE_UPLOAD_PRIORITY, | 82 | EXTRACTOR_METATYPE_PARAGRAPH_COUNT, EXTRACTOR_METATYPE_WORD_COUNT, |
83 | EXTRACTOR_METATYPE_PACKAGE_DEPENDENCY, | 83 | EXTRACTOR_METATYPE_CHARACTER_COUNT, |
84 | EXTRACTOR_METATYPE_PACKAGE_CONFLICTS, | 84 | EXTRACTOR_METATYPE_PAGE_ORIENTATION, EXTRACTOR_METATYPE_PAPER_SIZE, |
85 | EXTRACTOR_METATYPE_PACKAGE_REPLACES, | 85 | EXTRACTOR_METATYPE_TEMPLATE, EXTRACTOR_METATYPE_COMPANY, |
86 | EXTRACTOR_METATYPE_PACKAGE_PROVIDES, | 86 | EXTRACTOR_METATYPE_MANAGER, EXTRACTOR_METATYPE_REVISION_NUMBER, |
87 | EXTRACTOR_METATYPE_PACKAGE_RECOMMENDS, | 87 | EXTRACTOR_METATYPE_DURATION, EXTRACTOR_METATYPE_ALBUM, |
88 | EXTRACTOR_METATYPE_PACKAGE_SUGGESTS, | 88 | EXTRACTOR_METATYPE_ARTIST, EXTRACTOR_METATYPE_GENRE, |
89 | EXTRACTOR_METATYPE_PACKAGE_MAINTAINER, | 89 | EXTRACTOR_METATYPE_TRACK_NUMBER, EXTRACTOR_METATYPE_DISC_NUMBER, |
90 | EXTRACTOR_METATYPE_PACKAGE_INSTALLED_SIZE, | 90 | EXTRACTOR_METATYPE_PERFORMER, EXTRACTOR_METATYPE_CONTACT_INFORMATION, |
91 | EXTRACTOR_METATYPE_PACKAGE_SOURCE, | 91 | EXTRACTOR_METATYPE_SONG_VERSION, EXTRACTOR_METATYPE_PICTURE, |
92 | EXTRACTOR_METATYPE_PACKAGE_ESSENTIAL, | 92 | EXTRACTOR_METATYPE_COVER_PICTURE, |
93 | EXTRACTOR_METATYPE_TARGET_ARCHITECTURE, | 93 | EXTRACTOR_METATYPE_CONTRIBUTOR_PICTURE, |
94 | EXTRACTOR_METATYPE_PACKAGE_PRE_DEPENDENCY, | 94 | EXTRACTOR_METATYPE_EVENT_PICTURE, EXTRACTOR_METATYPE_LOGO, |
95 | EXTRACTOR_METATYPE_LICENSE, | 95 | EXTRACTOR_METATYPE_BROADCAST_TELEVISION_SYSTEM, |
96 | EXTRACTOR_METATYPE_PACKAGE_DISTRIBUTION, | 96 | EXTRACTOR_METATYPE_SOURCE_DEVICE, EXTRACTOR_METATYPE_DISCLAIMER, |
97 | EXTRACTOR_METATYPE_BUILDHOST, | 97 | EXTRACTOR_METATYPE_WARNING, EXTRACTOR_METATYPE_PAGE_ORDER, |
98 | EXTRACTOR_METATYPE_VENDOR, | 98 | EXTRACTOR_METATYPE_WRITER, EXTRACTOR_METATYPE_PRODUCT_VERSION, |
99 | EXTRACTOR_METATYPE_TARGET_OS, | 99 | EXTRACTOR_METATYPE_CONTRIBUTOR_NAME, |
100 | EXTRACTOR_METATYPE_SOFTWARE_VERSION, | 100 | EXTRACTOR_METATYPE_MOVIE_DIRECTOR, EXTRACTOR_METATYPE_NETWORK_NAME, |
101 | EXTRACTOR_METATYPE_TARGET_PLATFORM, | 101 | EXTRACTOR_METATYPE_SHOW_NAME, EXTRACTOR_METATYPE_CHAPTER_NAME, |
102 | EXTRACTOR_METATYPE_RESOURCE_TYPE, | 102 | EXTRACTOR_METATYPE_SONG_COUNT, EXTRACTOR_METATYPE_STARTING_SONG, |
103 | EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH, | 103 | EXTRACTOR_METATYPE_PLAY_COUNTER, EXTRACTOR_METATYPE_CONDUCTOR, |
104 | EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY, | 104 | EXTRACTOR_METATYPE_INTERPRETATION, EXTRACTOR_METATYPE_COMPOSER, |
105 | 105 | EXTRACTOR_METATYPE_BEATS_PER_MINUTE, EXTRACTOR_METATYPE_ENCODED_BY, | |
106 | EXTRACTOR_METATYPE_CAMERA_MAKE, | 106 | EXTRACTOR_METATYPE_ORIGINAL_TITLE, EXTRACTOR_METATYPE_ORIGINAL_ARTIST, |
107 | EXTRACTOR_METATYPE_CAMERA_MODEL, | 107 | EXTRACTOR_METATYPE_ORIGINAL_WRITER, |
108 | EXTRACTOR_METATYPE_EXPOSURE, | 108 | EXTRACTOR_METATYPE_ORIGINAL_RELEASE_YEAR, |
109 | EXTRACTOR_METATYPE_APERTURE, | 109 | EXTRACTOR_METATYPE_ORIGINAL_PERFORMER, EXTRACTOR_METATYPE_LYRICS, |
110 | EXTRACTOR_METATYPE_EXPOSURE_BIAS, | 110 | EXTRACTOR_METATYPE_POPULARITY_METER, EXTRACTOR_METATYPE_LICENSEE, |
111 | EXTRACTOR_METATYPE_FLASH, | 111 | EXTRACTOR_METATYPE_MUSICIAN_CREDITS_LIST, EXTRACTOR_METATYPE_MOOD, |
112 | EXTRACTOR_METATYPE_FLASH_BIAS, | 112 | EXTRACTOR_METATYPE_SUBTITLE, EXTRACTOR_METATYPE_GNUNET_DISPLAY_TYPE, |
113 | EXTRACTOR_METATYPE_FOCAL_LENGTH, | 113 | EXTRACTOR_METATYPE_GNUNET_FULL_DATA, EXTRACTOR_METATYPE_RATING, |
114 | EXTRACTOR_METATYPE_FOCAL_LENGTH_35MM, | 114 | EXTRACTOR_METATYPE_ORGANIZATION, EXTRACTOR_METATYPE_RIPPER, |
115 | EXTRACTOR_METATYPE_ISO_SPEED, | 115 | EXTRACTOR_METATYPE_PRODUCER, EXTRACTOR_METATYPE_GROUP, |
116 | EXTRACTOR_METATYPE_EXPOSURE_MODE, | 116 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, |
117 | EXTRACTOR_METATYPE_METERING_MODE, | 117 | EXTRACTOR_METATYPE_RESERVED }; |
118 | EXTRACTOR_METATYPE_MACRO_MODE, | 118 | gint types_text[3 + 26 + 7 /*+ 8 */ + 11 + 10 + 3 /*+ 26 + 17 + 5 */ + |
119 | EXTRACTOR_METATYPE_IMAGE_QUALITY, | 119 | 11 /*+ 45 */ + 8 + 1] = |
120 | EXTRACTOR_METATYPE_WHITE_BALANCE, | 120 | { /* Text */ |
121 | EXTRACTOR_METATYPE_ORIENTATION, | 121 | EXTRACTOR_METATYPE_MIMETYPE, EXTRACTOR_METATYPE_FILENAME, |
122 | EXTRACTOR_METATYPE_MAGNIFICATION, | 122 | EXTRACTOR_METATYPE_COMMENT, EXTRACTOR_METATYPE_TITLE, |
123 | 123 | EXTRACTOR_METATYPE_BOOK_TITLE, EXTRACTOR_METATYPE_BOOK_EDITION, | |
124 | EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, | 124 | EXTRACTOR_METATYPE_BOOK_CHAPTER_NUMBER, EXTRACTOR_METATYPE_JOURNAL_NAME, |
125 | EXTRACTOR_METATYPE_PRODUCED_BY_SOFTWARE, | 125 | EXTRACTOR_METATYPE_JOURNAL_VOLUME, EXTRACTOR_METATYPE_JOURNAL_NUMBER, |
126 | EXTRACTOR_METATYPE_THUMBNAIL, | 126 | EXTRACTOR_METATYPE_PAGE_COUNT, EXTRACTOR_METATYPE_PAGE_RANGE, |
127 | EXTRACTOR_METATYPE_IMAGE_RESOLUTION, | 127 | EXTRACTOR_METATYPE_AUTHOR_NAME, EXTRACTOR_METATYPE_AUTHOR_EMAIL, |
128 | EXTRACTOR_METATYPE_SOURCE, | 128 | EXTRACTOR_METATYPE_AUTHOR_INSTITUTION, EXTRACTOR_METATYPE_PUBLISHER, |
129 | 129 | EXTRACTOR_METATYPE_PUBLISHER_ADDRESS, | |
130 | EXTRACTOR_METATYPE_CHARACTER_SET, | 130 | EXTRACTOR_METATYPE_PUBLISHER_INSTITUTION, |
131 | EXTRACTOR_METATYPE_LINE_COUNT, | 131 | EXTRACTOR_METATYPE_PUBLISHER_SERIES, |
132 | EXTRACTOR_METATYPE_PARAGRAPH_COUNT, | 132 | EXTRACTOR_METATYPE_PUBLICATION_TYPE, |
133 | EXTRACTOR_METATYPE_WORD_COUNT, | 133 | EXTRACTOR_METATYPE_PUBLICATION_YEAR, |
134 | EXTRACTOR_METATYPE_CHARACTER_COUNT, | 134 | EXTRACTOR_METATYPE_PUBLICATION_MONTH, |
135 | EXTRACTOR_METATYPE_PAGE_ORIENTATION, | 135 | EXTRACTOR_METATYPE_PUBLICATION_DAY, EXTRACTOR_METATYPE_PUBLICATION_DATE, |
136 | EXTRACTOR_METATYPE_PAPER_SIZE, | 136 | EXTRACTOR_METATYPE_BIBTEX_EPRINT, EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE, |
137 | EXTRACTOR_METATYPE_TEMPLATE, | 137 | EXTRACTOR_METATYPE_LANGUAGE, EXTRACTOR_METATYPE_CREATION_TIME, |
138 | EXTRACTOR_METATYPE_COMPANY, | 138 | EXTRACTOR_METATYPE_URL, EXTRACTOR_METATYPE_URI, |
139 | EXTRACTOR_METATYPE_MANAGER, | 139 | EXTRACTOR_METATYPE_ISRC, EXTRACTOR_METATYPE_HASH_MD4, |
140 | EXTRACTOR_METATYPE_REVISION_NUMBER, | 140 | EXTRACTOR_METATYPE_HASH_MD5, EXTRACTOR_METATYPE_HASH_SHA0, |
141 | 141 | EXTRACTOR_METATYPE_HASH_SHA1, EXTRACTOR_METATYPE_HASH_RMD160, | |
142 | EXTRACTOR_METATYPE_DURATION, | 142 | /* |
143 | EXTRACTOR_METATYPE_ALBUM, | 143 | EXTRACTOR_METATYPE_GPS_LATITUDE_REF, |
144 | EXTRACTOR_METATYPE_ARTIST, | 144 | EXTRACTOR_METATYPE_GPS_LATITUDE, |
145 | EXTRACTOR_METATYPE_GENRE, | 145 | EXTRACTOR_METATYPE_GPS_LONGITUDE_REF, |
146 | EXTRACTOR_METATYPE_TRACK_NUMBER, | 146 | EXTRACTOR_METATYPE_GPS_LONGITUDE, |
147 | EXTRACTOR_METATYPE_DISC_NUMBER, | 147 | EXTRACTOR_METATYPE_LOCATION_CITY, |
148 | EXTRACTOR_METATYPE_PERFORMER, | 148 | EXTRACTOR_METATYPE_LOCATION_SUBLOCATION, |
149 | EXTRACTOR_METATYPE_CONTACT_INFORMATION, | 149 | EXTRACTOR_METATYPE_LOCATION_COUNTRY, |
150 | EXTRACTOR_METATYPE_SONG_VERSION, | 150 | EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, |
151 | EXTRACTOR_METATYPE_PICTURE, | 151 | */ |
152 | EXTRACTOR_METATYPE_COVER_PICTURE, | 152 | EXTRACTOR_METATYPE_UNKNOWN, EXTRACTOR_METATYPE_DESCRIPTION, |
153 | EXTRACTOR_METATYPE_CONTRIBUTOR_PICTURE, | 153 | EXTRACTOR_METATYPE_COPYRIGHT, EXTRACTOR_METATYPE_RIGHTS, |
154 | EXTRACTOR_METATYPE_EVENT_PICTURE, | 154 | EXTRACTOR_METATYPE_KEYWORDS, EXTRACTOR_METATYPE_ABSTRACT, |
155 | EXTRACTOR_METATYPE_LOGO, | 155 | EXTRACTOR_METATYPE_SUMMARY, EXTRACTOR_METATYPE_SUBJECT, |
156 | EXTRACTOR_METATYPE_BROADCAST_TELEVISION_SYSTEM, | 156 | EXTRACTOR_METATYPE_CREATOR, EXTRACTOR_METATYPE_FORMAT, |
157 | EXTRACTOR_METATYPE_SOURCE_DEVICE, | 157 | EXTRACTOR_METATYPE_FORMAT_VERSION, |
158 | EXTRACTOR_METATYPE_DISCLAIMER, | 158 | EXTRACTOR_METATYPE_CREATED_BY_SOFTWARE, |
159 | EXTRACTOR_METATYPE_WARNING, | 159 | EXTRACTOR_METATYPE_UNKNOWN_DATE, EXTRACTOR_METATYPE_CREATION_DATE, |
160 | EXTRACTOR_METATYPE_PAGE_ORDER, | 160 | EXTRACTOR_METATYPE_MODIFICATION_DATE, EXTRACTOR_METATYPE_LAST_PRINTED, |
161 | EXTRACTOR_METATYPE_WRITER, | 161 | EXTRACTOR_METATYPE_LAST_SAVED_BY, EXTRACTOR_METATYPE_TOTAL_EDITING_TIME, |
162 | EXTRACTOR_METATYPE_PRODUCT_VERSION, | 162 | EXTRACTOR_METATYPE_EDITING_CYCLES, |
163 | EXTRACTOR_METATYPE_CONTRIBUTOR_NAME, | 163 | EXTRACTOR_METATYPE_MODIFIED_BY_SOFTWARE, |
164 | EXTRACTOR_METATYPE_MOVIE_DIRECTOR, | 164 | EXTRACTOR_METATYPE_REVISION_HISTORY, |
165 | EXTRACTOR_METATYPE_NETWORK_NAME, | 165 | EXTRACTOR_METATYPE_EMBEDDED_FILE_SIZE, |
166 | EXTRACTOR_METATYPE_SHOW_NAME, | 166 | EXTRACTOR_METATYPE_FINDER_FILE_TYPE, |
167 | EXTRACTOR_METATYPE_CHAPTER_NAME, | 167 | EXTRACTOR_METATYPE_FINDER_FILE_CREATOR, |
168 | EXTRACTOR_METATYPE_SONG_COUNT, | 168 | /* |
169 | EXTRACTOR_METATYPE_STARTING_SONG, | 169 | EXTRACTOR_METATYPE_PACKAGE_NAME, |
170 | EXTRACTOR_METATYPE_PLAY_COUNTER, | 170 | EXTRACTOR_METATYPE_PACKAGE_VERSION, |
171 | EXTRACTOR_METATYPE_CONDUCTOR, | 171 | EXTRACTOR_METATYPE_SECTION, |
172 | EXTRACTOR_METATYPE_INTERPRETATION, | 172 | EXTRACTOR_METATYPE_UPLOAD_PRIORITY, |
173 | EXTRACTOR_METATYPE_COMPOSER, | 173 | EXTRACTOR_METATYPE_PACKAGE_DEPENDENCY, |
174 | EXTRACTOR_METATYPE_BEATS_PER_MINUTE, | 174 | EXTRACTOR_METATYPE_PACKAGE_CONFLICTS, |
175 | EXTRACTOR_METATYPE_ENCODED_BY, | 175 | EXTRACTOR_METATYPE_PACKAGE_REPLACES, |
176 | EXTRACTOR_METATYPE_ORIGINAL_TITLE, | 176 | EXTRACTOR_METATYPE_PACKAGE_PROVIDES, |
177 | EXTRACTOR_METATYPE_ORIGINAL_ARTIST, | 177 | EXTRACTOR_METATYPE_PACKAGE_RECOMMENDS, |
178 | EXTRACTOR_METATYPE_ORIGINAL_WRITER, | 178 | EXTRACTOR_METATYPE_PACKAGE_SUGGESTS, |
179 | EXTRACTOR_METATYPE_ORIGINAL_RELEASE_YEAR, | 179 | EXTRACTOR_METATYPE_PACKAGE_MAINTAINER, |
180 | EXTRACTOR_METATYPE_ORIGINAL_PERFORMER, | 180 | EXTRACTOR_METATYPE_PACKAGE_INSTALLED_SIZE, |
181 | EXTRACTOR_METATYPE_LYRICS, | 181 | EXTRACTOR_METATYPE_PACKAGE_SOURCE, |
182 | EXTRACTOR_METATYPE_POPULARITY_METER, | 182 | EXTRACTOR_METATYPE_PACKAGE_ESSENTIAL, |
183 | EXTRACTOR_METATYPE_LICENSEE, | 183 | EXTRACTOR_METATYPE_TARGET_ARCHITECTURE, |
184 | EXTRACTOR_METATYPE_MUSICIAN_CREDITS_LIST, | 184 | EXTRACTOR_METATYPE_PACKAGE_PRE_DEPENDENCY, |
185 | EXTRACTOR_METATYPE_MOOD, | 185 | EXTRACTOR_METATYPE_LICENSE, |
186 | EXTRACTOR_METATYPE_SUBTITLE, | 186 | EXTRACTOR_METATYPE_PACKAGE_DISTRIBUTION, |
187 | 187 | EXTRACTOR_METATYPE_BUILDHOST, | |
188 | EXTRACTOR_METATYPE_GNUNET_DISPLAY_TYPE, | 188 | EXTRACTOR_METATYPE_VENDOR, |
189 | EXTRACTOR_METATYPE_GNUNET_FULL_DATA, | 189 | EXTRACTOR_METATYPE_TARGET_OS, |
190 | EXTRACTOR_METATYPE_RATING, | 190 | EXTRACTOR_METATYPE_SOFTWARE_VERSION, |
191 | EXTRACTOR_METATYPE_ORGANIZATION, | 191 | EXTRACTOR_METATYPE_TARGET_PLATFORM, |
192 | EXTRACTOR_METATYPE_RIPPER, | 192 | EXTRACTOR_METATYPE_RESOURCE_TYPE, |
193 | EXTRACTOR_METATYPE_PRODUCER, | 193 | EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH, |
194 | EXTRACTOR_METATYPE_GROUP, | 194 | EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY, |
195 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, | 195 | |
196 | 196 | EXTRACTOR_METATYPE_CAMERA_MAKE, | |
197 | EXTRACTOR_METATYPE_RESERVED | 197 | EXTRACTOR_METATYPE_CAMERA_MODEL, |
198 | }; | 198 | EXTRACTOR_METATYPE_EXPOSURE, |
199 | gint types_text[3 + 26 + 7 /*+ 8*/ + 11 + 10 + 3 /*+ 26 + 17 + 5*/ + 11 /*+ 45*/ + 8 + 1] = | 199 | EXTRACTOR_METATYPE_APERTURE, |
200 | { /* Text */ | 200 | EXTRACTOR_METATYPE_EXPOSURE_BIAS, |
201 | EXTRACTOR_METATYPE_MIMETYPE, | 201 | EXTRACTOR_METATYPE_FLASH, |
202 | EXTRACTOR_METATYPE_FILENAME, | 202 | EXTRACTOR_METATYPE_FLASH_BIAS, |
203 | EXTRACTOR_METATYPE_COMMENT, | 203 | EXTRACTOR_METATYPE_FOCAL_LENGTH, |
204 | 204 | EXTRACTOR_METATYPE_FOCAL_LENGTH_35MM, | |
205 | EXTRACTOR_METATYPE_TITLE, | 205 | EXTRACTOR_METATYPE_ISO_SPEED, |
206 | EXTRACTOR_METATYPE_BOOK_TITLE, | 206 | EXTRACTOR_METATYPE_EXPOSURE_MODE, |
207 | EXTRACTOR_METATYPE_BOOK_EDITION, | 207 | EXTRACTOR_METATYPE_METERING_MODE, |
208 | EXTRACTOR_METATYPE_BOOK_CHAPTER_NUMBER, | 208 | EXTRACTOR_METATYPE_MACRO_MODE, |
209 | EXTRACTOR_METATYPE_JOURNAL_NAME, | 209 | EXTRACTOR_METATYPE_IMAGE_QUALITY, |
210 | EXTRACTOR_METATYPE_JOURNAL_VOLUME, | 210 | EXTRACTOR_METATYPE_WHITE_BALANCE, |
211 | EXTRACTOR_METATYPE_JOURNAL_NUMBER, | 211 | EXTRACTOR_METATYPE_ORIENTATION, |
212 | EXTRACTOR_METATYPE_PAGE_COUNT, | 212 | EXTRACTOR_METATYPE_MAGNIFICATION, |
213 | EXTRACTOR_METATYPE_PAGE_RANGE, | 213 | |
214 | EXTRACTOR_METATYPE_AUTHOR_NAME, | 214 | EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, |
215 | EXTRACTOR_METATYPE_AUTHOR_EMAIL, | 215 | EXTRACTOR_METATYPE_PRODUCED_BY_SOFTWARE, |
216 | EXTRACTOR_METATYPE_AUTHOR_INSTITUTION, | 216 | EXTRACTOR_METATYPE_THUMBNAIL, |
217 | EXTRACTOR_METATYPE_PUBLISHER, | 217 | EXTRACTOR_METATYPE_IMAGE_RESOLUTION, |
218 | EXTRACTOR_METATYPE_PUBLISHER_ADDRESS, | 218 | EXTRACTOR_METATYPE_SOURCE, |
219 | EXTRACTOR_METATYPE_PUBLISHER_INSTITUTION, | 219 | */ |
220 | EXTRACTOR_METATYPE_PUBLISHER_SERIES, | 220 | EXTRACTOR_METATYPE_CHARACTER_SET, EXTRACTOR_METATYPE_LINE_COUNT, |
221 | EXTRACTOR_METATYPE_PUBLICATION_TYPE, | 221 | EXTRACTOR_METATYPE_PARAGRAPH_COUNT, EXTRACTOR_METATYPE_WORD_COUNT, |
222 | EXTRACTOR_METATYPE_PUBLICATION_YEAR, | 222 | EXTRACTOR_METATYPE_CHARACTER_COUNT, EXTRACTOR_METATYPE_PAGE_ORIENTATION, |
223 | EXTRACTOR_METATYPE_PUBLICATION_MONTH, | 223 | EXTRACTOR_METATYPE_PAPER_SIZE, EXTRACTOR_METATYPE_TEMPLATE, |
224 | EXTRACTOR_METATYPE_PUBLICATION_DAY, | 224 | EXTRACTOR_METATYPE_COMPANY, EXTRACTOR_METATYPE_MANAGER, |
225 | EXTRACTOR_METATYPE_PUBLICATION_DATE, | 225 | EXTRACTOR_METATYPE_REVISION_NUMBER, |
226 | EXTRACTOR_METATYPE_BIBTEX_EPRINT, | 226 | /* |
227 | EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE, | 227 | EXTRACTOR_METATYPE_DURATION, |
228 | EXTRACTOR_METATYPE_LANGUAGE, | 228 | EXTRACTOR_METATYPE_ALBUM, |
229 | EXTRACTOR_METATYPE_CREATION_TIME, | 229 | EXTRACTOR_METATYPE_ARTIST, |
230 | EXTRACTOR_METATYPE_URL, | 230 | EXTRACTOR_METATYPE_GENRE, |
231 | 231 | EXTRACTOR_METATYPE_TRACK_NUMBER, | |
232 | EXTRACTOR_METATYPE_URI, | 232 | EXTRACTOR_METATYPE_DISC_NUMBER, |
233 | EXTRACTOR_METATYPE_ISRC, | 233 | EXTRACTOR_METATYPE_PERFORMER, |
234 | EXTRACTOR_METATYPE_HASH_MD4, | 234 | EXTRACTOR_METATYPE_CONTACT_INFORMATION, |
235 | EXTRACTOR_METATYPE_HASH_MD5, | 235 | EXTRACTOR_METATYPE_SONG_VERSION, |
236 | EXTRACTOR_METATYPE_HASH_SHA0, | 236 | EXTRACTOR_METATYPE_PICTURE, |
237 | EXTRACTOR_METATYPE_HASH_SHA1, | 237 | EXTRACTOR_METATYPE_COVER_PICTURE, |
238 | EXTRACTOR_METATYPE_HASH_RMD160, | 238 | EXTRACTOR_METATYPE_CONTRIBUTOR_PICTURE, |
239 | /* | 239 | EXTRACTOR_METATYPE_EVENT_PICTURE, |
240 | EXTRACTOR_METATYPE_GPS_LATITUDE_REF, | 240 | EXTRACTOR_METATYPE_LOGO, |
241 | EXTRACTOR_METATYPE_GPS_LATITUDE, | 241 | EXTRACTOR_METATYPE_BROADCAST_TELEVISION_SYSTEM, |
242 | EXTRACTOR_METATYPE_GPS_LONGITUDE_REF, | 242 | EXTRACTOR_METATYPE_SOURCE_DEVICE, |
243 | EXTRACTOR_METATYPE_GPS_LONGITUDE, | 243 | EXTRACTOR_METATYPE_DISCLAIMER, |
244 | EXTRACTOR_METATYPE_LOCATION_CITY, | 244 | EXTRACTOR_METATYPE_WARNING, |
245 | EXTRACTOR_METATYPE_LOCATION_SUBLOCATION, | 245 | EXTRACTOR_METATYPE_PAGE_ORDER, |
246 | EXTRACTOR_METATYPE_LOCATION_COUNTRY, | 246 | EXTRACTOR_METATYPE_WRITER, |
247 | EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, | 247 | EXTRACTOR_METATYPE_PRODUCT_VERSION, |
248 | */ | 248 | EXTRACTOR_METATYPE_CONTRIBUTOR_NAME, |
249 | EXTRACTOR_METATYPE_UNKNOWN, | 249 | EXTRACTOR_METATYPE_MOVIE_DIRECTOR, |
250 | EXTRACTOR_METATYPE_DESCRIPTION, | 250 | EXTRACTOR_METATYPE_NETWORK_NAME, |
251 | EXTRACTOR_METATYPE_COPYRIGHT, | 251 | EXTRACTOR_METATYPE_SHOW_NAME, |
252 | EXTRACTOR_METATYPE_RIGHTS, | 252 | EXTRACTOR_METATYPE_CHAPTER_NAME, |
253 | EXTRACTOR_METATYPE_KEYWORDS, | 253 | EXTRACTOR_METATYPE_SONG_COUNT, |
254 | EXTRACTOR_METATYPE_ABSTRACT, | 254 | EXTRACTOR_METATYPE_STARTING_SONG, |
255 | EXTRACTOR_METATYPE_SUMMARY, | 255 | EXTRACTOR_METATYPE_PLAY_COUNTER, |
256 | EXTRACTOR_METATYPE_SUBJECT, | 256 | EXTRACTOR_METATYPE_CONDUCTOR, |
257 | EXTRACTOR_METATYPE_CREATOR, | 257 | EXTRACTOR_METATYPE_INTERPRETATION, |
258 | EXTRACTOR_METATYPE_FORMAT, | 258 | EXTRACTOR_METATYPE_COMPOSER, |
259 | EXTRACTOR_METATYPE_FORMAT_VERSION, | 259 | EXTRACTOR_METATYPE_BEATS_PER_MINUTE, |
260 | 260 | EXTRACTOR_METATYPE_ENCODED_BY, | |
261 | EXTRACTOR_METATYPE_CREATED_BY_SOFTWARE, | 261 | EXTRACTOR_METATYPE_ORIGINAL_TITLE, |
262 | EXTRACTOR_METATYPE_UNKNOWN_DATE, | 262 | EXTRACTOR_METATYPE_ORIGINAL_ARTIST, |
263 | EXTRACTOR_METATYPE_CREATION_DATE, | 263 | EXTRACTOR_METATYPE_ORIGINAL_WRITER, |
264 | EXTRACTOR_METATYPE_MODIFICATION_DATE, | 264 | EXTRACTOR_METATYPE_ORIGINAL_RELEASE_YEAR, |
265 | EXTRACTOR_METATYPE_LAST_PRINTED, | 265 | EXTRACTOR_METATYPE_ORIGINAL_PERFORMER, |
266 | EXTRACTOR_METATYPE_LAST_SAVED_BY, | 266 | EXTRACTOR_METATYPE_LYRICS, |
267 | EXTRACTOR_METATYPE_TOTAL_EDITING_TIME, | 267 | EXTRACTOR_METATYPE_POPULARITY_METER, |
268 | EXTRACTOR_METATYPE_EDITING_CYCLES, | 268 | EXTRACTOR_METATYPE_LICENSEE, |
269 | EXTRACTOR_METATYPE_MODIFIED_BY_SOFTWARE, | 269 | EXTRACTOR_METATYPE_MUSICIAN_CREDITS_LIST, |
270 | EXTRACTOR_METATYPE_REVISION_HISTORY, | 270 | EXTRACTOR_METATYPE_MOOD, |
271 | 271 | EXTRACTOR_METATYPE_SUBTITLE, | |
272 | EXTRACTOR_METATYPE_EMBEDDED_FILE_SIZE, | 272 | */ |
273 | EXTRACTOR_METATYPE_FINDER_FILE_TYPE, | 273 | EXTRACTOR_METATYPE_GNUNET_DISPLAY_TYPE, |
274 | EXTRACTOR_METATYPE_FINDER_FILE_CREATOR, | 274 | EXTRACTOR_METATYPE_GNUNET_FULL_DATA, EXTRACTOR_METATYPE_RATING, |
275 | /* | 275 | EXTRACTOR_METATYPE_ORGANIZATION, EXTRACTOR_METATYPE_RIPPER, |
276 | EXTRACTOR_METATYPE_PACKAGE_NAME, | 276 | EXTRACTOR_METATYPE_PRODUCER, EXTRACTOR_METATYPE_GROUP, |
277 | EXTRACTOR_METATYPE_PACKAGE_VERSION, | 277 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, |
278 | EXTRACTOR_METATYPE_SECTION, | 278 | EXTRACTOR_METATYPE_RESERVED }; |
279 | EXTRACTOR_METATYPE_UPLOAD_PRIORITY, | 279 | gint types_music[3 /*+ 26 */ + 7 /*+ 8 */ + 11 + /*10 */ 9 + |
280 | EXTRACTOR_METATYPE_PACKAGE_DEPENDENCY, | 280 | 3 /*+ 26 + 17 + 5 + 11 */ + 45 + 8 + 1] = |
281 | EXTRACTOR_METATYPE_PACKAGE_CONFLICTS, | 281 | { /* Music */ |
282 | EXTRACTOR_METATYPE_PACKAGE_REPLACES, | 282 | EXTRACTOR_METATYPE_MIMETYPE, EXTRACTOR_METATYPE_FILENAME, |
283 | EXTRACTOR_METATYPE_PACKAGE_PROVIDES, | 283 | EXTRACTOR_METATYPE_COMMENT, |
284 | EXTRACTOR_METATYPE_PACKAGE_RECOMMENDS, | 284 | /* |
285 | EXTRACTOR_METATYPE_PACKAGE_SUGGESTS, | 285 | EXTRACTOR_METATYPE_TITLE, |
286 | EXTRACTOR_METATYPE_PACKAGE_MAINTAINER, | 286 | EXTRACTOR_METATYPE_BOOK_TITLE, |
287 | EXTRACTOR_METATYPE_PACKAGE_INSTALLED_SIZE, | 287 | EXTRACTOR_METATYPE_BOOK_EDITION, |
288 | EXTRACTOR_METATYPE_PACKAGE_SOURCE, | 288 | EXTRACTOR_METATYPE_BOOK_CHAPTER_NUMBER, |
289 | EXTRACTOR_METATYPE_PACKAGE_ESSENTIAL, | 289 | EXTRACTOR_METATYPE_JOURNAL_NAME, |
290 | EXTRACTOR_METATYPE_TARGET_ARCHITECTURE, | 290 | EXTRACTOR_METATYPE_JOURNAL_VOLUME, |
291 | EXTRACTOR_METATYPE_PACKAGE_PRE_DEPENDENCY, | 291 | EXTRACTOR_METATYPE_JOURNAL_NUMBER, |
292 | EXTRACTOR_METATYPE_LICENSE, | 292 | EXTRACTOR_METATYPE_PAGE_COUNT, |
293 | EXTRACTOR_METATYPE_PACKAGE_DISTRIBUTION, | 293 | EXTRACTOR_METATYPE_PAGE_RANGE, |
294 | EXTRACTOR_METATYPE_BUILDHOST, | 294 | EXTRACTOR_METATYPE_AUTHOR_NAME, |
295 | EXTRACTOR_METATYPE_VENDOR, | 295 | EXTRACTOR_METATYPE_AUTHOR_EMAIL, |
296 | EXTRACTOR_METATYPE_TARGET_OS, | 296 | EXTRACTOR_METATYPE_AUTHOR_INSTITUTION, |
297 | EXTRACTOR_METATYPE_SOFTWARE_VERSION, | 297 | EXTRACTOR_METATYPE_PUBLISHER, |
298 | EXTRACTOR_METATYPE_TARGET_PLATFORM, | 298 | EXTRACTOR_METATYPE_PUBLISHER_ADDRESS, |
299 | EXTRACTOR_METATYPE_RESOURCE_TYPE, | 299 | EXTRACTOR_METATYPE_PUBLISHER_INSTITUTION, |
300 | EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH, | 300 | EXTRACTOR_METATYPE_PUBLISHER_SERIES, |
301 | EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY, | 301 | EXTRACTOR_METATYPE_PUBLICATION_TYPE, |
302 | 302 | EXTRACTOR_METATYPE_PUBLICATION_YEAR, | |
303 | EXTRACTOR_METATYPE_CAMERA_MAKE, | 303 | EXTRACTOR_METATYPE_PUBLICATION_MONTH, |
304 | EXTRACTOR_METATYPE_CAMERA_MODEL, | 304 | EXTRACTOR_METATYPE_PUBLICATION_DAY, |
305 | EXTRACTOR_METATYPE_EXPOSURE, | 305 | EXTRACTOR_METATYPE_PUBLICATION_DATE, |
306 | EXTRACTOR_METATYPE_APERTURE, | 306 | EXTRACTOR_METATYPE_BIBTEX_EPRINT, |
307 | EXTRACTOR_METATYPE_EXPOSURE_BIAS, | 307 | EXTRACTOR_METATYPE_BIBTEX_ENTRY_TYPE, |
308 | EXTRACTOR_METATYPE_FLASH, | 308 | EXTRACTOR_METATYPE_LANGUAGE, |