diff options
author | António Fernandes <antoniof@gnome.org> | 2020-02-08 19:53:51 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2021-02-10 10:52:11 +0000 |
commit | c395f0ffe28e449712f23cd3e0c5fc549eac66ca (patch) | |
tree | 934d4f7b862cf7c6accaecf0c78acba980705b1c | |
parent | a509909412841af251000fcf793e9001988d558e (diff) | |
download | nautilus-1344-be-a-little-more-helpful-with-renaming-duplicate-files.tar.gz |
file-conflict-dialog: Make manual rename more convenient1344-be-a-little-more-helpful-with-renaming-duplicate-files
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.
-rw-r--r-- | src/nautilus-file-conflict-dialog.c | 21 |
1 files 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); } } |