diff options
author | Ted Gould <ted@gould.cx> | 2010-07-20 16:21:13 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-07-20 16:21:13 -0500 |
commit | 4fbfb66b98d31283facfd425a91d084c61288ac8 (patch) | |
tree | c78dd2a3daa42ca911fa9aedfae63ccdf6cb9624 /libdbusmenu-glib | |
parent | 903aaf402c081506173b31c755fe58338b6cd930 (diff) | |
download | libdbusmenu-4fbfb66b98d31283facfd425a91d084c61288ac8.tar.gz libdbusmenu-4fbfb66b98d31283facfd425a91d084c61288ac8.tar.bz2 libdbusmenu-4fbfb66b98d31283facfd425a91d084c61288ac8.zip |
Setting up listening on the menuitems to send the activate signal over.
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r-- | libdbusmenu-glib/server.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index deee5da..aa8dfac 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -376,6 +376,15 @@ menuitem_child_moved (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, guint return; } +/* Called when a menu item emits its activated signal so it + gets passed across the bus. */ +static void +menuitem_activated (DbusmenuMenuitem * mi, guint timestamp, DbusmenuServer * server) +{ + g_signal_emit(G_OBJECT(server), signals[ITEM_ACTIVATION], 0, dbusmenu_menuitem_get_id(mi), timestamp, TRUE); + return; +} + /* Connects all the signals that we're interested in coming from a menuitem */ static void @@ -385,6 +394,7 @@ menuitem_signals_create (DbusmenuMenuitem * mi, gpointer data) g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED, G_CALLBACK(menuitem_child_removed), data); g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED, G_CALLBACK(menuitem_child_moved), data); g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, G_CALLBACK(menuitem_property_changed), data); + g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(menuitem_activated), data); return; } |