aboutsummaryrefslogtreecommitdiff
path: root/tools/indicator-loader.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-09-21 15:53:41 -0500
committerTed Gould <ted@gould.cx>2010-09-21 15:53:41 -0500
commitb91aaa92453fbab73397019070d86c0a9b6fa7ce (patch)
tree202964318d3dbf46edef77a10b7029c3e0752a17 /tools/indicator-loader.c
parentb675da761008a640e02b90aa6b99e345875bd00d (diff)
parent558a37d1ad6479d912c8af6f209f7ba3b7cdc823 (diff)
downloadlibayatana-indicator-b91aaa92453fbab73397019070d86c0a9b6fa7ce.tar.gz
libayatana-indicator-b91aaa92453fbab73397019070d86c0a9b6fa7ce.tar.bz2
libayatana-indicator-b91aaa92453fbab73397019070d86c0a9b6fa7ce.zip
Import upstream version 0.3.14
Diffstat (limited to 'tools/indicator-loader.c')
-rw-r--r--tools/indicator-loader.c13
1 files changed, 13 insertions, 0 deletions
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);