diff options
-rw-r--r-- | debian/changelog | 27 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rwxr-xr-x | debian/rules | 1 | ||||
-rw-r--r-- | libindicator/Makefile.am | 5 | ||||
-rw-r--r-- | libindicator/Makefile.in | 9 | ||||
-rw-r--r-- | libindicator/indicator-object.c | 25 | ||||
-rw-r--r-- | libindicator/indicator-object.h | 9 | ||||
-rw-r--r-- | libindicator/indicator.pc.in | 2 | ||||
-rw-r--r-- | tools/indicator-loader.c | 13 |
9 files changed, 88 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog index 6c340ac..77177cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,33 @@ libindicator (0.3.13-0ubuntu1) maverick; urgency=low -- Ted Gould <ted@ubuntu.com> Wed, 15 Sep 2010 11:46:37 -0500 +libindicator (0.3.13-0ubuntu1~ppa3) maverick; urgency=low + + * debian/rules: + * Dropping the simple patch system + * Changing the shlibs to libindicator1 + + -- Ted Gould <ted@ubuntu.com> Sun, 19 Sep 2010 14:47:46 -0500 + +libindicator (0.3.13-0ubuntu1~ppa2) maverick; urgency=low + + * Upstream Merge + * Adding a function to signal a menu is shown + * Changing indicator directory to '4' + * debian/control: Switching from libindicator0 to libindicator1 + as we've broken ABI. Conflicting with libindicator0 to make + upgrade simpler as it doesn't make sense to have both installed. + * Autogen update + + -- Ted Gould <ted@ubuntu.com> Sun, 19 Sep 2010 13:29:13 -0500 + +libindicator (0.3.13-0ubuntu1~ppa1) maverick; urgency=low + + * New upstream release. + * Adding a menu_show signal + + -- Ted Gould <ted@ubuntu.com> Wed, 15 Sep 2010 11:46:37 -0500 + libindicator (0.3.12-0ubuntu1) maverick; urgency=low * New upstream release. diff --git a/debian/control b/debian/control index a67274d..9f16716 100644 --- a/debian/control +++ b/debian/control @@ -22,6 +22,7 @@ Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libindicator0 Description: panel indicator applet - shared library This library contains information to build indicators to go into the indicator applet. diff --git a/debian/rules b/debian/rules index 151b094..9099854 100755 --- a/debian/rules +++ b/debian/rules @@ -2,7 +2,6 @@ include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/gnome.mk -include /usr/share/cdbs/1/rules/simple-patchsys.mk LDFLAGS += -Wl,-z,defs -Wl,--as-needed diff --git a/libindicator/Makefile.am b/libindicator/Makefile.am index 983a6a5..f942f0d 100644 --- a/libindicator/Makefile.am +++ b/libindicator/Makefile.am @@ -42,6 +42,11 @@ libindicator_la_CFLAGS = \ libindicator_la_LIBADD = \ $(LIBINDICATOR_LIBS) +libindicator_la_LDFLAGS = \ + -version-info 1:0:0 \ + -no-undefined \ + -export-symbols-regex "^[^_].*" + pkgconfig_DATA = indicator.pc pkgconfigdir = $(libdir)/pkgconfig diff --git a/libindicator/Makefile.in b/libindicator/Makefile.in index 0dddfe0..209f524 100644 --- a/libindicator/Makefile.in +++ b/libindicator/Makefile.in @@ -105,8 +105,8 @@ am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libindicator_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libindicator_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ + $(libindicator_la_CFLAGS) $(CFLAGS) $(libindicator_la_LDFLAGS) \ + $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -311,6 +311,11 @@ libindicator_la_CFLAGS = \ libindicator_la_LIBADD = \ $(LIBINDICATOR_LIBS) +libindicator_la_LDFLAGS = \ + -version-info 1:0:0 \ + -no-undefined \ + -export-symbols-regex "^[^_].*" + pkgconfig_DATA = indicator.pc pkgconfigdir = $(libdir)/pkgconfig glib_marshal_list = indicator-object-marshal.list diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c index a5fd740..41484a6 100644 --- a/libindicator/indicator-object.c +++ b/libindicator/indicator-object.c @@ -432,3 +432,28 @@ indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entr return 0; } + +/** + indicator_object_entry_activate: + @io: #IndicatorObject to query + @entry: The #IndicatorObjectEntry whose entry was shown + @timestamp: The X11 timestamp of the event + + Used to signal to the indicator that the menu on an entry has + been clicked on. This can either be an activate or a showing + of the menu. Note, this does not actually show the menu that's + left up to the reader. +*/ +void +indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp) +{ + g_return_if_fail(INDICATOR_IS_OBJECT(io)); + IndicatorObjectClass * class = INDICATOR_OBJECT_GET_CLASS(io); + + if (class->entry_activate != NULL) { + return class->entry_activate(io, entry, timestamp); + } + + return; +} + diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h index 32a35f9..79f4757 100644 --- a/libindicator/indicator-object.h +++ b/libindicator/indicator-object.h @@ -94,6 +94,8 @@ struct _IndicatorObjectClass { GList * (*get_entries) (IndicatorObject * io); guint (*get_location) (IndicatorObject * io, IndicatorObjectEntry * entry); + void (*entry_activate) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp); + /* Signals */ void (*entry_added) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data); void (*entry_removed) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data); @@ -102,6 +104,12 @@ struct _IndicatorObjectClass { void (*menu_show) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data); /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); }; /** @@ -132,6 +140,7 @@ IndicatorObject * indicator_object_new_from_file (const gchar * file); GList * indicator_object_get_entries (IndicatorObject * io); guint indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entry); +void indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp); G_END_DECLS diff --git a/libindicator/indicator.pc.in b/libindicator/indicator.pc.in index 91b70b1..abc5590 100644 --- a/libindicator/indicator.pc.in +++ b/libindicator/indicator.pc.in @@ -4,7 +4,7 @@ libdir=@libdir@ bindir=@bindir@ includedir=@includedir@ -indicatordir=${libdir}/indicators/3/ +indicatordir=${libdir}/indicators/4/ iconsdir=@datarootdir@/@PACKAGE@/icons/ Cflags: -I${includedir}/libindicator-0.3 diff --git a/tools/indicator-loader.c b/tools/indicator-loader.c index 747b216..03614aa 100644 --- a/tools/indicator-loader.c +++ b/tools/indicator-loader.c @@ -28,6 +28,17 @@ License along with this library. If not, see #define ENTRY_DATA_NAME "indicator-custom-entry-data" static void +activate_entry (GtkWidget * widget, gpointer user_data) +{ + g_return_if_fail(INDICATOR_IS_OBJECT(user_data)); + gpointer entry = g_object_get_data(G_OBJECT(widget), ENTRY_DATA_NAME); + g_return_if_fail(entry == NULL); + + indicator_object_entry_activate(INDICATOR_OBJECT(user_data), (IndicatorObjectEntry *)entry, gtk_get_current_event_time()); + return; +} + +static void entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data) { g_debug("Signal: Entry Added"); @@ -48,6 +59,8 @@ entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_d gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), GTK_WIDGET(entry->menu)); } + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(activate_entry), io); + gtk_menu_shell_append(GTK_MENU_SHELL(user_data), menuitem); gtk_widget_show(menuitem); |