summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2015-04-21 10:49:52 +0200
committerCarlos Soriano <csoriano@gnome.org>2015-04-22 13:18:05 +0200
commitfa64cb2a828e9042111fa626dd7f66683cb13b19 (patch)
tree36993d60285edb040e2780307ab2927a7c0d1142
parente6319a28421bc704e5acc573f92e7cfcecf8fdac (diff)
downloadnautilus-fa64cb2a828e9042111fa626dd7f66683cb13b19.tar.gz
view: distinguish between folder and files in new folder dialog
-rw-r--r--src/nautilus-view.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/nautilus-view.c b/src/nautilus-view.c
index 29a3c22a4..ea5c14edc 100644
--- a/src/nautilus-view.c
+++ b/src/nautilus-view.c
@@ -1630,12 +1630,18 @@ typedef struct {
GtkWidget *dialog;
GtkWidget *error_label;
GtkWidget *name_entry;
+ gboolean target_is_folder;
+ gboolean duplicated_is_folder;
} FileNameDialogData;
static gboolean
duplicated_file_label_show (FileNameDialogData *data)
{
- gtk_label_set_label (GTK_LABEL (data->error_label), _("A file or folder with that name already exists."));
+ if (data->duplicated_is_folder)
+ gtk_label_set_label (GTK_LABEL (data->error_label), _("A folder with that name already exists."));
+ else
+ gtk_label_set_label (GTK_LABEL (data->error_label), _("A file with that name already exists."));
+
data->view->details->dialog_duplicated_name_label_timeout_id = 0;
return FALSE;
}
@@ -1668,6 +1674,7 @@ nautilus_view_validate_file_name (FileNameDialogData *data)
if (nautilus_file_compare_display_name (file, name) == 0) {
duplicated_name = TRUE;
+ data->duplicated_is_folder = nautilus_file_is_directory (file);
break;
}
}
@@ -1688,7 +1695,10 @@ nautilus_view_validate_file_name (FileNameDialogData *data)
(GSourceFunc)duplicated_file_label_show,
data);
} else if (contains_slash) {
- gtk_label_set_label (GTK_LABEL (data->error_label), _("Folder names cannot contain \"/\"."));
+ if (data->target_is_folder)
+ gtk_label_set_label (GTK_LABEL (data->error_label), _("Folder names cannot contain \"/\"."));
+ else
+ gtk_label_set_label (GTK_LABEL (data->error_label), _("Files names cannot contain \"/\"."));
} else {
/* No errors detected, empty the label */
gtk_label_set_label (GTK_LABEL (data->error_label), NULL);
@@ -1760,6 +1770,7 @@ nautilus_view_new_folder (NautilusView *directory_view,
dialog_data->dialog = GTK_WIDGET (dialog);
dialog_data->error_label = GTK_WIDGET (gtk_builder_get_object (builder, "error_label"));
dialog_data->name_entry = GTK_WIDGET (gtk_builder_get_object (builder, "name_entry"));
+ dialog_data->target_is_folder = TRUE;
gtk_window_set_transient_for (dialog,
GTK_WINDOW (nautilus_view_get_window (directory_view)));