aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-folder-commands.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-10-27 02:21:57 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-10-27 02:21:57 +0800
commit12333f4dff98802f83a9d0c5f1881345cc3be058 (patch)
tree05083e03eb79b5ae1ed5f37e7a74c170024b8e68 /shell/e-shell-folder-commands.c
parent86a201c22b648be7ce815f64e2cd80b54c6edc8a (diff)
downloadgsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar.gz
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar.bz2
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar.lz
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar.xz
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.tar.zst
gsoc2013-evolution-12333f4dff98802f83a9d0c5f1881345cc3be058.zip
Don't allow invalid folder names. [#12027]
* e-shell-folder-commands.c (e_shell_command_rename_folder): Don't allow invalid folder names. [#12027] * e-shell-folder-creation-dialog.c (entry_name_is_valid): Removed. (dialog_clicked_cb): Use `e_shell_folder_name_is_valid()' instead. * e-shell-utils.c (e_shell_folder_name_is_valid): New. Sorry I18N people, it breaks the string freeze slighty. * e-component-registry.c (component_free): Add a cast. (e_component_registry_restart_component): Argh, use the corba_objref properly in calling `wait_for_corba_object_to_die()'. svn path=/trunk/; revision=14152
Diffstat (limited to 'shell/e-shell-folder-commands.c')
-rw-r--r--shell/e-shell-folder-commands.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/shell/e-shell-folder-commands.c b/shell/e-shell-folder-commands.c
index 38b934057e..4aa6e43055 100644
--- a/shell/e-shell-folder-commands.c
+++ b/shell/e-shell-folder-commands.c
@@ -44,6 +44,7 @@
#include "e-shell-constants.h"
#include "e-shell-folder-creation-dialog.h"
#include "e-shell-folder-selection-dialog.h"
+#include "e-shell-utils.h"
/* Utility functions. */
@@ -535,13 +536,24 @@ e_shell_command_rename_folder (EShell *shell,
prompt = g_strdup_printf (_("Rename the \"%s\" folder to:"), old_name);
- new_name = e_request_string (shell_view != NULL ? GTK_WINDOW (shell_view) : NULL,
- _("Rename folder"), prompt, old_name);
+ while (1) {
+ const char *reason;
- g_free (prompt);
+ new_name = e_request_string (shell_view != NULL ? GTK_WINDOW (shell_view) : NULL,
+ _("Rename folder"), prompt, old_name);
- if (new_name == NULL)
- return;
+ if (new_name == NULL)
+ return;
+
+ if (e_shell_folder_name_is_valid (new_name, &reason))
+ break;
+
+ e_notice (shell_view != NULL ? GTK_WINDOW (shell_view) : NULL,
+ GNOME_MESSAGE_BOX_ERROR,
+ _("The specified folder name is not valid: %s"), reason);
+ }
+
+ g_free (prompt);
if (strcmp (old_name, new_name) == 0) {
g_free (new_name);