aboutsummaryrefslogtreecommitdiffstats
path: root/mail/subscribe-dialog.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2003-01-18 07:31:27 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2003-01-18 07:31:27 +0800
commite0053bce8e3e5e7f18bea009f3bbfb1e51234f65 (patch)
treeaa2bee9193f6123438c829c326050a4ebd48dc58 /mail/subscribe-dialog.c
parent650c61584f8970de2cd9c9915dade6843d386191 (diff)
downloadgsoc2013-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.c62
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);
}