diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2003-01-18 07:31:27 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2003-01-18 07:31:27 +0800 |
commit | e0053bce8e3e5e7f18bea009f3bbfb1e51234f65 (patch) | |
tree | aa2bee9193f6123438c829c326050a4ebd48dc58 /mail/subscribe-dialog.c | |
parent | 650c61584f8970de2cd9c9915dade6843d386191 (diff) | |
download | gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar.gz gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar.bz2 gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar.lz gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar.xz gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.tar.zst gsoc2013-evolution-e0053bce8e3e5e7f18bea009f3bbfb1e51234f65.zip |
Updated. (request_password): Same.
2003-01-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (do_get_pass): Updated.
(request_password): Same.
* mail-send-recv.c (mail_send): Fixed to use EAccountService.
* mail-config-druid.c (make_account): Updated to use EAccount and
friends.
* mail-account-gui.c (service_check_supported): Updated to use
EAccountService.
(mail_account_gui_new): Ref the account passed in and also update
to use EAccount objects.
(save_service): Updated to use an EAccountService.
(add_new_store): Updated to use an EAccount.
(mail_account_gui_save): Updated to use EAccounts.
(setup_signatures): Updated because the new account->id->def_sig
is now an int and not a structure pointer.
* mail-account-editor.c (construct): Updated.
(mail_account_editor_new): Now takes an EAccount object as an
argument instead of a MailConfigAccount.
* mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to
use EAccounts.
* subscribe-dialog.c (populate_store_foreach): Removed.
(populate_store_list): Can't use populate_store_foreach here
because of the change to EAccountList so do it manually.
* mail-vfolder.c (uri_is_ignore): Rewrote to use EAccountList and
EIterator and all that fun.
* mail-send-recv.c (build_dialogue): Updated to use EAccountList
and EAccount object stuff. *ugh*
(mail_send_receive): Here too.
(mail_autoreceive_setup): Same.
* mail-callbacks.c (check_send_configuration): Updated.
(composer_get_message): Updated.
(compose_msg): "
(list_add_addresses): "
(guess_me): "
(guess_me_from_accounts): Same.
(forward_get_composer): Here too.
(mail_generate_reply): Same.
(redirect_get_composer): "
(empty_trash): And finally here.
* mail-accounts.c (account_edit_clicked): Updated.
(account_delete_clicked): Same.
(account_default_clicked): Here too.
(account_able_clicked): "
(account_cursor_change): "
(mail_accounts_load): Again here.
* folder-browser.c (folder_browser_is_drafts): Updated to use
EAccountList and EAccount stuff.
(folder_browser_is_sent): Same.
* component-factory.c (mail_load_storages): Updated to use
EAccount and EAccountList stuff.
(owner_set_cb): Same.
(send_receive_cb): Here too.
* mail-config.c: Rewritten to use EAccount and EAccountList
objects.
svn path=/trunk/; revision=19509
Diffstat (limited to 'mail/subscribe-dialog.c')
-rw-r--r-- | mail/subscribe-dialog.c | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/mail/subscribe-dialog.c b/mail/subscribe-dialog.c index ba53617715..7500b4a7ca 100644 --- a/mail/subscribe-dialog.c +++ b/mail/subscribe-dialog.c @@ -1365,7 +1365,7 @@ static void sc_filter_toggled (GtkWidget *widget, gpointer user_data) { SubscribeDialog *sc = SUBSCRIBE_DIALOG (user_data); - StoreData *store = sc->priv->current_store; + StoreData *store = sc->priv->current_store; if (!store) return; @@ -1377,18 +1377,6 @@ sc_filter_toggled (GtkWidget *widget, gpointer user_data) } static void -populate_store_foreach (MailConfigAccount *account, SubscribeDialog *sc) -{ - StoreData *sd; - - if (!account->enabled || !account->source || !account->source->url) - return; - - sd = store_data_new (account->source->url); - sc->priv->store_list = g_list_prepend (sc->priv->store_list, sd); -} - -static void kill_default_view (SubscribeDialog *sc) { gtk_widget_hide (sc->priv->none_item); @@ -1515,40 +1503,56 @@ got_sd_store (StoreData *sd, CamelStore *store, gpointer data) static void populate_store_list (SubscribeDialog *sc) { - const GSList *accounts; - GList *iter; + EAccountList *accounts; + EAccount *account; + EIterator *iter; GtkWidget *menu; GtkWidget *omenu; + GList *l; accounts = mail_config_get_accounts (); - g_slist_foreach ((GSList *) accounts, (GFunc) populate_store_foreach, sc); + iter = e_list_get_iterator ((EList *) accounts); + while (e_iterator_is_valid (iter)) { + StoreData *sd; + + account = (EAccount *) e_iterator_get (iter); + + if (account->enabled && account->source->url) { + sd = store_data_new (account->source->url); + sc->priv->store_list = g_list_prepend (sc->priv->store_list, sd); + } + + e_iterator_next (iter); + } + + g_object_unref (iter); menu = gtk_menu_new (); - - for (iter = sc->priv->store_list; iter; iter = iter->next) { + + for (l = sc->priv->store_list; l; l = l->next) { GtkWidget *item; CamelURL *url; char *string; - - url = camel_url_new (((StoreData *) iter->data)->uri, NULL); + + url = camel_url_new (((StoreData *) l->data)->uri, NULL); string = camel_url_to_string (url, CAMEL_URL_HIDE_ALL); camel_url_free (url); item = gtk_menu_item_new_with_label (string); - store_data_async_get_store (iter->data, got_sd_store, item); - g_object_set_data (G_OBJECT (item), STORE_DATA_KEY, iter->data); - g_signal_connect(item, "activate", G_CALLBACK(menu_item_selected), sc); + store_data_async_get_store (l->data, got_sd_store, item); + g_object_set_data (G_OBJECT (item), STORE_DATA_KEY, l->data); + g_signal_connect (item, "activate", G_CALLBACK (menu_item_selected), sc); g_free (string); - + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); } - + sc->priv->none_item = gtk_menu_item_new_with_label (_("No server has been selected")); - g_signal_connect(sc->priv->none_item, "activate", G_CALLBACK(dummy_item_selected), sc); + g_signal_connect (sc->priv->none_item, "activate", G_CALLBACK (dummy_item_selected), sc); gtk_widget_show (sc->priv->none_item); - gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), sc->priv->none_item); - + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), sc->priv->none_item); + gtk_widget_show (menu); - + omenu = glade_xml_get_widget (sc->priv->xml, "store_menu"); gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu); } |