[evolution] Adapt to evolution-data-server's port from GConf to GSettings



commit e8dc7d80f7cc775b2904cd362141df8740a9ce66
Author: Milan Crha <mcrha redhat com>
Date:   Thu Jun 14 10:45:01 2012 +0200

    Adapt to evolution-data-server's port from GConf to GSettings

 data/evolution.convert                             |    3 -
 modules/addressbook/Makefile.am                    |    2 +
 .../e-book-config-name-selector-entry.c            |  131 ++++++++++++++++++++
 .../e-book-config-name-selector-entry.h            |   30 +++++
 modules/addressbook/evolution-module-addressbook.c |    2 +
 modules/calendar/e-cal-shell-settings.c            |   13 +-
 6 files changed, 172 insertions(+), 9 deletions(-)
---
diff --git a/data/evolution.convert b/data/evolution.convert
index f10ff27..331f011 100644
--- a/data/evolution.convert
+++ b/data/evolution.convert
@@ -39,8 +39,6 @@ vpane-position = /apps/evolution/addressbook/display/vpane_position
 
 [org.gnome.evolution.calendar]
 audio-dir = /apps/evolution/calendar/audio_dir
-ba-reminder-interval = /apps/evolution/calendar/other/ba_reminder_interval
-ba-reminder-units = /apps/evolution/calendar/other/ba_reminder_units
 compress-weekend = /apps/evolution/calendar/display/compress_weekend
 confirm-delete = /apps/evolution/calendar/prompts/confirm_delete
 confirm-purge = /apps/evolution/calendar/prompts/confirm_purge
@@ -93,7 +91,6 @@ task-vpane-position = /apps/evolution/calendar/display/task_vpane_position
 time-divisions = /apps/evolution/calendar/display/time_divisions
 timezone = /apps/evolution/calendar/display/timezone
 use-24hour-format = /apps/evolution/calendar/display/use_24hour_format
-use-ba-reminder = /apps/evolution/calendar/other/use_ba_reminder
 use-default-reminder = /apps/evolution/calendar/other/use_default_reminder
 use-system-timezone = /apps/evolution/calendar/display/use_system_timezone
 week-start-day = /apps/evolution/calendar/display/week_start_day
diff --git a/modules/addressbook/Makefile.am b/modules/addressbook/Makefile.am
index f18d871..f02d942 100644
--- a/modules/addressbook/Makefile.am
+++ b/modules/addressbook/Makefile.am
@@ -33,6 +33,8 @@ module_addressbook_la_SOURCES = \
 	eab-composer-util.h					\
 	e-book-config-hook.c					\
 	e-book-config-hook.h					\
+	e-book-config-name-selector-entry.c			\
+	e-book-config-name-selector-entry.h			\
 	e-book-shell-backend.c					\
 	e-book-shell-backend.h					\
 	e-book-shell-content.c					\
diff --git a/modules/addressbook/e-book-config-name-selector-entry.c b/modules/addressbook/e-book-config-name-selector-entry.c
new file mode 100644
index 0000000..3339931
--- /dev/null
+++ b/modules/addressbook/e-book-config-name-selector-entry.c
@@ -0,0 +1,131 @@
+/*
+ * e-book-config-name-selector-entry.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "e-book-config-name-selector-entry.h"
+
+#include <libebackend/libebackend.h>
+#include <libedataserverui/libedataserverui.h>
+
+typedef struct _EBookConfigNameSelectorEntry EBookConfigNameSelectorEntry;
+typedef struct _EBookConfigNameSelectorEntryClass EBookConfigNameSelectorEntryClass;
+
+struct _EBookConfigNameSelectorEntry {
+	EExtension parent;
+	GSettings *settings;
+};
+
+struct _EBookConfigNameSelectorEntryClass {
+	EExtensionClass parent_class;
+};
+
+static gpointer parent_class;
+
+static void
+book_config_name_selector_entry_realize (GtkWidget *widget,
+					 EBookConfigNameSelectorEntry *extension)
+{
+	g_settings_bind (
+		extension->settings, "completion-minimum-query-length",
+		widget, "minimum-query-length",
+		G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_NO_SENSITIVITY);
+
+	g_settings_bind (
+		extension->settings, "completion-show-address",
+		widget, "show-address",
+		G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_NO_SENSITIVITY);
+}
+
+static void
+book_config_name_selector_entry_dispose (GObject *object)
+{
+	EBookConfigNameSelectorEntry *extension;
+
+	extension = (EBookConfigNameSelectorEntry *) object;
+
+	if (extension->settings != NULL) {
+		g_object_unref (extension->settings);
+		extension->settings = NULL;
+	}
+
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+book_config_name_selector_entry_constructed (GObject *object)
+{
+	EBookConfigNameSelectorEntry *extension;
+	EExtensible *extensible;
+
+	extension = (EBookConfigNameSelectorEntry *) object;
+	extensible = e_extension_get_extensible (E_EXTENSION (extension));
+
+	extension->settings = g_settings_new ("org.gnome.evolution.addressbook");
+
+	/* Wait to bind settings until the ENameSelectorEntry is realized */
+
+	/*g_signal_connect (
+		extensible, "realize",
+		G_CALLBACK (book_config_name_selector_entry_realize), extension);*/
+
+	/* Chain up to parent's consturcted() method. */
+	G_OBJECT_CLASS (parent_class)->constructed (object);
+
+	book_config_name_selector_entry_realize (extensible, extension);
+}
+
+static void
+book_config_name_selector_entry_class_init (EBookConfigNameSelectorEntryClass *class)
+{
+	GObjectClass *object_class;
+	EExtensionClass *extension_class;
+
+	parent_class = g_type_class_peek_parent (class);
+
+	object_class = G_OBJECT_CLASS (class);
+	object_class->dispose = book_config_name_selector_entry_dispose;
+	object_class->constructed = book_config_name_selector_entry_constructed;
+
+	extension_class = E_EXTENSION_CLASS (class);
+	extension_class->extensible_type = E_TYPE_NAME_SELECTOR_ENTRY;
+}
+
+void
+e_book_config_name_selector_entry_register_type (GTypeModule *type_module)
+{
+	static const GTypeInfo type_info = {
+		sizeof (EBookConfigNameSelectorEntryClass),
+		(GBaseInitFunc) NULL,
+		(GBaseFinalizeFunc) NULL,
+		(GClassInitFunc) book_config_name_selector_entry_class_init,
+		(GClassFinalizeFunc) NULL,
+		NULL,  /* class_data */
+		sizeof (EBookConfigNameSelectorEntry),
+		0,     /* n_preallocs */
+		(GInstanceInitFunc) NULL,
+		NULL   /* value_table */
+	};
+
+	g_type_module_register_type (
+		type_module, E_TYPE_EXTENSION,
+		"EBookConfigNameSelectorEntry", &type_info, 0);
+}
diff --git a/modules/addressbook/e-book-config-name-selector-entry.h b/modules/addressbook/e-book-config-name-selector-entry.h
new file mode 100644
index 0000000..e61bc02
--- /dev/null
+++ b/modules/addressbook/e-book-config-name-selector-entry.h
@@ -0,0 +1,30 @@
+/*
+ * e-book-config-name-selector-entry.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef E_BOOK_CONFIG_NAME_SELECTOR_ENTRY_H
+#define E_BOOK_CONFIG_NAME_SELECTOR_ENTRY_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+void e_book_config_name_selector_entry_register_type (GTypeModule *type_module);
+
+G_END_DECLS
+
+#endif /* E_BOOK_CONFIG_NAME_SELECTOR_ENTRY_H */
diff --git a/modules/addressbook/evolution-module-addressbook.c b/modules/addressbook/evolution-module-addressbook.c
index 1caf7dd..ebfdc07 100644
--- a/modules/addressbook/evolution-module-addressbook.c
+++ b/modules/addressbook/evolution-module-addressbook.c
@@ -24,6 +24,7 @@
 #endif
 
 #include "e-book-config-hook.h"
+#include "e-book-config-name-selector-entry.h"
 
 #include "e-book-shell-view.h"
 #include "e-book-shell-backend.h"
@@ -40,6 +41,7 @@ e_module_load (GTypeModule *type_module)
 	/* Register dynamically loaded types. */
 
 	e_book_config_hook_register_type (type_module);
+	e_book_config_name_selector_entry_register_type (type_module);
 
 	e_book_shell_view_register_type (type_module);
 	e_book_shell_backend_type_register (type_module);
diff --git a/modules/calendar/e-cal-shell-settings.c b/modules/calendar/e-cal-shell-settings.c
index 943e28e..e160d18 100644
--- a/modules/calendar/e-cal-shell-settings.c
+++ b/modules/calendar/e-cal-shell-settings.c
@@ -31,6 +31,7 @@
 #include <e-util/e-util-enumtypes.h>
 
 #define CALENDAR_SCHEMA "org.gnome.evolution.calendar"
+#define EDS_CALENDAR_CONTACTS_SCHEMA "org.gnome.evolution-data-server.calendar"
 
 static gboolean
 transform_string_to_icaltimezone (GBinding *binding,
@@ -526,13 +527,13 @@ e_cal_shell_backend_init_settings (EShell *shell)
 
 	e_shell_settings_install_property_for_key (
 		"cal-ba-reminder-interval",
-		CALENDAR_SCHEMA,
-		"ba-reminder-interval");
+		EDS_CALENDAR_CONTACTS_SCHEMA,
+		"contacts-reminder-interval");
 
 	e_shell_settings_install_property_for_key (
 		"cal-ba-reminder-units-string",
-		CALENDAR_SCHEMA,
-		"ba-reminder-units");
+		EDS_CALENDAR_CONTACTS_SCHEMA,
+		"contacts-reminder-units");
 
 	e_shell_settings_install_property_for_key (
 		"cal-compress-weekend",
@@ -676,8 +677,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 
 	e_shell_settings_install_property_for_key (
 		"cal-use-ba-reminder",
-		CALENDAR_SCHEMA,
-		"use-ba-reminder");
+		EDS_CALENDAR_CONTACTS_SCHEMA,
+		"contacts-reminder-enabled");
 
 	e_shell_settings_install_property_for_key (
 		"cal-use-default-reminder",



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