Modify copy/move dialogs
authorColin Clark <colin.clark@cclark.uk>
Wed, 11 Apr 2018 15:23:10 +0000 (16:23 +0100)
committerColin Clark <colin.clark@cclark.uk>
Wed, 11 Apr 2018 15:23:10 +0000 (16:23 +0100)
Revert "Copy" and "Move" button to its previous brief format.
Additional "With Rename" button to start the on-the-fly renaming dialog.

src/utilops.c

index 9787847..3792545 100644 (file)
@@ -1132,7 +1132,7 @@ static void file_util_dest_folder_update_path(UtilityData *ud)
                }
 }
 
-static void file_util_fdlg_ok_cb(FileDialog *fdlg, gpointer data)
+static void file_util_fdlg_rename_cb(FileDialog *fdlg, gpointer data)
 {
        UtilityData *ud = data;
        gchar *desc = NULL;
@@ -1168,6 +1168,21 @@ static void file_util_fdlg_ok_cb(FileDialog *fdlg, gpointer data)
                }
 }
 
+static void file_util_fdlg_ok_cb(FileDialog *fdlg, gpointer data)
+{
+       UtilityData *ud = data;
+
+       file_util_dest_folder_update_path(ud);
+       if (isdir(ud->dest_path)) file_dialog_sync_history(fdlg, TRUE);
+       file_dialog_close(fdlg);
+
+       ud->fdlg = NULL;
+       ud->phase = UTILITY_PHASE_ENTERING;
+
+       file_util_dialog_run(ud);
+
+       return;
+}
 
 static void file_util_dest_folder_entry_cb(GtkWidget *entry, gpointer data)
 {
@@ -1569,6 +1584,7 @@ static void file_util_dialog_init_dest_folder(UtilityData *ud)
        gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
        pref_spacer(GENERIC_DIALOG(fdlg)->vbox, 0);
 
+       file_dialog_add_button(fdlg, GTK_STOCK_EDIT, "With Rename", file_util_fdlg_rename_cb, TRUE);
        file_dialog_add_button(fdlg, stock_id, ud->messages.title, file_util_fdlg_ok_cb, TRUE);
 
        file_dialog_add_path_widgets(fdlg, NULL, ud->dest_path, "move_copy", NULL, NULL);