aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-account-gui.c
diff options
context:
space:
mode:
authorPeter Williams <peterw@ximian.com>2001-08-22 23:50:42 +0800
committerPeter Williams <peterw@src.gnome.org>2001-08-22 23:50:42 +0800
commite84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252 (patch)
treeba38fc5831643d3a2646d89b63091272827f6959 /mail/mail-account-gui.c
parentad546eab4d56710ea0520353a276f3619f661d17 (diff)
downloadgsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.gz
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.bz2
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.lz
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.xz
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.zst
gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.zip
Prevent the user from creating two accounts with the same name.
2001-08-22 Peter Williams <peterw@ximian.com> Prevent the user from creating two accounts with the same name. * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): Abort if the account has the same name as another account. * mail-account-gui.c (mail_account_gui_save): Don't let the user save if the account has the same name as another account. * mail-config-druid.c (management_check): Disable the next button if the account name is the same as a preexisting account. (construct): The only part of 'pages' that was being used was the name. 'wizard_pages' now has the callbacks, while 'pages' is just an array of char *'s. (wizard_finish_cb): Save the account first because that's the right way, and try to honor mail_account_gui_save's return value. * mail-config.glade: Add a label noting that you're not allowed to create two accounts with the same name. svn path=/trunk/; revision=12384
Diffstat (limited to 'mail/mail-account-gui.c')
-rw-r--r--mail/mail-account-gui.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c
index 0769ad1ab8..26c6fbf5b4 100644
--- a/mail/mail-account-gui.c
+++ b/mail/mail-account-gui.c
@@ -32,6 +32,7 @@
#include <bonobo.h>
#include <bonobo/bonobo-stream-memory.h>
#include <gal/widgets/e-unicode.h>
+#include <gal/widgets/e-gui-utils.h>
#include "shell/evolution-shell-client.h"
#include "mail-account-gui.h"
@@ -1562,6 +1563,8 @@ gboolean
mail_account_gui_save (MailAccountGui *gui)
{
MailConfigAccount *account = gui->account;
+ const MailConfigAccount *old_account;
+ gchar *new_name;
gboolean old_enabled;
if (!mail_account_gui_identity_complete (gui, NULL) ||
@@ -1570,8 +1573,22 @@ mail_account_gui_save (MailAccountGui *gui)
!mail_account_gui_management_complete (gui, NULL))
return FALSE;
+ /* this would happen at an inconvenient time in the druid,
+ * but the druid performs its own check so this can't happen
+ * here. */
+
+ new_name = e_utf8_gtk_entry_get_text (gui->account_name);
+ old_account = mail_config_get_account_by_name (new_name);
+
+ if (old_account != account) {
+ e_notice (NULL, GNOME_MESSAGE_BOX_ERROR,
+ _("You may not create two accounts with the same name."));
+ return FALSE;
+ }
+
g_free (account->name);
- account->name = e_utf8_gtk_entry_get_text (gui->account_name);
+ account->name = new_name;
+
if (gtk_toggle_button_get_active (gui->default_account))
mail_config_set_default_account (account);