diff options
author | Peter Williams <peterw@ximian.com> | 2001-08-22 23:50:42 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2001-08-22 23:50:42 +0800 |
commit | e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252 (patch) | |
tree | ba38fc5831643d3a2646d89b63091272827f6959 /mail/mail-account-gui.c | |
parent | ad546eab4d56710ea0520353a276f3619f661d17 (diff) | |
download | gsoc2013-evolution-e84ebd2e0a9ff78773bdd2cecfe0f2b6ebc2c252.tar.gz 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.c | 19 |
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); |