[evolution] Bug #683949 - Cannot create new LDAP Addressbook



commit 8e88f65fbe94ca97df338ebc8054879d7bef9aa0
Author: Milan Crha <mcrha redhat com>
Date:   Fri Sep 14 11:20:08 2012 +0200

    Bug #683949 - Cannot create new LDAP Addressbook

 .../book-config-ldap/evolution-book-config-ldap.c  |   13 +++++++++++++
 widgets/misc/e-source-config.c                     |    1 +
 2 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/modules/book-config-ldap/evolution-book-config-ldap.c b/modules/book-config-ldap/evolution-book-config-ldap.c
index 5dd0c9e..01f6e5d 100644
--- a/modules/book-config-ldap/evolution-book-config-ldap.c
+++ b/modules/book-config-ldap/evolution-book-config-ldap.c
@@ -526,6 +526,7 @@ book_config_ldap_insert_widgets (ESourceConfigBackend *backend,
 	const gchar *extension_name;
 	const gchar *tab_label;
 	const gchar *uid;
+	gboolean is_new_source;
 
 	context = g_slice_new (Context);
 	uid = e_source_get_uid (scratch_source);
@@ -845,6 +846,7 @@ book_config_ldap_insert_widgets (ESourceConfigBackend *backend,
 	/* Bind widgets to extension properties. */
 
 	extension_name = E_SOURCE_EXTENSION_AUTHENTICATION;
+	is_new_source = !e_source_has_extension (scratch_source, extension_name);
 	extension = e_source_get_extension (scratch_source, extension_name);
 
 	g_object_bind_property (
@@ -914,6 +916,17 @@ book_config_ldap_insert_widgets (ESourceConfigBackend *backend,
 		context->security_combo, "active",
 		G_BINDING_BIDIRECTIONAL |
 		G_BINDING_SYNC_CREATE);
+
+	/* initialize values from UI into extension, if the source
+	   is a fresh new source; bindings will take care of proper
+	   values setting into extension properties
+	*/
+	if (is_new_source) {
+		g_object_notify (G_OBJECT (context->host_entry), "text");
+		g_object_notify (G_OBJECT (context->port_combo), "active");
+		g_object_notify (G_OBJECT (context->auth_entry), "text");
+		g_object_notify (G_OBJECT (context->auth_combo), "active");
+	}
 }
 
 static gboolean
diff --git a/widgets/misc/e-source-config.c b/widgets/misc/e-source-config.c
index 8e37836..f8b6252 100644
--- a/widgets/misc/e-source-config.c
+++ b/widgets/misc/e-source-config.c
@@ -281,6 +281,7 @@ source_config_type_combo_changed_cb (GtkComboBox *type_combo,
 	}
 
 	e_source_config_resize_window (config);
+	e_source_config_check_complete (config);
 }
 
 static gboolean



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]