diff options
author | Conor Curran <conor.curran@canonical.com> | 2010-09-07 15:12:08 +0100 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2010-09-07 15:12:08 +0100 |
commit | 5abb5a08c0d6282c5ef3569c8a561db15f88473f (patch) | |
tree | 8b759739d6f247b5c907b902378bc039ea4a418d /src | |
parent | f17b3140b1ac0efd8c89ed15d2b2f1549595462d (diff) | |
download | ayatana-indicator-sound-5abb5a08c0d6282c5ef3569c8a561db15f88473f.tar.gz ayatana-indicator-sound-5abb5a08c0d6282c5ef3569c8a561db15f88473f.tar.bz2 ayatana-indicator-sound-5abb5a08c0d6282c5ef3569c8a561db15f88473f.zip |
allow multiple players on the menu
Diffstat (limited to 'src')
-rw-r--r-- | src/familiar-players-db.vala | 2 | ||||
-rw-r--r-- | src/music-player-bridge.vala | 40 |
2 files changed, 19 insertions, 23 deletions
diff --git a/src/familiar-players-db.vala b/src/familiar-players-db.vala index 2bc0a3c..894447c 100644 --- a/src/familiar-players-db.vala +++ b/src/familiar-players-db.vala @@ -83,7 +83,7 @@ public class FamiliarPlayersDB : GLib.Object private bool load_data_from_key_file(){ try{ string[] desktops = this.key_file.get_string_list(GROUP_NAME, - KEY_NAME); + KEY_NAME); foreach(string s in desktops){ this.players_DB.set(s, true); } diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala index daad42f..c677d15 100644 --- a/src/music-player-bridge.vala +++ b/src/music-player-bridge.vala @@ -44,30 +44,26 @@ public class MusicPlayerBridge : GLib.Object } private void try_to_add_inactive_familiar_clients(){ - // TODO handle multple players - just working with one right now - int count = 0; foreach(string app in this.playersDB.records()){ - if(count == 0){ - if(app == null){ - warning("App string in keyfile is null therefore moving on to next player"); - continue; - } - DesktopAppInfo info = new DesktopAppInfo.from_filename(app); - if(info == null){ - warning("Could not create a desktopappinfo instance from app: %s", app); - continue; - } - GLib.AppInfo app_info = info as GLib.AppInfo; - PlayerController ctrl = new PlayerController(this.root_menu, - app_info.get_name(), - calculate_menu_position(), - PlayerController.state.OFFLINE); - ctrl.set("app_info", app_info); - this.registered_clients.set(app_info.get_name().down().strip(), ctrl); - debug("Created a player controller for %s which was found in the cache file", app_info.get_name().down().strip()); - count += 1; + if(app == null){ + warning("App string in keyfile is null therefore moving on to next player"); + continue; + } + + debug("attempting to make an app info from %s", app); + + DesktopAppInfo info = new DesktopAppInfo.from_filename(app); + if(info == null){ + warning("Could not create a desktopappinfo instance from app: %s", app); + continue; } - break; + GLib.AppInfo app_info = info as GLib.AppInfo; + PlayerController ctrl = new PlayerController(this.root_menu, + app_info.get_name(), + calculate_menu_position(), + PlayerController.state.OFFLINE); + ctrl.set("app_info", app_info); + this.registered_clients.set(app_info.get_name().down().strip(), ctrl); } } |