From 80b6f8bba04f51b1f0b55f5d604723e5c9aad91e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 13 May 2009 21:29:52 -0500 Subject: Okay, throwing the signals down to the menuitems --- libdbusmenu-glib/client.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libdbusmenu-glib') diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index b7ac9e0..9a73d6e 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -240,17 +240,33 @@ layout_update (DBusGProxy * proxy, DbusmenuClient * client) return; } +/* Signal from the server that a property has changed + on one of our menuitems */ static void id_prop_update (DBusGProxy * proxy, guint id, gchar * property, gchar * value, DbusmenuClient * client) { + DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + g_return_if_fail(priv->root != NULL); + + DbusmenuMenuitem * menuitem = dbusmenu_menuitem_find_id(priv->root, id); + g_return_if_fail(menuitem != NULL); + dbusmenu_menuitem_property_set(menuitem, property, value); return; } +/* Oh, lots of updates now. That silly server, they want + to change all kinds of stuff! */ static void id_update (DBusGProxy * proxy, guint id, DbusmenuClient * client) { + DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + g_return_if_fail(priv->root != NULL); + + DbusmenuMenuitem * menuitem = dbusmenu_menuitem_find_id(priv->root, id); + g_return_if_fail(menuitem != NULL); + /* dbusmenu_menuitem_property_set(menuitem, property, value); */ return; } -- cgit v1.2.3