diff options
author | Ted Gould <ted@gould.cx> | 2010-03-31 13:47:27 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-03-31 13:47:27 -0500 |
commit | cae176681adb2e32464ec690b319008ae04a4a09 (patch) | |
tree | 64a5a117dac2a8d7b315fdd6361d7c30c2c77a39 /libdbusmenu-glib/menuitem.c | |
parent | 2033f92976ad4e34f01ebf14d11f2198e7ec5142 (diff) | |
download | libdbusmenu-cae176681adb2e32464ec690b319008ae04a4a09.tar.gz libdbusmenu-cae176681adb2e32464ec690b319008ae04a4a09.tar.bz2 libdbusmenu-cae176681adb2e32464ec690b319008ae04a4a09.zip |
Adding a set of callbacks so that we can respond to the about to show request.
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r-- | libdbusmenu-glib/menuitem.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index f33da74..0186a20 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -1207,6 +1207,8 @@ dbusmenu_menuitem_handle_event (DbusmenuMenuitem * mi, const gchar * name, const /** dbusmenu_menuitem_send_about_to_show: @mi: The #DbusmenuMenuitem to send the signal on. + @cb: Callback to call when the call has returned. + @cb_data: Data to pass to the callback. This function is used to send the even that the submenu of this item is about to be shown. Callers to this event @@ -1214,7 +1216,7 @@ dbusmenu_menuitem_handle_event (DbusmenuMenuitem * mi, const gchar * name, const called if possible. */ void -dbusmenu_menuitem_send_about_to_show (DbusmenuMenuitem * mi) +dbusmenu_menuitem_send_about_to_show (DbusmenuMenuitem * mi, dbusmenu_menuitem_about_to_show_cb cb, gpointer cb_data) { g_return_if_fail(DBUSMENU_IS_MENUITEM(mi)); #ifdef MASSIVEDEBUGGING @@ -1223,7 +1225,10 @@ dbusmenu_menuitem_send_about_to_show (DbusmenuMenuitem * mi) DbusmenuMenuitemClass * class = DBUSMENU_MENUITEM_GET_CLASS(mi); if (class->send_about_to_show != NULL) { - return class->send_about_to_show(mi); + return class->send_about_to_show(mi, cb, cb_data); + } else if (cb != NULL) { + cb(mi, cb_data); } + return; } |