aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@novell.com>2010-12-02 07:30:35 +0800
committerFederico Mena Quintero <federico@novell.com>2010-12-04 07:52:20 +0800
commite18121ce0ba71e952e7b0217421badf9cf8305ab (patch)
treebaec44442530fe172555d466810ea2e4d5eb8ada
parent6ed48b87de9e768e717915a849d84c46e2c391e2 (diff)
downloadgsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar.gz
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar.bz2
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar.lz
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar.xz
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.tar.zst
gsoc2013-evolution-e18121ce0ba71e952e7b0217421badf9cf8305ab.zip
Set the provider's defaults on when CamelURLs get refreshed with a new protocol
Signed-off-by: Federico Mena Quintero <federico@novell.com>
-rw-r--r--mail/em-account-editor.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index c9c98f4db7..fb0113a60f 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -222,6 +222,7 @@ static void emae_refresh_authtype (EMAccountEditor *emae, EMAccountEditorService
static void em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, const gchar *id);
static void emae_account_folder_changed (EMFolderSelectionButton *folder, EMAccountEditor *emae);
static ServerData * emae_check_servers (const gchar *email);
+static void set_provider_defaults_on_url (CamelProvider *provider, CamelURL *url)
static gpointer parent_class;
@@ -1555,6 +1556,8 @@ emae_service_provider_changed (EMAccountEditorService *service)
gint enable;
GtkWidget *dwidget = NULL;
+ set_provider_defaults_on_url (service->provider, url);
+
camel_url_set_protocol (url, service->provider->protocol);
gtk_label_set_text (service->description, service->provider->description);
if (!emae_check_license (service->emae, service->provider))
@@ -1749,6 +1752,7 @@ emae_refresh_providers (EMAccountEditor *emae, EMAccountEditorService *service)
CamelURL *url = emae_account_url (emae, info->account_uri_key);
camel_url_set_protocol (url, provider->protocol);
+ set_provider_defaults_on_url (provider, url);
emae_uri_changed (service, url);
camel_url_free (url);
}
@@ -3421,6 +3425,10 @@ emae_check_complete (EConfig *ec, const gchar *pageid, gpointer data)
camel_url_set_user (url, user);
if (sdata != NULL) {
camel_url_set_protocol (url, sdata->proto);
+
+ if (emae->priv->source.provider)
+ set_provider_defaults_on_url (emae->priv->source.provider, url);
+
if (sdata->recv_sock && *sdata->recv_sock)
camel_url_set_param (url, "use_ssl", sdata->recv_sock);
else
@@ -3463,6 +3471,10 @@ emae_check_complete (EConfig *ec, const gchar *pageid, gpointer data)
if (sdata != NULL && uri && (url = camel_url_new (uri, NULL)) != NULL) {
refresh = TRUE;
camel_url_set_protocol (url, "smtp");
+
+ if (emae->priv->source.provider)
+ set_provider_defaults_on_url (emae->priv->source.provider, url);
+
if (sdata->send_sock && *sdata->send_sock)
camel_url_set_param (url, "use_ssl", sdata->send_sock);
else