From e0053bce8e3e5e7f18bea009f3bbfb1e51234f65 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 17 Jan 2003 23:31:27 +0000 Subject: Updated. (request_password): Same. 2003-01-17 Jeffrey Stedfast * 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 --- mail/subscribe-dialog.c | 62 ++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 29 deletions(-) (limited to 'mail/subscribe-dialog.c') 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; @@ -1376,18 +1376,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) { @@ -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); } -- cgit v1.2.3