comparison src/utilops.c @ 1211:e2bbe90b0dcd

most of the metadata options now works
author nadvornik
date Sun, 21 Dec 2008 21:20:36 +0000
parents 3ff2aa99108b
children 584eae03d747
comparison
equal deleted inserted replaced
1210:cea120a73843 1211:e2bbe90b0dcd
400 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); 400 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
401 gtk_tree_selection_select_iter(selection, &iter); 401 gtk_tree_selection_select_iter(selection, &iter);
402 } 402 }
403 } 403 }
404 404
405 static GtkWidget *file_util_dialog_add_list(GtkWidget *box, GList *list, gint full_paths) 405 static GtkWidget *file_util_dialog_add_list(GtkWidget *box, GList *list, gint full_paths, gboolean with_sidecars)
406 { 406 {
407 GtkWidget *scrolled; 407 GtkWidget *scrolled;
408 GtkWidget *view; 408 GtkWidget *view;
409 GtkListStore *store; 409 GtkListStore *store;
410 410
441 { 441 {
442 FileData *fd = list->data; 442 FileData *fd = list->data;
443 GtkTreeIter iter; 443 GtkTreeIter iter;
444 gchar *sidecars; 444 gchar *sidecars;
445 445
446 sidecars = file_data_sc_list_to_string(fd); 446 sidecars = with_sidecars ? file_data_sc_list_to_string(fd) : NULL;
447 447
448 gtk_list_store_append(store, &iter); 448 gtk_list_store_append(store, &iter);
449 gtk_list_store_set(store, &iter, 449 gtk_list_store_set(store, &iter,
450 UTILITY_COLUMN_FD, fd, 450 UTILITY_COLUMN_FD, fd,
451 UTILITY_COLUMN_PIXBUF, file_util_get_error_icon(fd, view), 451 UTILITY_COLUMN_PIXBUF, file_util_get_error_icon(fd, view),
1301 1301
1302 g_free(dir_msg); 1302 g_free(dir_msg);
1303 1303
1304 box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL); 1304 box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL);
1305 1305
1306 ud->listview = file_util_dialog_add_list(box, ud->flist, FALSE); 1306 ud->listview = file_util_dialog_add_list(box, ud->flist, FALSE, ud->with_sidecars);
1307 file_util_dialog_add_list_column(ud->listview, _("Sidecars"), FALSE, UTILITY_COLUMN_SIDECARS); 1307 if (ud->with_sidecars) file_util_dialog_add_list_column(ud->listview, _("Sidecars"), FALSE, UTILITY_COLUMN_SIDECARS);
1308 1308
1309 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ud->listview)); 1309 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ud->listview));
1310 gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); 1310 gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
1311 gtk_tree_selection_set_select_function(selection, file_util_preview_cb, ud, NULL); 1311 gtk_tree_selection_set_select_function(selection, file_util_preview_cb, ud, NULL);
1312 1312
1393 box = generic_dialog_add_message(ud->gd, NULL, ud->messages.question, NULL); 1393 box = generic_dialog_add_message(ud->gd, NULL, ud->messages.question, NULL);
1394 generic_dialog_add_button(ud->gd, GTK_STOCK_OK, ud->messages.title, file_util_ok_cb, TRUE); 1394 generic_dialog_add_button(ud->gd, GTK_STOCK_OK, ud->messages.title, file_util_ok_cb, TRUE);
1395 1395
1396 box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL); 1396 box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL);
1397 1397
1398 ud->listview = file_util_dialog_add_list(box, ud->flist, FALSE); 1398 ud->listview = file_util_dialog_add_list(box, ud->flist, FALSE, ud->with_sidecars);
1399 file_util_dialog_add_list_column(ud->listview, _("Sidecars"), FALSE, UTILITY_COLUMN_SIDECARS); 1399 file_util_dialog_add_list_column(ud->listview, _("Sidecars"), FALSE, UTILITY_COLUMN_SIDECARS);
1400 1400
1401 file_util_dialog_add_list_column(ud->listview, _("New name"), FALSE, UTILITY_COLUMN_DEST_NAME); 1401 file_util_dialog_add_list_column(ud->listview, _("New name"), FALSE, UTILITY_COLUMN_DEST_NAME);
1402 1402
1403 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ud->listview)); 1403 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ud->listview));
1546 case UTILITY_PHASE_CHECKED: 1546 case UTILITY_PHASE_CHECKED:
1547 file_util_perform_ci(ud); 1547 file_util_perform_ci(ud);
1548 break; 1548 break;
1549 case UTILITY_PHASE_CANCEL: 1549 case UTILITY_PHASE_CANCEL:
1550 case UTILITY_PHASE_DONE: 1550 case UTILITY_PHASE_DONE:
1551
1552 /* FIXME: put it here for now */
1553 if (ud->type == UTILITY_TYPE_WRITE_METADATA)
1554 {
1555 metadata_write_queue_remove_list(ud->flist);
1556 }
1551 if (ud->with_sidecars) 1557 if (ud->with_sidecars)
1552 file_data_sc_free_ci_list(ud->flist); 1558 file_data_sc_free_ci_list(ud->flist);
1553 else 1559 else
1554 file_data_free_ci_list(ud->flist); 1560 file_data_free_ci_list(ud->flist);
1555 1561
2049 g_free(text); 2055 g_free(text);
2050 2056
2051 box = pref_group_new(box, TRUE, _("Subfolders:"), GTK_ORIENTATION_VERTICAL); 2057 box = pref_group_new(box, TRUE, _("Subfolders:"), GTK_ORIENTATION_VERTICAL);
2052 2058
2053 rlist = filelist_sort_path(rlist); 2059 rlist = filelist_sort_path(rlist);
2054 file_util_dialog_add_list(box, rlist, FALSE); 2060 file_util_dialog_add_list(box, rlist, FALSE, FALSE);
2055 2061
2056 gtk_widget_show(gd->dialog); 2062 gtk_widget_show(gd->dialog);
2057 } 2063 }
2058 else 2064 else
2059 { 2065 {
2259 file_util_delete_full(source_fd, source_list, parent, options->file_ops.confirm_delete ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING); 2265 file_util_delete_full(source_fd, source_list, parent, options->file_ops.confirm_delete ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING);
2260 } 2266 }
2261 2267
2262 void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent) 2268 void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent)
2263 { 2269 {
2264 file_util_write_metadata_full(source_fd, source_list, parent, UTILITY_PHASE_START); 2270 file_util_write_metadata_full(source_fd, source_list, parent,
2271 (options->metadata.save_in_image_file && options->metadata.confirm_write) ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING);
2265 } 2272 }
2266 2273
2267 void file_util_copy(FileData *source_fd, GList *source_list, const gchar *dest_path, GtkWidget *parent) 2274 void file_util_copy(FileData *source_fd, GList *source_list, const gchar *dest_path, GtkWidget *parent)
2268 { 2275 {
2269 file_util_copy_full(source_fd, source_list, dest_path, parent, UTILITY_PHASE_START); 2276 file_util_copy_full(source_fd, source_list, dest_path, parent, UTILITY_PHASE_START);