From bed7c0f05a4b4d60d35fd5e8ca1ade1e8225aae2 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 3 Nov 2011 23:36:30 -0400 Subject: EMAccountEditor: Start using CamelNetworkSettings. Instead of stuffing host/port/user/etc into CamelURLs. To enforce this in 3rd party extensions, remove EAccounts from EMConfigTargetAccount and rename it EMConfigTargetSettings with the following struct members: const gchar *email_address; const gchar *storage_protocol; CamelSettings *storage_settings; const gchar *transport_protocol; CamelSettings *transport_settings; --- plugins/imap-features/imap-headers.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'plugins/imap-features/imap-headers.c') diff --git a/plugins/imap-features/imap-headers.c b/plugins/imap-features/imap-headers.c index a496106372..f09f880b36 100644 --- a/plugins/imap-features/imap-headers.c +++ b/plugins/imap-features/imap-headers.c @@ -78,18 +78,17 @@ void imap_headers_commit (EPlugin *efp, EConfigHookItemFactoryData *data) { - EMConfigTargetAccount *target_account; + EMConfigTargetSettings *target; CamelFetchHeadersType fetch_headers; - CamelSettings *settings; - EAccount *modified_account; gboolean use_imap = g_getenv ("USE_IMAP") != NULL; + const gchar *protocol; - target_account = (EMConfigTargetAccount *) data->config->target; - modified_account = target_account->modified_account; - settings = target_account->settings; + target = (EMConfigTargetSettings *) data->config->target; + protocol = target->storage_protocol; + + if (g_strcmp0 (protocol, "imap") == 0 || + (use_imap && g_strcmp0 (protocol, "groupwise") == 0)) { - if (g_str_has_prefix (modified_account->source->url, "imap://") || - (use_imap && g_str_has_prefix (modified_account->source->url, "groupwise://"))) { GtkTreeModel *model; GtkTreeIter iter; gint n_children; @@ -123,7 +122,7 @@ imap_headers_commit (EPlugin *efp, fetch_headers = CAMEL_FETCH_HEADERS_BASIC_AND_MAILING_LIST; g_object_set ( - settings, + target->storage_settings, "fetch-headers", fetch_headers, "fetch-headers-extra", strv, NULL); @@ -249,9 +248,7 @@ GtkWidget * org_gnome_imap_headers (EPlugin *epl, EConfigHookItemFactoryData *data) { - EMConfigTargetAccount *target_account; - CamelSettings *settings; - EAccount *account; + EMConfigTargetSettings *target; GtkWidget *vbox; GtkBuilder *builder; GtkWidget *button; @@ -262,19 +259,20 @@ org_gnome_imap_headers (EPlugin *epl, CamelFetchHeadersType fetch_headers = 0; gchar **extra_headers = NULL; gboolean use_imap = g_getenv ("USE_IMAP") != NULL; + const gchar *protocol; guint ii, length = 0; ui = g_new0 (EPImapFeaturesData, 1); - target_account = (EMConfigTargetAccount *) data->config->target; - account = target_account->modified_account; - settings = target_account->settings; + target = (EMConfigTargetSettings *) data->config->target; + protocol = target->storage_protocol; - if (!g_str_has_prefix (account->source->url, "imap://") && !(use_imap && g_str_has_prefix (account->source->url, "groupwise://"))) + if (g_strcmp0 (protocol, "imap") != 0 && + !(use_imap && g_strcmp0 (protocol, "groupwise") == 0)) return NULL; g_object_get ( - settings, + target->storage_settings, "fetch-headers", &fetch_headers, "fetch-headers-extra", &extra_headers, NULL); -- cgit v1.2.3