Blob Blame History Raw
diff -up evolution-3.8.5/modules/mail-config/e-mail-config-smtp-backend.c.smtp-mail-account-dialog-ui-update evolution-3.8.5/modules/mail-config/e-mail-config-smtp-backend.c
--- evolution-3.8.5/modules/mail-config/e-mail-config-smtp-backend.c.smtp-mail-account-dialog-ui-update	2013-07-23 14:51:42.000000000 +0200
+++ evolution-3.8.5/modules/mail-config/e-mail-config-smtp-backend.c	2014-08-25 17:34:20.364162510 +0200
@@ -25,6 +25,7 @@
 #include <libebackend/libebackend.h>
 
 #include <mail/e-mail-config-auth-check.h>
+#include <mail/e-mail-config-page.h>
 #include <mail/e-mail-config-service-page.h>
 
 #define E_MAIL_CONFIG_SMTP_BACKEND_GET_PRIVATE(obj) \
@@ -46,6 +47,18 @@ G_DEFINE_DYNAMIC_TYPE (
 	E_TYPE_MAIL_CONFIG_SERVICE_BACKEND)
 
 static void
+server_requires_auth_toggled_cb (GtkToggleButton *toggle,
+				 EMailConfigServiceBackend *backend)
+{
+	EMailConfigServicePage *page;
+
+	g_return_if_fail (E_IS_MAIL_CONFIG_SERVICE_BACKEND (backend));
+
+	page = e_mail_config_service_backend_get_page (backend);
+	e_mail_config_page_changed (E_MAIL_CONFIG_PAGE (page));
+}
+
+static void
 mail_config_smtp_backend_insert_widgets (EMailConfigServiceBackend *backend,
                                          GtkBox *parent)
 {
@@ -126,6 +139,9 @@ mail_config_smtp_backend_insert_widgets
 	priv->auth_required_toggle = widget;  /* do not reference */
 	gtk_widget_show (widget);
 
+	g_signal_connect_object (widget, "toggled",
+		G_CALLBACK (server_requires_auth_toggled_cb), backend, 0);
+
 	text = _("Security");
 	markup = g_markup_printf_escaped ("<b>%s</b>", text);
 	widget = gtk_label_new (markup);