Commit 305b51db authored by Matthew Barnes's avatar Matthew Barnes
Browse files

Add 'book-config-local' module.

Registers the "On This Computer" backend in EBookSourceConfig widgets.

Replaces the 'addressbook-file' plugin.
parent cd375936
......@@ -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
......
......@@ -16,6 +16,7 @@ SUBDIRS = \
calendar \
mail \
backup-restore \
book-config-local \
composer-autosave \
mailto-handler \
mdn \
......
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
/*
* 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
......@@ -12,58 +14,60 @@
* 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 <glib/gi18n-lib.h>
#include <e-util/e-config.h>
#include <addressbook/gui/widgets/eab-config.h>
#include <libedataserver/e-source.h>
#include <string.h>
#include <libebackend/e-extension.h>
gint e_plugin_lib_enable (EPlugin *ep, gint enable);
#include <misc/e-source-config-backend.h>
#include <addressbook/gui/widgets/e-book-source-config.h>
gint
e_plugin_lib_enable (EPlugin *ep,
gint enable)
{
return 0;
}
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);
GtkWidget *e_book_file_dummy (EPlugin *epl, EConfigHookItemFactoryData *data);
G_DEFINE_DYNAMIC_TYPE (
EBookConfigLocal,
e_book_config_local,
E_TYPE_SOURCE_CONFIG_BACKEND)
GtkWidget *
e_book_file_dummy (EPlugin *epl,
EConfigHookItemFactoryData *data)
static void
e_book_config_local_class_init (ESourceConfigBackendClass *class)
{
EABConfigTargetSource *t = (EABConfigTargetSource *) data->target;
ESource *source = t->source;
gchar *uri_text;
const gchar *relative_uri;
EExtensionClass *extension_class;
uri_text = e_source_get_uri (source);
if (strncmp (uri_text, "file", 4)) {
g_free (uri_text);
extension_class = E_EXTENSION_CLASS (class);
extension_class->extensible_type = E_TYPE_BOOK_SOURCE_CONFIG;
return NULL;
}
class->parent_uid = "local-stub";
class->backend_name = "local";
}
relative_uri = e_source_peek_relative_uri (source);
g_free (uri_text);
static void
e_book_config_local_class_finalize (ESourceConfigBackendClass *class)
{
}
if (relative_uri && *relative_uri) {
return NULL;
}
static void
e_book_config_local_init (ESourceConfigBackend *backend)
{
}
e_source_set_relative_uri (source, e_source_get_uid (source));
G_MODULE_EXPORT void
e_module_load (GTypeModule *type_module)
{
e_book_config_local_register_type (type_module);
}
return NULL;
G_MODULE_EXPORT void
e_module_unload (GTypeModule *type_module)
{
}
@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
<?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>
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment