diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-10-11 10:36:54 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-10-11 10:36:54 +0800 |
commit | 36b34c1470005dd160464dff1227781d3deb687c (patch) | |
tree | 0ee31ac7e039a968076a92c63fa679dee8dcfc54 /mail/mail-config-druid.c | |
parent | 167d08a15e130cd3aee68d6956b8e66d8942a52e (diff) | |
download | gsoc2013-evolution-36b34c1470005dd160464dff1227781d3deb687c.tar.gz gsoc2013-evolution-36b34c1470005dd160464dff1227781d3deb687c.tar.zst gsoc2013-evolution-36b34c1470005dd160464dff1227781d3deb687c.zip |
Only set an account name if one doesn't already exist. Also use the
2002-10-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-config-druid.c (management_prepare): Only set an account
name if one doesn't already exist. Also use the
e_utf8_gtk_entry_get/set_text functions since account names are
supposed to be in UTF8. Fixes bug #31891.
svn path=/trunk/; revision=18365
Diffstat (limited to 'mail/mail-config-druid.c')
-rw-r--r-- | mail/mail-config-druid.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c index 245516d993..5d4ff66b86 100644 --- a/mail/mail-config-druid.c +++ b/mail/mail-config-druid.c @@ -413,28 +413,32 @@ static void management_prepare (EvolutionWizard *wizard, gpointer data) { MailConfigWizard *gui = data; - const char *name; + const char *name, *text; gui->page = MAIL_CONFIG_WIZARD_PAGE_MANAGEMENT; - name = gtk_entry_get_text (gui->gui->email_address); - if (name && *name) { - if (mail_config_get_account_by_name (name)) { - char *template; - unsigned int i = 1, len; + + text = gtk_entry_get_text (gui->gui->account_name); + if (!text || *text == '\0') { + name = e_utf8_gtk_entry_get_text (gui->gui->email_address); + if (name && *name) { + if (mail_config_get_account_by_name (name)) { + char *template; + unsigned int i = 1, len; + + /* length of name + 1 char for ' ' + 1 char + for '(' + 10 chars for %d + 1 char for ')' + + 1 char for nul */ + len = strlen (name); + template = alloca (len + 14); + strcpy (template, name); + name = template; + do { + sprintf (template + len, " (%d)", i++); + } while (mail_config_get_account_by_name (name) && i != 0); + } - /* length of name + 1 char for ' ' + 1 char - for '(' + 10 chars for %d + 1 char for ')' - + 1 char for nul */ - len = strlen (name); - template = alloca (len + 14); - strcpy (template, name); - name = template; - do { - sprintf (template + len, " (%d)", i++); - } while (mail_config_get_account_by_name (name) && i != 0); + e_utf8_gtk_entry_set_text (gui->gui->account_name, name); } - - gtk_entry_set_text (gui->gui->account_name, name); } management_check (gui); |