changeset 2743:24b920f7eaea

Modify copy/move dialogs Revert "Copy" and "Move" button to its previous brief format. Additional "With Rename" button to start the on-the-fly renaming dialog.
author Colin Clark <colin.clark@cclark.uk>
date Wed, 11 Apr 2018 16:23:10 +0100
parents 1618f87e1ae8
children 0b612372e82c
files src/utilops.c
diffstat 1 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/utilops.c	Fri Apr 06 17:43:03 2018 +0100
+++ b/src/utilops.c	Wed Apr 11 16:23:10 2018 +0100
@@ -1132,7 +1132,7 @@
 		}
 }
 
-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)
+{
+	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 @@
 	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);