From e7adc3651cc53149dbef761247d4c0afa976e7e6 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <asavard@asavard.(none)> Date: Wed, 1 Jun 2011 18:55:09 -0400 Subject: [PATCH] #5994: Installation of addressbook plugin --- sflphone-client-gnome/globals.mak | 7 +++++-- sflphone-client-gnome/src/contacts/addrbookfactory.c | 12 ++++++++---- .../src/contacts/addressbook/Makefile.am | 5 +++++ sflphone-client-gnome/src/uimanager.c | 10 ---------- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/sflphone-client-gnome/globals.mak b/sflphone-client-gnome/globals.mak index 359696c7dd..28dbc46727 100644 --- a/sflphone-client-gnome/globals.mak +++ b/sflphone-client-gnome/globals.mak @@ -4,6 +4,9 @@ src = $(top_srcdir) ASTYLERC="$(top_srcdir)/../astylerc" indent="/usr/bin/astyle" +sfllibdir=$(DESTDIR)$(libdir)/sflphone +sflplugindir=$(sfllibdir)/plugins + # Preprocessor flags AM_CPPFLAGS = $(DEPS_CFLAGS) \ $(LIBSEXY_CFLAGS) \ @@ -22,8 +25,8 @@ AM_CPPFLAGS = $(DEPS_CFLAGS) \ -DDATADIR=\""$(datadir)"\" \ -DLIBDIR=\""$(libdir)"\" \ -DLOCALEDIR=\""$(localedir)"\" \ - -DSFLPHONE_UIDIR=\""$(datadir)/sflphone/ui"\" - + -DSFLPHONE_UIDIR=\""$(datadir)/sflphone/ui"\" \ + -DPLUGINS_DIR=\""$(sflplugindir)"\" indent: @echo "Indenting code:" if [ -f $(ASTYLERC) ] ; then \ diff --git a/sflphone-client-gnome/src/contacts/addrbookfactory.c b/sflphone-client-gnome/src/contacts/addrbookfactory.c index 867462ce40..e52a4a7012 100644 --- a/sflphone-client-gnome/src/contacts/addrbookfactory.c +++ b/sflphone-client-gnome/src/contacts/addrbookfactory.c @@ -52,23 +52,27 @@ void abookfactory_init_factory() { } void abookfactory_scan_directory(AddrBookFactory *factory) { - + } void abookfactory_load_module(AddrBookFactory *factory) { AddrBookHandle *ab; - void *handle; + void *handle; + + gchar *plugindir = PLUGINS_DIR; + gchar *pluginpath = g_strdup_printf("%s/libevladdrbook.so", plugindir); - DEBUG("AddressbookFactory: Loading addressbook"); + DEBUG("AddressbookFactory: Loading addressbook: %s", pluginpath); ab = g_malloc(sizeof(AddrBookHandle)); - handle = dlopen("./src/contacts/addressbook/libevladdrbook.so", RTLD_LAZY); + handle = dlopen(pluginpath, RTLD_LAZY); if(handle == NULL) { ERROR("AddressbookFactory: Error: Could not load addressbook"); return; } + g_free(pluginpath); ab->init = dlsym(handle, "addressbook_init"); if(ab->init == NULL) { diff --git a/sflphone-client-gnome/src/contacts/addressbook/Makefile.am b/sflphone-client-gnome/src/contacts/addressbook/Makefile.am index 649cc200a1..9ebaad1c9b 100644 --- a/sflphone-client-gnome/src/contacts/addressbook/Makefile.am +++ b/sflphone-client-gnome/src/contacts/addressbook/Makefile.am @@ -17,3 +17,8 @@ libevladdrbook_so_CFLAGS = -fPIC -g -Wall $(SFLGLIB_CFLAGS) $(SFLGTK_CFLAGS) $(L # @SFLGTK_CFLAGS@ @SFLGLIB_CFLAGS@ @WEBKIT_CFLAGS@ @LIBEBOOK_CFLAGS@ \ # @LIBEDATASERVER_CFLAGS@ @LIBEDATASERVERUI_CFLAGS@ @LIBGNOMEUI_CFLAGS@ \ # @GNOMEDOCUTILS_CFLAGS@ + +install-exec-local: install-libplugin_libevladdrbook_so + +install-libplugin_libevladdrbook_so: libevladdrbook.so + $(INSTALL_PROGRAM) libevladdrbook.so $(sflplugindir) diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c index 30cc13d50b..0d821e1588 100644 --- a/sflphone-client-gnome/src/uimanager.c +++ b/sflphone-client-gnome/src/uimanager.c @@ -115,8 +115,6 @@ update_actions() g_object_ref (voicemailToolbar); g_object_ref (imToolbar); - DEBUG("OK1"); - if (is_inserted (GTK_WIDGET (hangUpWidget), GTK_WIDGET (toolbar))) { gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (hangUpWidget)); } @@ -150,8 +148,6 @@ update_actions() GTK_WIDGET (imToolbar)); } - DEBUG("OK2"); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), FALSE); @@ -186,8 +182,6 @@ update_actions() gtk_widget_set_sensitive (GTK_WIDGET (historyButton), TRUE); } - DEBUG("OK3"); - // If addressbook support has been enabled and all addressbooks are loaded, display the icon if(abookfactory_is_addressbook_loaded()) { @@ -204,7 +198,6 @@ update_actions() } } - DEBUG("OK4"); // g_signal_handler_block (GTK_OBJECT (recordWidget), recordButtonConnId); // gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (recordWidget), FALSE); // g_signal_handler_unblock (GTK_OBJECT (recordWidget), recordButtonConnId); @@ -214,8 +207,6 @@ update_actions() gboolean instant_messaging_enabled = TRUE; - DEBUG("OK4"); - if (eel_gconf_key_exists (INSTANT_MESSAGING_ENABLED)) instant_messaging_enabled = eel_gconf_get_integer (INSTANT_MESSAGING_ENABLED); @@ -408,7 +399,6 @@ update_actions() update_voicemail_status(); } } - DEBUG("OK5"); } void -- GitLab