From 78e082682d5d833fd271899b67d6a203acffa803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Ball=C3=B3?= Date: Wed, 23 Nov 2011 07:59:47 +0100 Subject: Make Control Center panel optional --- Makefile.am | 6 +++++- configure.ac | 55 +++++++++++++++++++++++++++++++++++--------------- data/Makefile.am | 16 ++++++++++----- src/Makefile.am | 4 ++++ src/datetime-service.c | 4 ++++ 5 files changed, 63 insertions(+), 22 deletions(-) diff --git a/Makefile.am b/Makefile.am index feea4de..a5a6e27 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,11 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} +if BUILD_CCPANEL +LIBMAP_SUBDIR = libmap +endif + SUBDIRS = \ - libmap \ + $(LIBMAP_SUBDIR) \ src \ data \ tests \ diff --git a/configure.ac b/configure.ac index 07f52d7..1b5dbf5 100644 --- a/configure.ac +++ b/configure.ac @@ -103,14 +103,34 @@ PKG_CHECK_MODULES(SERVICE, indicator3-0.4 >= $INDICATOR_REQUIRED_VERSION gdk-3.0 >= GDK_REQUIRED_VERSION gconf-2.0 >= GCONF_REQUIRED_VERSION) -PKG_CHECK_MODULES(PREF, gio-2.0 >= $GIO_REQUIRED_VERSION - gtk+-3.0 >= $GTK3_REQUIRED_VERSION - json-glib-1.0 - libgnome-control-center - polkit-gobject-1) - -PKG_CHECK_MODULES(LIBMAP, gio-2.0 >= $GIO_REQUIRED_VERSION - gtk+-3.0 >= $GTK3_REQUIRED_VERSION) +########################### +# Control Center panel +########################### + +AC_ARG_WITH([ccpanel], + AS_HELP_STRING([--with-ccpanel], [enable Control Center panel]),, + with_ccpanel=auto) + +if test x"$with_ccpanel" != x"no" ; then + PKG_CHECK_MODULES(PREF, gio-2.0 >= $GIO_REQUIRED_VERSION + gtk+-3.0 >= $GTK3_REQUIRED_VERSION + json-glib-1.0 + libgnome-control-center + polkit-gobject-1, + [have_ccpanel=yes], + [have_ccpanel=no]) + if test x${have_ccpanel} = xyes; then + AC_DEFINE(HAVE_CCPANEL, 1, [Define to 1 to enable Control Center panel]) + PKG_CHECK_MODULES(LIBMAP, gio-2.0 >= $GIO_REQUIRED_VERSION + gtk+-3.0 >= $GTK3_REQUIRED_VERSION) + fi + if test x${with_ccpanel} = xyes && test x${have_ccpanel} = xno; then + AC_MSG_ERROR([Control Center panel configured but not found]) + fi +else + have_ccpanel=no +fi +AM_CONDITIONAL(BUILD_CCPANEL, test x${have_ccpanel} = xyes) ########################### # Grab the GSettings Macros @@ -151,16 +171,18 @@ AC_SUBST(INDICATORICONSDIR) # Control Center Info ########################### -AS_IF([test "x$with_localinstall" = "xyes"], - [ - CCPANELDIR="${libdir}/control-center-1/panels/" - ], +AS_IF([test "x$have_ccpanel" = "xyes"], [ - CCPANELDIR=`$PKG_CONFIG --variable=extensiondir libgnome-control-center` - ]) - -AC_SUBST(CCPANELDIR) + AS_IF([test "x$with_localinstall" = "xyes"], + [ + CCPANELDIR="${libdir}/control-center-1/panels/" + ], + [ + CCPANELDIR=`$PKG_CONFIG --variable=extensiondir libgnome-control-center` + ]) + AC_SUBST(CCPANELDIR) + ]) ########################### # DBus Service Info ########################### @@ -224,5 +246,6 @@ Date and Time Indicator Configuration: Prefix: $prefix Indicator Dir: $INDICATORDIR + CC Panel: $have_ccpanel CC Panel Dir: $CCPANELDIR ]) diff --git a/data/Makefile.am b/data/Makefile.am index b9a9532..6b7fe0f 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -10,17 +10,23 @@ dbus_services_DATA = indicator-datetime.service %.service: %.service.in sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ +EXTRA_DIST = \ + $(gsettings_SCHEMAS) \ + indicator-datetime.service.in + +CLEANFILES = indicator-datetime.service + +if BUILD_CCPANEL pkgdata_DATA = datetime-dialog.ui @INTLTOOL_DESKTOP_RULE@ desktopdir = $(datadir)/applications desktop_DATA = indicator-datetime-preferences.desktop -EXTRA_DIST = \ - $(gsettings_SCHEMAS) \ +EXTRA_DIST += \ datetime-dialog.ui \ indicator-datetime-preferences.desktop \ - indicator-datetime-preferences.desktop.in \ - indicator-datetime.service.in + indicator-datetime-preferences.desktop.in -CLEANFILES = indicator-datetime-preferences.desktop indicator-datetime.service +CLEANFILES += indicator-datetime-preferences.desktop +endif diff --git a/src/Makefile.am b/src/Makefile.am index 254022e..aa04900 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,8 @@ +if BUILD_CCPANEL ccpaneldir = $(CCPANELDIR) ccpanel_LTLIBRARIES = libindicator-datetime.la +endif libexec_PROGRAMS = indicator-datetime-service @@ -42,6 +44,7 @@ libdatetime_la_LDFLAGS = \ -module \ -avoid-version +if BUILD_CCPANEL libindicator_datetime_la_SOURCES =\ datetime-prefs.c \ datetime-prefs-locations.c \ @@ -62,6 +65,7 @@ libindicator_datetime_la_LIBADD = \ $(top_builddir)/libmap/libmap.la \ $(PREF_LIBS) libindicator_datetime_la_LDFLAGS = -module -avoid-version +endif gen-%.xml.c: %.xml @echo "Building $@ from $<" diff --git a/src/datetime-service.c b/src/datetime-service.c index ed8c8e3..f004c4a 100644 --- a/src/datetime-service.c +++ b/src/datetime-service.c @@ -1146,7 +1146,11 @@ build_menus (DbusmenuMenuitem * root) dbusmenu_menuitem_property_set (settings, DBUSMENU_MENUITEM_PROP_LABEL, _("Time & Date Settingsā€¦")); /* insensitive until we check for available apps */ dbusmenu_menuitem_property_set_bool(settings, DBUSMENU_MENUITEM_PROP_ENABLED, FALSE); + #ifdef HAVE_CCPANEL g_signal_connect(G_OBJECT(settings), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "gnome-control-center indicator-datetime"); + #else + g_signal_connect(G_OBJECT(settings), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "gnome-control-center datetime"); + #endif /* HAVE_CCPANEL */ dbusmenu_menuitem_child_append(root, settings); g_idle_add(check_for_timeadmin, NULL); } -- cgit v1.2.3