aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-05-13 21:29:52 -0500
committerTed Gould <ted@canonical.com>2009-05-13 21:29:52 -0500
commit80b6f8bba04f51b1f0b55f5d604723e5c9aad91e (patch)
treecb0507e80c4afaabf51bce2105cc4ffb6e00a11d
parent96546d127bd6669d7dffddb9192be8af837f93a7 (diff)
downloadlibdbusmenu-80b6f8bba04f51b1f0b55f5d604723e5c9aad91e.tar.gz
libdbusmenu-80b6f8bba04f51b1f0b55f5d604723e5c9aad91e.tar.bz2
libdbusmenu-80b6f8bba04f51b1f0b55f5d604723e5c9aad91e.zip
Okay, throwing the signals down to the menuitems
-rw-r--r--libdbusmenu-glib/client.c16
1 files changed, 16 insertions, 0 deletions
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;
}