[evolution-data-server] Revert "Revert "Bug #678400 - ECollectionBackend populates disabled accounts""
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Revert "Revert "Bug #678400 - ECollectionBackend populates disabled accounts""
- Date: Fri, 2 Nov 2012 08:26:35 +0000 (UTC)
commit c4c1119e110980b5dffe6b7fb94020b39dc001ec
Author: Milan Crha <mcrha redhat com>
Date: Fri Nov 2 09:24:50 2012 +0100
Revert "Revert "Bug #678400 - ECollectionBackend populates disabled accounts""
This reverts commit 1c4fb39c131a03428035a2035fca8ea462fc7714,
because the initial revert was a misunderstanding of the change.
libebackend/e-collection-backend.c | 37 ++++++++++++++++++++++++++++++-----
1 files changed, 31 insertions(+), 6 deletions(-)
---
diff --git a/libebackend/e-collection-backend.c b/libebackend/e-collection-backend.c
index 87b1861..d332093 100644
--- a/libebackend/e-collection-backend.c
+++ b/libebackend/e-collection-backend.c
@@ -349,6 +349,19 @@ collection_backend_child_is_mail (ESource *child_source)
return FALSE;
}
+static gboolean
+include_master_source_enabled_transform (GBinding *binding,
+ const GValue *source_value,
+ GValue *target_value,
+ gpointer backend)
+{
+ g_value_set_boolean (target_value,
+ g_value_get_boolean (source_value) &&
+ e_source_get_enabled (e_backend_get_source (backend)));
+
+ return TRUE;
+}
+
static void
collection_backend_bind_child_enabled (ECollectionBackend *backend,
ESource *child_source)
@@ -365,26 +378,38 @@ collection_backend_bind_child_enabled (ECollectionBackend *backend,
extension = e_source_get_extension (collection_source, extension_name);
if (collection_backend_child_is_calendar (child_source)) {
- g_object_bind_property (
+ g_object_bind_property_full (
extension, "calendar-enabled",
child_source, "enabled",
- G_BINDING_SYNC_CREATE);
+ G_BINDING_SYNC_CREATE,
+ include_master_source_enabled_transform,
+ include_master_source_enabled_transform,
+ backend,
+ NULL);
return;
}
if (collection_backend_child_is_contacts (child_source)) {
- g_object_bind_property (
+ g_object_bind_property_full (
extension, "contacts-enabled",
child_source, "enabled",
- G_BINDING_SYNC_CREATE);
+ G_BINDING_SYNC_CREATE,
+ include_master_source_enabled_transform,
+ include_master_source_enabled_transform,
+ backend,
+ NULL);
return;
}
if (collection_backend_child_is_mail (child_source)) {
- g_object_bind_property (
+ g_object_bind_property_full (
extension, "mail-enabled",
child_source, "enabled",
- G_BINDING_SYNC_CREATE);
+ G_BINDING_SYNC_CREATE,
+ include_master_source_enabled_transform,
+ include_master_source_enabled_transform,
+ backend,
+ NULL);
return;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]