diff options
author | Peter Williams <peterw@ximian.com> | 2001-08-14 05:23:04 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2001-08-14 05:23:04 +0800 |
commit | e86531cbd14a2ac303a5744ab5eb99c0c214dc50 (patch) | |
tree | de52fac44bfed276ed932178cf09e78996bc14e1 /mail/mail-send-recv.c | |
parent | a5facd0e78bda439cd4e72f50817fe5f5dbb910c (diff) | |
download | gsoc2013-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-send-recv.c')
-rw-r--r-- | mail/mail-send-recv.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 7012b5fd35..e70eade3e5 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -696,13 +696,11 @@ static void auto_clean_set(void *key, struct _auto_data *info, GHashTable *set) /* call to setup initial, and after changes are made to the config */ /* FIXME: Need a cleanup funciton for when object is deactivated */ -void -mail_autoreceive_setup(void) +static void +autoreceive_setup_list(GSList *sources, gboolean clear_absent) { - GSList *sources; GHashTable *set_hash; - sources = mail_config_get_sources(); if (!sources) return; @@ -744,10 +742,28 @@ mail_autoreceive_setup(void) sources = sources->next; } - g_hash_table_foreach(set_hash, (GHFunc)auto_clean_set, auto_active); + if (clear_absent) + g_hash_table_foreach(set_hash, (GHFunc)auto_clean_set, auto_active); g_hash_table_destroy(set_hash); } +void +mail_autoreceive_setup (void) +{ + autoreceive_setup_list (mail_config_get_sources(), TRUE); +} + +void +mail_autoreceive_setup_account (MailConfigService *service) +{ + GSList list; + + list.data = service; + list.next = NULL; + + autoreceive_setup_list (&list, FALSE); +} + /* we setup the download info's in a hashtable, if we later need to build the gui, we insert them in to add them. */ void mail_receive_uri(const char *uri, int keep) |