diff options
Diffstat (limited to 'src/plugins/fs/upload.c')
-rw-r--r-- | src/plugins/fs/upload.c | 112 |
1 files changed, 110 insertions, 2 deletions
diff --git a/src/plugins/fs/upload.c b/src/plugins/fs/upload.c index 91114d11..9d3fea8d 100644 --- a/src/plugins/fs/upload.c +++ b/src/plugins/fs/upload.c | |||
@@ -214,20 +214,108 @@ void on_selectAlternativePreviewButton_selection_changed_fs(GtkWidget * preview, | |||
214 | } | 214 | } |
215 | 215 | ||
216 | void on_metaDataDialogKeywordAddButton_clicked_fs(gpointer dummy, | 216 | void on_metaDataDialogKeywordAddButton_clicked_fs(gpointer dummy, |
217 | GtkWidget * uploadButton) { | 217 | GtkWidget * button) { |
218 | handleKeywordListUpdate(metaXML, | 218 | handleKeywordListUpdate(metaXML, |
219 | "fileInformationKeywordEntry", | 219 | "fileInformationKeywordEntry", |
220 | "metaDataDialogKeywordList"); | 220 | "metaDataDialogKeywordList"); |
221 | } | 221 | } |
222 | 222 | ||
223 | void on_metaDataDialogMetaDataAddButton_clicked_fs(gpointer dummy, | 223 | void on_metaDataDialogMetaDataAddButton_clicked_fs(gpointer dummy, |
224 | GtkWidget * uploadButton) { | 224 | GtkWidget * button) { |
225 | handleMetaDataListUpdate(metaXML, | 225 | handleMetaDataListUpdate(metaXML, |
226 | "metaDataDialogMetaTypeComboBox", | 226 | "metaDataDialogMetaTypeComboBox", |
227 | "metaDataDialogValueEntry", | 227 | "metaDataDialogValueEntry", |
228 | "metaDataDialogMetaDataList"); | 228 | "metaDataDialogMetaDataList"); |
229 | } | 229 | } |
230 | 230 | ||
231 | void on_metaDataDialogKeywordRemoveButton_clicked_fs(gpointer dummy, | ||
232 | GtkWidget * button) { | ||
233 | handleListRemove(metaXML, | ||
234 | "metaDataDialogKeywordList"); | ||
235 | } | ||
236 | |||
237 | void on_metaDataDialogMetaDataRemoveButton_clicked_fs(gpointer dummy, | ||
238 | GtkWidget * button) { | ||
239 | handleListRemove(metaXML, | ||
240 | "metaDataDialogMetaDataList"); | ||
241 | } | ||
242 | |||
243 | /** | ||
244 | * The selection of the keyword list changed. | ||
245 | * Update button status. | ||
246 | */ | ||
247 | static void on_keyword_list_selection_changed(gpointer signal, | ||
248 | gpointer cls) { | ||
249 | GtkTreeSelection * selection; | ||
250 | GtkWidget * button; | ||
251 | |||
252 | selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(glade_xml_get_widget(metaXML, | ||
253 | "metaDataDialogKeywordList"))); | ||
254 | button | ||
255 | = glade_xml_get_widget(metaXML, | ||
256 | "metaDataDialogKeywordRemoveButton"); | ||
257 | gtk_widget_set_sensitive(button, | ||
258 | gtk_tree_selection_count_selected_rows(selection) > 0); | ||
259 | } | ||
260 | |||
261 | /** | ||
262 | * The selection of the metadata list changed. | ||
263 | * Update button status. | ||
264 | */ | ||
265 | static void on_metadata_list_selection_changed(gpointer signal, | ||
266 | gpointer cls) { | ||
267 | GtkTreeSelection * selection; | ||
268 | GtkWidget * button; | ||
269 | |||
270 | selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(glade_xml_get_widget(metaXML, | ||
271 | "metaDataDialogMetaDataList"))); | ||
272 | button | ||
273 | = glade_xml_get_widget(metaXML, | ||
274 | "metaDataDialogMetaDataRemoveButton"); | ||
275 | gtk_widget_set_sensitive(button, | ||
276 | gtk_tree_selection_count_selected_rows(selection) > 0); | ||
277 | } | ||
278 | |||
279 | /** | ||
280 | * The user has edited the metadata entry. | ||
281 | * Update add button status. | ||
282 | */ | ||
283 | void on_metaDataDialogValueEntry_changed_fs(gpointer dummy2, | ||
284 | GtkWidget * searchEntry) { | ||
285 | const char * input; | ||
286 | GtkWidget * button; | ||
287 | |||
288 | input = gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(metaXML, | ||
289 | "metaDataDialogValueEntry"))); | ||
290 | if (input == NULL) | ||
291 | return; | ||
292 | button | ||
293 | = glade_xml_get_widget(metaXML, | ||
294 | "metaDataDialogMetaDataAddButton"); | ||
295 | gtk_widget_set_sensitive(button, | ||
296 | strlen(input) > 0); | ||
297 | } | ||
298 | |||
299 | /** | ||
300 | * The user has edited the keyword entry. | ||
301 | * Update add button status. | ||
302 | */ | ||
303 | void on_fileInformationKeywordEntry_changed_fs(gpointer dummy2, | ||
304 | GtkWidget * searchEntry) { | ||
305 | const char * input; | ||
306 | GtkWidget * button; | ||
307 | |||
308 | input = gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(metaXML, | ||
309 | "fileInformationKeywordEntry"))); | ||
310 | if (input == NULL) | ||
311 | return; | ||
312 | button | ||
313 | = glade_xml_get_widget(metaXML, | ||
314 | "metaDataDialogKeywordAddButton"); | ||
315 | gtk_widget_set_sensitive(button, | ||
316 | strlen(input) > 0); | ||
317 | } | ||
318 | |||
231 | void on_fsinsertuploadbutton_clicked_fs(gpointer dummy, | 319 | void on_fsinsertuploadbutton_clicked_fs(gpointer dummy, |
232 | GtkWidget * uploadButton) { | 320 | GtkWidget * uploadButton) { |
233 | const char * filenamerest; | 321 | const char * filenamerest; |
@@ -286,6 +374,26 @@ void on_fsinsertuploadbutton_clicked_fs(gpointer dummy, | |||
286 | ECRS_freeUri(keywordURI); | 374 | ECRS_freeUri(keywordURI); |
287 | createMetaTypeComboBox(metaXML, | 375 | createMetaTypeComboBox(metaXML, |
288 | "metaDataDialogMetaTypeComboBox"); | 376 | "metaDataDialogMetaTypeComboBox"); |
377 | |||
378 | |||
379 | g_signal_connect_data(gtk_tree_view_get_selection(GTK_TREE_VIEW(glade_xml_get_widget(metaXML, | ||
380 | "metaDataDialogKeywordList"))), | ||
381 | "changed", | ||
382 | G_CALLBACK(&on_keyword_list_selection_changed), | ||
383 | NULL, | ||
384 | NULL, | ||
385 | 0); | ||
386 | g_signal_connect_data(gtk_tree_view_get_selection(GTK_TREE_VIEW(glade_xml_get_widget(metaXML, | ||
387 | "metaDataDialogMetaDataList"))), | ||
388 | "changed", | ||
389 | G_CALLBACK(&on_metadata_list_selection_changed), | ||
390 | NULL, | ||
391 | NULL, | ||
392 | 0); | ||
393 | |||
394 | |||
395 | |||
396 | |||
289 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), | 397 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), |
290 | GTK_RESPONSE_OK); | 398 | GTK_RESPONSE_OK); |
291 | if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL) { | 399 | if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL) { |