diff options
Diffstat (limited to 'src/music-player-bridge.vala')
-rw-r--r-- | src/music-player-bridge.vala | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala index dc66101..92f9dc5 100644 --- a/src/music-player-bridge.vala +++ b/src/music-player-bridge.vala @@ -48,10 +48,15 @@ public class MusicPlayerBridge : GLib.Object if(server_is_not_of_interest(type)) return; string client_name = type.split(".")[1]; if (root_menu != null && client_name != null){ + Dbusmenu.Menuitem client_item = new Dbusmenu.Menuitem(); + client_item.property_set(MENUITEM_PROP_LABEL, client_name.concat(" is registered")); TransportMenuItem transport_item = new TransportMenuItem(); - //client_item.property_set(MENUITEM_PROP_LABEL, client_name.concat(" is registered")); - registered_clients.set(client_name, transport_item); + root_menu.child_append(client_item); root_menu.child_append(transport_item); + + registered_clients.set(client_name, client_item); + // hackery -> need to wrap player sections into its own object + registered_clients.set("transport", transport_item); debug("client of name %s has successfully registered with us", client_name); } } @@ -63,7 +68,9 @@ public class MusicPlayerBridge : GLib.Object string client_name = type.split(".")[1]; if (root_menu != null && client_name != null){ root_menu.child_delete(registered_clients[client_name]); + root_menu.child_delete(registered_clients["transport"]); registered_clients.remove(client_name); + registered_clients.remove("transport"); debug("Successively removed menu_item for client %s from registered_clients", client_name); } } |