aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2010-06-19 01:44:59 -0400
committerMichael Terry <michael.terry@canonical.com>2010-06-19 01:44:59 -0400
commite1f36a8445d1851f15a396ba5488119c298e593d (patch)
treee8f36d86a3c37dc3063faba04de7c7f865e84a81
parent87d82b8a092ec250ba08c14e95e3309ae2cc4f39 (diff)
downloadayatana-indicator-application-e1f36a8445d1851f15a396ba5488119c298e593d.tar.gz
ayatana-indicator-application-e1f36a8445d1851f15a396ba5488119c298e593d.tar.bz2
ayatana-indicator-application-e1f36a8445d1851f15a396ba5488119c298e593d.zip
first pass at gtk3 version of libappindicator
-rw-r--r--configure.ac13
-rw-r--r--src/Makefile.am49
-rw-r--r--src/app-indicator.c4
-rw-r--r--src/appindicator-3.1.pc.in14
4 files changed, 72 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 9396c5c..be9c497 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,7 +37,8 @@ AC_CONFIG_MACRO_DIR(m4)
# Dependencies
###########################
-GTK_REQUIRED_VERSION=2.12
+GTK_REQUIRED_VERSION=2.18
+GTK3_REQUIRED_VERSION=2.90
INDICATOR_REQUIRED_VERSION=0.3.5
DBUSMENUGTK_REQUIRED_VERSION=0.2.2
JSON_GLIB_REQUIRED_VERSION=0.7.6
@@ -52,6 +53,15 @@ PKG_CHECK_MODULES(INDICATOR, gtk+-2.0 >= $GTK_REQUIRED_VERSION
AC_SUBST(INDICATOR_CFLAGS)
AC_SUBST(INDICATOR_LIBS)
+PKG_CHECK_MODULES(INDICATOR3, gtk+-3.0 >= $GTK3_REQUIRED_VERSION
+ indicator >= $INDICATOR_REQUIRED_VERSION
+ json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION
+ dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ dbusmenu-gtk >= $DBUSMENUGTK_REQUIRED_VERSION)
+
+AC_SUBST(INDICATOR3_CFLAGS)
+AC_SUBST(INDICATOR3_LIBS)
+
###########################
# GObject Introspection
###########################
@@ -191,6 +201,7 @@ AC_OUTPUT([
Makefile
src/Makefile
src/appindicator-0.1.pc
+src/appindicator-3.1.pc
bindings/Makefile
bindings/mono/Makefile
bindings/mono/appindicator-sharp.dll.config
diff --git a/src/Makefile.am b/src/Makefile.am
index 787ba2f..e3abf9f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,7 @@
CLEANFILES =
DISTCLEANFILES =
BUILT_SOURCES =
-EXTRA_DIST = appindicator-0.1.pc.in
+EXTRA_DIST = appindicator-0.1.pc.in appindicator-3.1.pc.in
include $(top_srcdir)/Makefile.am.enum
include $(top_srcdir)/Makefile.am.marshal
@@ -26,6 +26,19 @@ libapplication_la_CFLAGS = $(INDICATOR_CFLAGS) \
libapplication_la_LIBADD = $(INDICATOR_LIBS)
libapplication_la_LDFLAGS = -module -avoid-version
+applicationlib1dir = $(INDICATORDIR)
+applicationlib1_LTLIBRARIES = libapplication3.la
+libapplication3_la_SOURCES = $(libapplication_la_SOURCES)
+libapplication3_la_CFLAGS = $(INDICATOR3_CFLAGS) \
+ -Wall \
+ -Wl,-Bsymbolic-functions \
+ -Wl,-z,defs \
+ -Wl,--as-needed \
+ -Werror \
+ -DG_LOG_DOMAIN=\"Indicator-Application\"
+libapplication3_la_LIBADD = $(INDICATOR3_LIBS)
+libapplication3_la_LDFLAGS = $(libapplication_la_LDFLAGS)
+
##################################
# Service
##################################
@@ -66,7 +79,7 @@ glib_marshal_prefix = _application_service_marshal
# Library
##################################
-pkgconfig_DATA = appindicator-0.1.pc
+pkgconfig_DATA = appindicator-0.1.pc appindicator-3.1.pc
pkgconfigdir = $(libdir)/pkgconfig
glib_enum_h = app-indicator-enum-types.h
@@ -76,9 +89,11 @@ glib_enum_headers = $(addprefix $(srcdir)/, $(libappindicator_headers))
DISTCLEANFILES += app-indicator-enum-types.c
lib_LTLIBRARIES = \
- libappindicator.la
+ libappindicator.la \
+ libappindicator3.la
libappindicatorincludedir=$(includedir)/libappindicator-0.1/libappindicator
+libappindicator3includedir=$(includedir)/libappindicator-3.1/libappindicator
libappindicator_headers = \
app-indicator.h
@@ -87,6 +102,8 @@ libappindicatorinclude_HEADERS = \
$(libappindicator_headers) \
$(glib_enum_h)
+libappindicator3include_HEADERS = $(libappindicatorinclude_HEADERS)
+
BUILT_SOURCES += \
notification-watcher-client.h \
notification-item-server.h
@@ -95,19 +112,27 @@ libappindicator_la_SOURCES = \
$(libappindicator_headers) \
app-indicator-enum-types.c \
app-indicator.c
+libappindicator3_la_SOURCES = $(libappindicator_la_SOURCES)
libappindicator_la_LDFLAGS = \
-version-info 0:0:0 \
-no-undefined \
-export-symbols-regex "^[^_d].*"
+libappindicator3_la_LDFLAGS = $(libappindicator_la_LDFLAGS)
libappindicator_la_CFLAGS = \
$(INDICATOR_CFLAGS) \
-Wall -Werror \
-DG_LOG_DOMAIN=\"libappindicator\"
+libappindicator3_la_CFLAGS = \
+ $(INDICATOR3_CFLAGS) \
+ -Wall -Werror \
+ -DG_LOG_DOMAIN=\"libappindicator\"
libappindicator_la_LIBADD = \
$(INDICATOR_LIBS)
+libappindicator3_la_LIBADD = \
+ $(INDICATOR3_LIBS)
##################################
# DBus Specs
@@ -166,7 +191,15 @@ AppIndicator_0_1_gir_CFLAGS = $(INDICATOR_CFLAGS) -I$(srcdir) -I$(top_builddir)/
AppIndicator_0_1_gir_LIBS = libappindicator.la
AppIndicator_0_1_gir_FILES = $(introspection_sources)
-INTROSPECTION_GIRS += AppIndicator-0.1.gir
+AppIndicator-3.1.gir: libappindicator.la $(glib_enum_h)
+AppIndicator_3_1_gir_INCLUDES = \
+ GObject-2.0 \
+ Gtk-3.0
+AppIndicator_3_1_gir_CFLAGS = $(INDICATOR3_CFLAGS) -I$(srcdir) -I$(top_builddir)/src
+AppIndicator_3_1_gir_LIBS = libappindicator3.la
+AppIndicator_3_1_gir_FILES = $(introspection_sources)
+
+INTROSPECTION_GIRS += AppIndicator-0.1.gir AppIndicator-3.1.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
@@ -185,7 +218,7 @@ endif
if HAVE_INTROSPECTION
vapidir = $(datadir)/vala/vapi
-vapi_DATA = AppIndicator-0.1.vapi
+vapi_DATA = AppIndicator-0.1.vapi AppIndicator-3.1.vapi
AppIndicator-0.1.vapi: AppIndicator-0.1.gir Makefile.am
$(VALA_API_GEN) --library=AppIndicator-0.1 \
@@ -193,6 +226,12 @@ AppIndicator-0.1.vapi: AppIndicator-0.1.gir Makefile.am
--vapidir=$(top_builddir)/src \
$<
+AppIndicator-3.1.vapi: AppIndicator-3.1.gir Makefile.am
+ $(VALA_API_GEN) --library=AppIndicator-3.1 \
+ --pkg gtk+-3.0 \
+ --vapidir=$(top_builddir)/src \
+ $<
+
CLEANFILES += $(vapi_DATA)
endif
diff --git a/src/app-indicator.c b/src/app-indicator.c
index bc43e58..939ca9a 100644
--- a/src/app-indicator.c
+++ b/src/app-indicator.c
@@ -1270,7 +1270,7 @@ widget_notify_cb (GtkWidget *widget,
{
dbusmenu_menuitem_property_set_bool (child,
DBUSMENU_MENUITEM_PROP_ENABLED,
- GTK_WIDGET_IS_SENSITIVE (widget));
+ gtk_widget_is_sensitive (widget));
}
else if (pspec->name == g_intern_static_string ("label"))
{
@@ -1422,7 +1422,7 @@ container_iterate (GtkWidget *widget,
dbusmenu_menuitem_property_set_bool (child,
DBUSMENU_MENUITEM_PROP_ENABLED,
- GTK_WIDGET_IS_SENSITIVE (widget));
+ gtk_widget_is_sensitive (widget));
dbusmenu_menuitem_property_set_bool (child,
DBUSMENU_MENUITEM_PROP_VISIBLE,
gtk_widget_get_visible (widget));
diff --git a/src/appindicator-3.1.pc.in b/src/appindicator-3.1.pc.in
new file mode 100644
index 0000000..37ed687
--- /dev/null
+++ b/src/appindicator-3.1.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+bindir=@bindir@
+includedir=@includedir@
+
+Cflags: -I${includedir}/libappindicator-3.1
+Requires: dbusmenu-glib gtk+-3.0
+Libs: -L${libdir} -lappindicator3
+
+Name: appindicator-3.1
+Description: Application indicators
+Version: @VERSION@
+