From 8e2bd9c87d812a07caaa2c5aba0bbf819b445e56 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Thu, 20 May 2010 12:58:15 +0100 Subject: registered clients now add menuitems to the menu - the bullet trace is complete --- src/music-bridge.vala | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/music-bridge.vala b/src/music-bridge.vala index 1cadc36..e0900ba 100644 --- a/src/music-bridge.vala +++ b/src/music-bridge.vala @@ -1,16 +1,19 @@ using Indicate; using DbusmenuGlib; using DbusmenuMenuitem; +//using Gee; public class BridgeServer : GLib.Object { private Listener listener; - private RhythmboxController rb; - private DbusmenuMenuitem root_menu; - + private DbusmenuMenuitem root_menu; + //private HashMap registered_clients; + public BridgeServer() { + //registered_clients = new HashMap (); + root_menu = null; listener = Listener.ref_default(); listener.indicator_added.connect(on_indicator_added); listener.indicator_removed.connect(on_indicator_removed); @@ -48,11 +51,17 @@ public class BridgeServer : GLib.Object if (type.contains("music") == false) { debug("server is of no interest, it is not an music server"); return; - } else { + } + else { debug("client of type %s has registered with us", type); - if (type.contains("rhythmbox") == true) { - rb = new RhythmboxController(); - } + if (root_menu != null){ + debug("Just about to create the registration menu item"); + DbusmenuMenuitem client_item = new DbusmenuMenuitem(); + string client_name = type.split(".")[1]; + client_item.property_set(DBUSMENU_MENUITEM_PROP_LABEL, client_name.concat(" is registered")); + //registered_clients.set(client_name, client_item); + root_menu.child_append(client_item); + } } } -- cgit v1.2.3