aboutsummaryrefslogtreecommitdiffstats
path: root/modules/addressbook
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-06-14 16:45:01 +0800
committerMilan Crha <mcrha@redhat.com>2012-06-14 16:45:56 +0800
commite8dc7d80f7cc775b2904cd362141df8740a9ce66 (patch)
tree58f2943c72068225873ca33511c229441b5e2041 /modules/addressbook
parenta6ace09525b799ad5ee68df4942e808bc92641a5 (diff)
downloadgsoc2013-evolution-e8dc7d80f7cc775b2904cd362141df8740a9ce66.tar.gz
gsoc2013-evolution-e8dc7d80f7cc775b2904cd362141df8740a9ce66.tar.zst
gsoc2013-evolution-e8dc7d80f7cc775b2904cd362141df8740a9ce66.zip
Adapt to evolution-data-server's port from GConf to GSettings
Diffstat (limited to 'modules/addressbook')
-rw-r--r--modules/addressbook/Makefile.am2
-rw-r--r--modules/addressbook/e-book-config-name-selector-entry.c131
-rw-r--r--modules/addressbook/e-book-config-name-selector-entry.h30
-rw-r--r--modules/addressbook/evolution-module-addressbook.c2
4 files changed, 165 insertions, 0 deletions
diff --git a/modules/addressbook/Makefile.am b/modules/addressbook/Makefile.am
index f18d871f0d..f02d942b69 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 0000000000..3339931b84
--- /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 0000000000..e61bc028db
--- /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 1caf7ddf08..ebfdc07d36 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);