aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-12-20 12:51:59 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-06-03 11:00:41 +0800
commit305b51db24b2ea740f67e068313e721c1b55f937 (patch)
treebc182ddbe62c17670455dc9ffd6594bfa7352144
parentcd3759369b675e754dbed5ba19894cdd87a63a88 (diff)
downloadgsoc2013-evolution-305b51db24b2ea740f67e068313e721c1b55f937.tar.gz
gsoc2013-evolution-305b51db24b2ea740f67e068313e721c1b55f937.tar.zst
gsoc2013-evolution-305b51db24b2ea740f67e068313e721c1b55f937.zip
Add 'book-config-local' module.
Registers the "On This Computer" backend in EBookSourceConfig widgets. Replaces the 'addressbook-file' plugin.
-rw-r--r--configure.ac4
-rw-r--r--modules/Makefile.am1
-rw-r--r--modules/book-config-local/Makefile.am27
-rw-r--r--modules/book-config-local/evolution-book-config-local.c73
-rw-r--r--plugins/addressbook-file/Makefile.am26
-rw-r--r--plugins/addressbook-file/addressbook-file.c69
-rw-r--r--plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml22
-rw-r--r--po/POTFILES.in1
8 files changed, 103 insertions, 120 deletions
diff --git a/configure.ac b/configure.ac
index 1e8999a6ae..5828f33efe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1298,7 +1298,7 @@ AC_ARG_ENABLE([plugins],
[enable_plugins="$enableval"],[enable_plugins=all])
dnl Add any new plugins here
-plugins_base_always="calendar-file calendar-http itip-formatter default-source addressbook-file mark-all-read publish-calendar caldav imap-features google-account-setup webdav-account-setup"
+plugins_base_always="calendar-file calendar-http itip-formatter default-source mark-all-read publish-calendar caldav imap-features google-account-setup webdav-account-setup"
plugins_base="$plugins_base_always"
dist_plugins_base="$plugins_base_always calendar-weather"
@@ -1633,6 +1633,7 @@ modules/bogofilter/Makefile
modules/calendar/Makefile
modules/mail/Makefile
modules/backup-restore/Makefile
+modules/book-config-local/Makefile
modules/composer-autosave/Makefile
modules/mailto-handler/Makefile
modules/mdn/Makefile
@@ -1646,7 +1647,6 @@ modules/spamassassin/Makefile
modules/startup-wizard/Makefile
modules/web-inspector/Makefile
plugins/Makefile
-plugins/addressbook-file/Makefile
plugins/attachment-reminder/Makefile
plugins/audio-inline/Makefile
plugins/bbdb/Makefile
diff --git a/modules/Makefile.am b/modules/Makefile.am
index e52034bc42..cd1e5ce79f 100644
--- a/modules/Makefile.am
+++ b/modules/Makefile.am
@@ -16,6 +16,7 @@ SUBDIRS = \
calendar \
mail \
backup-restore \
+ book-config-local \
composer-autosave \
mailto-handler \
mdn \
diff --git a/modules/book-config-local/Makefile.am b/modules/book-config-local/Makefile.am
new file mode 100644
index 0000000000..234b4825ad
--- /dev/null
+++ b/modules/book-config-local/Makefile.am
@@ -0,0 +1,27 @@
+module_LTLIBRARIES = module-book-config-local.la
+
+module_book_config_local_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/widgets \
+ -DG_LOG_DOMAIN=\"evolution-book-config-local\" \
+ $(EVOLUTION_DATA_SERVER_CFLAGS) \
+ $(GNOME_PLATFORM_CFLAGS)
+
+module_book_config_local_la_SOURCES = \
+ evolution-book-config-local.c
+
+module_book_config_local_la_LIBADD = \
+ $(top_builddir)/e-util/libeutil.la \
+ $(top_builddir)/widgets/misc/libemiscwidgets.la \
+ $(top_builddir)/addressbook/printing/libecontactprint.la \
+ $(top_builddir)/addressbook/gui/merging/libeabbookmerging.la \
+ $(top_builddir)/addressbook/gui/widgets/libeabwidgets.la \
+ $(top_builddir)/addressbook/util/libeabutil.la \
+ $(EVOLUTION_DATA_SERVER_LIBS) \
+ $(GNOME_PLATFORM_LIBS)
+
+module_book_config_local_la_LDFLAGS = \
+ -module -avoid-version $(NO_UNDEFINED)
+
+-include $(top_srcdir)/git.mk
diff --git a/modules/book-config-local/evolution-book-config-local.c b/modules/book-config-local/evolution-book-config-local.c
new file mode 100644
index 0000000000..0f7bb2c78d
--- /dev/null
+++ b/modules/book-config-local/evolution-book-config-local.c
@@ -0,0 +1,73 @@
+/*
+ * evolution-book-config-local.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/>
+ *
+ */
+
+#include <config.h>
+#include <glib/gi18n-lib.h>
+
+#include <libebackend/e-extension.h>
+
+#include <misc/e-source-config-backend.h>
+#include <addressbook/gui/widgets/e-book-source-config.h>
+
+typedef ESourceConfigBackend EBookConfigLocal;
+typedef ESourceConfigBackendClass EBookConfigLocalClass;
+
+/* Module Entry Points */
+void e_module_load (GTypeModule *type_module);
+void e_module_unload (GTypeModule *type_module);
+
+/* Forward Declarations */
+GType e_book_config_local_get_type (void);
+
+G_DEFINE_DYNAMIC_TYPE (
+ EBookConfigLocal,
+ e_book_config_local,
+ E_TYPE_SOURCE_CONFIG_BACKEND)
+
+static void
+e_book_config_local_class_init (ESourceConfigBackendClass *class)
+{
+ EExtensionClass *extension_class;
+
+ extension_class = E_EXTENSION_CLASS (class);
+ extension_class->extensible_type = E_TYPE_BOOK_SOURCE_CONFIG;
+
+ class->parent_uid = "local-stub";
+ class->backend_name = "local";
+}
+
+static void
+e_book_config_local_class_finalize (ESourceConfigBackendClass *class)
+{
+}
+
+static void
+e_book_config_local_init (ESourceConfigBackend *backend)
+{
+}
+
+G_MODULE_EXPORT void
+e_module_load (GTypeModule *type_module)
+{
+ e_book_config_local_register_type (type_module);
+}
+
+G_MODULE_EXPORT void
+e_module_unload (GTypeModule *type_module)
+{
+}
diff --git a/plugins/addressbook-file/Makefile.am b/plugins/addressbook-file/Makefile.am
deleted file mode 100644
index 08401d45c8..0000000000
--- a/plugins/addressbook-file/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-@EVO_PLUGIN_RULE@
-
-plugin_DATA = org-gnome-addressbook-file.eplug
-
-plugin_LTLIBRARIES = liborg-gnome-addressbook-file.la
-
-liborg_gnome_addressbook_file_la_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -I$(top_srcdir) \
- $(EVOLUTION_DATA_SERVER_CFLAGS) \
- $(GNOME_PLATFORM_CFLAGS)
-
-liborg_gnome_addressbook_file_la_SOURCES = addressbook-file.c
-
-liborg_gnome_addressbook_file_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
-
-liborg_gnome_addressbook_file_la_LIBADD = \
- $(EVOLUTION_DATA_SERVER_LIBS) \
- $(GNOME_PLATFORM_LIBS)
-
-EXTRA_DIST = org-gnome-addressbook-file.eplug.xml
-
-BUILT_SOURCES = $(plugin_DATA)
-CLEANFILES = $(BUILT_SOURCES)
-
--include $(top_srcdir)/git.mk
diff --git a/plugins/addressbook-file/addressbook-file.c b/plugins/addressbook-file/addressbook-file.c
deleted file mode 100644
index 40d6458b19..0000000000
--- a/plugins/addressbook-file/addressbook-file.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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/>
- *
- *
- * Authors:
- * Sivaiah Nallagatla <snallagatla@novell.com>
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <e-util/e-config.h>
-#include <addressbook/gui/widgets/eab-config.h>
-#include <libedataserver/e-source.h>
-#include <string.h>
-
-gint e_plugin_lib_enable (EPlugin *ep, gint enable);
-
-gint
-e_plugin_lib_enable (EPlugin *ep,
- gint enable)
-{
- return 0;
-}
-
-GtkWidget *e_book_file_dummy (EPlugin *epl, EConfigHookItemFactoryData *data);
-
-GtkWidget *
-e_book_file_dummy (EPlugin *epl,
- EConfigHookItemFactoryData *data)
-{
- EABConfigTargetSource *t = (EABConfigTargetSource *) data->target;
- ESource *source = t->source;
- gchar *uri_text;
- const gchar *relative_uri;
-
- uri_text = e_source_get_uri (source);
- if (strncmp (uri_text, "file", 4)) {
- g_free (uri_text);
-
- return NULL;
- }
-
- relative_uri = e_source_peek_relative_uri (source);
- g_free (uri_text);
-
- if (relative_uri && *relative_uri) {
- return NULL;
- }
-
- e_source_set_relative_uri (source, e_source_get_uid (source));
-
- return NULL;
-}
diff --git a/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml b/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml
deleted file mode 100644
index ea76c75945..0000000000
--- a/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<e-plugin-list>
- <e-plugin
- type="shlib"
- location="@PLUGINDIR@/liborg-gnome-addressbook-file@SOEXT@"
- id="org.gnome.evolution.addressbook.file"
- _name="Local Address Books"
- system_plugin="true">
- <author name="Sivaiah Nallagatla" email="snallagatla@novell.com"/>
- <_description>Add local address books to Evolution.</_description>
- <hook class="org.gnome.evolution.addressbook.config:1.0">
- <group
- target="source"
- id="com.novell.evolution.addressbook.config.accountEditor">
- <item
- type="item"
- path="00.general/10.display/00.file_dummy"
- factory="e_book_file_dummy"/>
- </group>
- </hook>
- </e-plugin>
-</e-plugin-list>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2f42762d0a..b8390da889 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -305,7 +305,6 @@ modules/spamassassin/evolution-spamassassin.c
modules/spamassassin/evolution-spamassassin.schemas.in
modules/startup-wizard/evolution-startup-wizard.c
modules/web-inspector/evolution-web-inspector.c
-plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml
plugins/attachment-reminder/apps-evolution-attachment-reminder.schemas.in
plugins/attachment-reminder/attachment-reminder.c
plugins/attachment-reminder/org-gnome-attachment-reminder.error.xml