aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-09-17 13:50:02 -0500
committerTed Gould <ted@canonical.com>2009-09-17 13:50:02 -0500
commit0a3140354a4d8d145170b69d9be9d677fa8d6c6d (patch)
tree8d1b78d17513d5b0a41900f32102e8c243b2bee2
parent40f81370d02ab58d5e339f26ae4e74b60981cddd (diff)
parent15c11261bd45e2732a31b2fa235cc2a6261452e4 (diff)
downloadlibdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.tar.gz
libdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.tar.bz2
libdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.zip
Signaling layout update on child moved
-rw-r--r--debian/changelog6
-rw-r--r--libdbusmenu-glib/server.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 8ff250e..75b27c5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libdbusmenu (0.1.4-0ubuntu2~ppa1) UNRELEASED; urgency=low
+
+ * Signaling layout update on child moved
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 17 Sep 2009 13:49:15 -0500
+
libdbusmenu (0.1.4-0ubuntu1) UNRELEASED; urgency=low
* Upstream release (LP: #432003)
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index ab5951f..f4c1dcb 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -323,6 +323,13 @@ menuitem_child_removed (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, Dbu
return;
}
+static void
+menuitem_child_moved (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, guint newpos, guint oldpos, DbusmenuServer * server)
+{
+ g_signal_emit(G_OBJECT(server), signals[LAYOUT_UPDATE], 0, TRUE);
+ return;
+}
+
/* Connects all the signals that we're interested in
coming from a menuitem */
static void
@@ -330,6 +337,7 @@ menuitem_signals_create (DbusmenuMenuitem * mi, gpointer data)
{
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED, G_CALLBACK(menuitem_child_added), 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);
return;
}
@@ -341,6 +349,7 @@ menuitem_signals_remove (DbusmenuMenuitem * mi, gpointer data)
{
g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_child_added), data);
g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_child_removed), data);
+ g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_child_moved), data);
g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_property_changed), data);
return;
}