diff options
author | Ted Gould <ted@canonical.com> | 2009-09-17 13:50:02 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-09-17 13:50:02 -0500 |
commit | 0a3140354a4d8d145170b69d9be9d677fa8d6c6d (patch) | |
tree | 8d1b78d17513d5b0a41900f32102e8c243b2bee2 /libdbusmenu-glib/server.c | |
parent | 40f81370d02ab58d5e339f26ae4e74b60981cddd (diff) | |
parent | 15c11261bd45e2732a31b2fa235cc2a6261452e4 (diff) | |
download | libdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.tar.gz libdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.tar.bz2 libdbusmenu-0a3140354a4d8d145170b69d9be9d677fa8d6c6d.zip |
Signaling layout update on child moved
Diffstat (limited to 'libdbusmenu-glib/server.c')
-rw-r--r-- | libdbusmenu-glib/server.c | 9 |
1 files changed, 9 insertions, 0 deletions
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; } |