diff options
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/mail-account-gui.c | 12 | ||||
-rw-r--r-- | mail/mail-config-druid.c | 41 |
3 files changed, 42 insertions, 20 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index dbc2fbfd9e..8f96dbab03 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,12 @@ +2001-10-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (service_check_supported): Don't allow an + auth-type to be set when saving the service. + (mail_account_gui_new): Initialize the source and transport + provider_type's here so we don't forget to do it when it matters. + (mail_account_gui_setup): Don't bother setting the provider_type's + here, they are already set in mail_account_gui_new() now. + 2001-10-23 <NotZed@Ximian.com> * mail-display.c (mail_display_destroy): Remove the idle_id when diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c index 39572f9ab1..07b76a93b9 100644 --- a/mail/mail-account-gui.c +++ b/mail/mail-account-gui.c @@ -502,10 +502,20 @@ service_check_supported (GtkButton *button, gpointer user_data) MailAccountGuiService *gsvc = user_data; MailConfigService *service; GList *authtypes = NULL; + GtkWidget *authitem; service = g_new0 (MailConfigService, 1); + + /* This is sort of a hack, when checking for supported AUTH + types we don't want to use whatever authtype is selected + because it may not be available. */ + authitem = gsvc->authitem; + gsvc->authitem = NULL; + save_service (gsvc, NULL, service); + gsvc->authitem = authitem; + if (mail_config_check_service (service->url, gsvc->provider_type, &authtypes)) { build_auth_menu (gsvc, gsvc->provider->authtypes, authtypes, TRUE); if (!authtypes) { @@ -1244,6 +1254,7 @@ mail_account_gui_new (MailConfigAccount *account) } /* Source */ + gui->source.provider_type = CAMEL_PROVIDER_STORE; gui->source.type = GTK_OPTION_MENU (glade_xml_get_widget (gui->xml, "source_type_omenu")); gui->source.description = GTK_LABEL (glade_xml_get_widget (gui->xml, "source_description")); gui->source.hostname = GTK_ENTRY (glade_xml_get_widget (gui->xml, "source_host")); @@ -1266,6 +1277,7 @@ mail_account_gui_new (MailConfigAccount *account) gui->source_auto_check_min = GTK_SPIN_BUTTON (glade_xml_get_widget (gui->xml, "extra_auto_check_min")); /* Transport */ + gui->transport.provider_type = CAMEL_PROVIDER_TRANSPORT; gui->transport.type = GTK_OPTION_MENU (glade_xml_get_widget (gui->xml, "transport_type_omenu")); gui->transport.description = GTK_LABEL (glade_xml_get_widget (gui->xml, "transport_description")); gui->transport.hostname = GTK_ENTRY (glade_xml_get_widget (gui->xml, "transport_host")); diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c index dbe6553845..2afc90a386 100644 --- a/mail/mail-config-druid.c +++ b/mail/mail-config-druid.c @@ -283,7 +283,7 @@ source_changed (GtkWidget *widget, gpointer data) if (gui->page != MAIL_CONFIG_WIZARD_PAGE_SOURCE) return; - + next_sensitive = mail_account_gui_source_complete (gui->gui, &incomplete); evolution_wizard_set_buttons_sensitive (gui->wizard, TRUE, next_sensitive, TRUE, NULL); @@ -342,7 +342,7 @@ static gboolean transport_back (EvolutionWizard *wizard, gpointer data) { MailConfigWizard *gui = data; - + if (gui->gui->source.provider && gui->gui->source.provider->extra_conf) return FALSE; else { @@ -357,7 +357,7 @@ transport_changed (GtkWidget *widget, gpointer data) MailConfigWizard *gui = data; GtkWidget *incomplete; gboolean next_sensitive; - + if (gui->page != MAIL_CONFIG_WIZARD_PAGE_TRANSPORT) return; next_sensitive = mail_account_gui_transport_complete (gui->gui, &incomplete); @@ -681,20 +681,20 @@ get_fn (EvolutionWizard *wizard, BonoboControl *control; GtkWidget *vbox, *widget; static gboolean first_time = TRUE; - + if (gui->gui == NULL) { if (gui->account == NULL) { gui->account = make_account (); gtk_object_set_data (GTK_OBJECT (wizard), "account-data", gui->account); } - - gui->gui = mail_account_gui_new (gui->account); - - /* set up signals, etc */ - gtk_signal_connect (GTK_OBJECT (gui->gui->account_name), - "changed", management_changed, gui); - gtk_signal_connect (GTK_OBJECT (gui->gui->full_name), + + gui->gui = mail_account_gui_new (gui->account); + + /* set up signals, etc */ + gtk_signal_connect (GTK_OBJECT (gui->gui->account_name), + "changed", management_changed, gui); + gtk_signal_connect (GTK_OBJECT (gui->gui->full_name), "changed", identity_changed, gui); gtk_signal_connect (GTK_OBJECT (gui->gui->email_address), "changed", identity_changed, gui); @@ -710,7 +710,7 @@ get_fn (EvolutionWizard *wizard, "changed", transport_changed, gui); first_time = TRUE; } - + /* Fill in the druid pages */ vbox = gtk_vbox_new (FALSE, 0); switch (page_num) { @@ -724,7 +724,7 @@ get_fn (EvolutionWizard *wizard, gtk_widget_reparent (widget, vbox); gtk_box_set_child_packing (GTK_BOX (vbox), widget, FALSE, FALSE, 0, GTK_PACK_START); break; - + case 1: widget = create_label ("source_html"); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); @@ -732,14 +732,14 @@ get_fn (EvolutionWizard *wizard, gtk_widget_reparent (widget, vbox); gtk_widget_show (widget); break; - + case 2: widget = create_label ("extra_html"); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); widget = glade_xml_get_widget (gui->gui->xml, "extra_vbox"); gtk_widget_reparent (widget, vbox); break; - + case 3: widget = create_label ("transport_html"); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); @@ -747,23 +747,24 @@ get_fn (EvolutionWizard *wizard, gtk_widget_reparent (widget, vbox); gtk_widget_show (widget); break; - + case 4: widget = glade_xml_get_widget (gui->gui->xml, "management_frame"); gtk_widget_reparent (widget, vbox); break; - + default: return NULL; } - + gtk_widget_show (vbox); control = bonobo_control_new (vbox); - + if (first_time) { mail_account_gui_setup (gui->gui, NULL); first_time = FALSE; } + return control; } @@ -900,7 +901,7 @@ evolution_mail_config_wizard_factory_fn (BonoboGenericFactory *factory, wizard = evolution_wizard_new (get_fn, 5, gui); account_wizard = wizard; - + gtk_object_set_data_full (GTK_OBJECT (account_wizard), "account-data", gui, (GtkDestroyNotify) wizard_free); |