aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-account-editor.c
diff options
context:
space:
mode:
authorShi Pu <shi.pu@sun.com>2006-02-15 14:44:14 +0800
committerHarry Lu <haip@src.gnome.org>2006-02-15 14:44:14 +0800
commit00f170eb7ef84cf3043fb9f7b0807c5a7e5a8e6b (patch)
tree0c114b380c73e9247d5fa848c3196b070dd20c44 /mail/em-account-editor.c
parent3f4a07f14a296c475a3fe6d39d3c067fbbb309fb (diff)
downloadgsoc2013-evolution-00f170eb7ef84cf3043fb9f7b0807c5a7e5a8e6b.tar.gz
gsoc2013-evolution-00f170eb7ef84cf3043fb9f7b0807c5a7e5a8e6b.tar.zst
gsoc2013-evolution-00f170eb7ef84cf3043fb9f7b0807c5a7e5a8e6b.zip
See bug ** 325967
2006-02-15 Shi Pu <shi.pu@sun.com> See bug ** 325967 * em-account-editor.c: (emae_service_url_changed): When username entry value of "Sending Email" page/tab is not empty, check combo box of authmech, to pick up the authmech information. svn path=/trunk/; revision=31529
Diffstat (limited to 'mail/em-account-editor.c')
-rw-r--r--mail/em-account-editor.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 64154cf2c5..23a9f5a15c 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -1136,10 +1136,32 @@ emae_uri_changed(EMAccountEditorService *service, CamelURL *url)
static void
emae_service_url_changed(EMAccountEditorService *service, void (*setval)(CamelURL *, const char *), GtkEntry *entry)
{
+ GtkComboBox *dropdown;
+ int id;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ CamelServiceAuthType *authtype;
+
CamelURL *url = emae_account_url(service->emae, emae_service_info[service->type].account_uri_key);
const char *text = gtk_entry_get_text(entry);
setval(url, (text && text[0])?text:NULL);
+
+ if (text && text[0] && setval == camel_url_set_user) {
+ dropdown = service->authtype;
+ if(dropdown) {
+ id = gtk_combo_box_get_active (dropdown);
+ if (id != -1) {
+ model = gtk_combo_box_get_model (dropdown);
+ if (gtk_tree_model_iter_nth_child (model, &iter, NULL, id)) {
+ gtk_tree_model_get (model, &iter, 1, &authtype, -1);
+ if (authtype)
+ camel_url_set_authmech (url, authtype->authproto);
+ }
+ }
+ }
+ }
+
emae_uri_changed(service, url);
camel_url_free(url);
}