summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2020-02-08 19:53:51 +0000
committerAntónio Fernandes <antoniof@gnome.org>2021-02-10 10:52:11 +0000
commitc395f0ffe28e449712f23cd3e0c5fc549eac66ca (patch)
tree934d4f7b862cf7c6accaecf0c78acba980705b1c
parenta509909412841af251000fcf793e9001988d558e (diff)
downloadnautilus-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.c21
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);
}
}