aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client-menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-03 18:09:57 -0800
committerTed Gould <ted@gould.cx>2010-02-03 18:09:57 -0800
commit167062acbd9cddb34596328404fe648f68cc6999 (patch)
treef674c1d9b2c221eeea48b75e1e00a3c46c33957c /libdbusmenu-glib/client-menuitem.c
parent9b7020779b1b334d696e6d165d1d61f95c12fc0a (diff)
downloadlibdbusmenu-167062acbd9cddb34596328404fe648f68cc6999.tar.gz
libdbusmenu-167062acbd9cddb34596328404fe648f68cc6999.tar.bz2
libdbusmenu-167062acbd9cddb34596328404fe648f68cc6999.zip
Bringing through the handling of events through the local subclass of the item.
Diffstat (limited to 'libdbusmenu-glib/client-menuitem.c')
-rw-r--r--libdbusmenu-glib/client-menuitem.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libdbusmenu-glib/client-menuitem.c b/libdbusmenu-glib/client-menuitem.c
index e77461d..cd4fdad 100644
--- a/libdbusmenu-glib/client-menuitem.c
+++ b/libdbusmenu-glib/client-menuitem.c
@@ -18,6 +18,7 @@ static void dbusmenu_client_menuitem_class_init (DbusmenuClientMenuitemClass *kl
static void dbusmenu_client_menuitem_init (DbusmenuClientMenuitem *self);
static void dbusmenu_client_menuitem_dispose (GObject *object);
static void dbusmenu_client_menuitem_finalize (GObject *object);
+static void handle_event (DbusmenuMenuitem * mi, const gchar * name, const GValue * value, guint timestamp);
G_DEFINE_TYPE (DbusmenuClientMenuitem, dbusmenu_client_menuitem, DBUSMENU_TYPE_MENUITEM);
@@ -31,6 +32,9 @@ dbusmenu_client_menuitem_class_init (DbusmenuClientMenuitemClass *klass)
object_class->dispose = dbusmenu_client_menuitem_dispose;
object_class->finalize = dbusmenu_client_menuitem_finalize;
+ DbusmenuMenuitemClass * mclass = DBUSMENU_MENUITEM_CLASS(klass);
+ mclass->handle_event = handle_event;
+
return;
}
@@ -65,3 +69,11 @@ dbusmenu_client_menuitem_new (gint id, DbusmenuClient * client)
priv->client = client;
return mi;
}
+
+static void
+handle_event (DbusmenuMenuitem * mi, const gchar * name, const GValue * value, guint timestamp)
+{
+ DbusmenuClientMenuitemPrivate * priv = DBUSMENU_CLIENT_MENUITEM_GET_PRIVATE(mi);
+ dbusmenu_client_send_event(priv->client, dbusmenu_menuitem_get_id(mi), name, value, timestamp);
+ return;
+}