aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-config-druid.c
diff options
context:
space:
mode:
authorPeter Williams <peterw@ximian.com>2001-08-14 05:23:04 +0800
committerPeter Williams <peterw@src.gnome.org>2001-08-14 05:23:04 +0800
commite86531cbd14a2ac303a5744ab5eb99c0c214dc50 (patch)
treede52fac44bfed276ed932178cf09e78996bc14e1 /mail/mail-config-druid.c
parenta5facd0e78bda439cd4e72f50817fe5f5dbb910c (diff)
downloadgsoc2013-evolution-e86531cbd14a2ac303a5744ab5eb99c0c214dc50.tar.gz
gsoc2013-evolution-e86531cbd14a2ac303a5744ab5eb99c0c214dc50.tar.zst
gsoc2013-evolution-e86531cbd14a2ac303a5744ab5eb99c0c214dc50.zip
Break most of the functionality into a separate function.
2001-08-13 Peter Williams <peterw@ximian.com> * mail-send-recv.c (mail_autoreceive_setup): Break most of the functionality into a separate function. (autoreceive_setup_list): Rename of mail_autoreceive_setup that is passed a list of accounts. (mail_autoreceive_setup_account): New function. Set up a single account using autoreceive_setup_account. * mail-send-receive.h: Prototype mail_autoreceive_setup_account. * mail-account-gui.c (mail_account_gui_save): Instead of setting up all accounts, set up only this source with the new mail_autoreceive_setup_account. * mail-config-druid.c (druid_finish): ... which means we can call mail_config_add_account() after the MailConfigAccount has been created by mail_account_gui_save() because we no longer need the account to be in the list for mail_autoreceive_setup() * mail-config.c (mail_config_add_account): ... which means we can possibly add a shortcut to the account's sources's Inbox here. (maybe_add_shortcut): New function. If the store is a storage, add a shortcut to its inbox. Hope that /INBOX exists. (add_shortcut_entry): New function. Creates a shortcut if it doesn't yet exist. 2001-08-13 Peter Williams <peterw@ximian.com> * mail-account-gui.c (service_complete): Take account of the fact that service->path may be NULL (if service is a transport.) * mail-config-druid.c (druid_finish): Bleah, bugfix in case the account has no source. svn path=/trunk/; revision=11961
Diffstat (limited to 'mail/mail-config-druid.c')
-rw-r--r--mail/mail-config-druid.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c
index a60ba37c09..07468733c9 100644
--- a/mail/mail-config-druid.c
+++ b/mail/mail-config-druid.c
@@ -175,20 +175,21 @@ druid_finish (GnomeDruidPage *page, gpointer arg1, gpointer user_data)
MailConfigDruid *druid = user_data;
MailAccountGui *gui = druid->gui;
- /* Add the account to our list (do it first because future
- steps might want to access config->accounts) */
- mail_config_add_account (gui->account);
-
/* Save the settings for that account */
mail_account_gui_save (gui);
if (gui->account->source)
gui->account->source->enabled = TRUE;
+ /* Add the account to our list (do it early because future
+ steps might want to access config->accounts) */
+ mail_config_add_account (gui->account);
+
/* Write out the config info */
mail_config_write ();
- /* Load up this new account */
- mail_load_storage_by_uri (druid->shell, gui->account->source->url, gui->account->name);
+ /* Load up this new account if necessary */
+ if (gui->account->source && gui->account->source->url)
+ mail_load_storage_by_uri (druid->shell, gui->account->source->url, gui->account->name);
gtk_widget_destroy (GTK_WIDGET (druid));
}