From c395f0ffe28e449712f23cd3e0c5fc549eac66ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= Date: Sat, 8 Feb 2020 19:53:51 +0000 Subject: file-conflict-dialog: Make manual rename more convenient The suggested name is in the form "original (1).txt", if the the conflicting name was "original.txt". The user may want to replace the "(1)" bits with something more meaningful, so select this region for convenience. --- src/nautilus-file-conflict-dialog.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/nautilus-file-conflict-dialog.c b/src/nautilus-file-conflict-dialog.c index c48bd7bfb..25823a0c5 100644 --- a/src/nautilus-file-conflict-dialog.c +++ b/src/nautilus-file-conflict-dialog.c @@ -191,8 +191,6 @@ on_expanded_notify (GtkExpander *w, GParamSpec *pspec, NautilusFileConflictDialog *dialog) { - int start_pos, end_pos; - if (gtk_expander_get_expanded (w)) { gtk_widget_hide (dialog->replace_button); @@ -201,11 +199,24 @@ on_expanded_notify (GtkExpander *w, gtk_widget_set_sensitive (dialog->checkbox, FALSE); - if (g_strcmp0 (gtk_entry_get_text (GTK_ENTRY (dialog->entry)), dialog->conflict_name) == 0) + gtk_widget_grab_focus (dialog->entry); + if (g_strcmp0 (gtk_entry_get_text (GTK_ENTRY (dialog->entry)), dialog->suggested_name) == 0) { - gtk_widget_grab_focus (dialog->entry); + /* The suggested name is in the form "original (1).txt", if the + * the conflicting name was "original.txt". The user may want to + * replace the "(1)" bits with with something more meaningful, so + * select this region for convenience. */ + + gchar *offset; + int start_pos; + int end_pos; + + offset = eel_filename_get_extension_offset (dialog->conflict_name); + start_pos = g_utf8_pointer_to_offset (dialog->conflict_name, offset); + + offset = eel_filename_get_extension_offset (dialog->suggested_name); + end_pos = g_utf8_pointer_to_offset (dialog->suggested_name, offset); - eel_filename_get_rename_region (dialog->conflict_name, &start_pos, &end_pos); gtk_editable_select_region (GTK_EDITABLE (dialog->entry), start_pos, end_pos); } } -- cgit v1.2.1