aboutsummaryrefslogtreecommitdiff
path: root/src/music-player-bridge.vala
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2010-09-10 17:50:30 +0200
committerSebastien Bacher <seb128@ubuntu.com>2010-09-10 17:50:30 +0200
commitb2871edf21a70b2f9b8310c80ab455e1e8de1ff7 (patch)
tree39008c492112aee5665a77c517ee48db0528ddf5 /src/music-player-bridge.vala
parentd1fd48d0ed8ce30d29c424c9ff12d9b02a744f52 (diff)
parente9a955249e88474858861e944ace11d55245d967 (diff)
downloadayatana-indicator-sound-b2871edf21a70b2f9b8310c80ab455e1e8de1ff7.tar.gz
ayatana-indicator-sound-b2871edf21a70b2f9b8310c80ab455e1e8de1ff7.tar.bz2
ayatana-indicator-sound-b2871edf21a70b2f9b8310c80ab455e1e8de1ff7.zip
New upstream release.
Diffstat (limited to 'src/music-player-bridge.vala')
-rw-r--r--src/music-player-bridge.vala24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala
index c677d15..61dfa2e 100644
--- a/src/music-player-bridge.vala
+++ b/src/music-player-bridge.vala
@@ -58,15 +58,33 @@ public class MusicPlayerBridge : GLib.Object
continue;
}
GLib.AppInfo app_info = info as GLib.AppInfo;
+ // TODO refactor to remove need for further name refactoring in the player controller
+ // truncate should not do a down() on the name
PlayerController ctrl = new PlayerController(this.root_menu,
- app_info.get_name(),
+ truncate_player_name(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);
+ ctrl.app_info = app_info;
+ if(ctrl.app_info == null)
+ warning("for some reason the app info is null");
+
+ this.registered_clients.set(truncate_player_name(app_info.get_name()), ctrl);
}
}
+ private static string truncate_player_name(string app_info_name)
+ {
+ string result = app_info_name.down().strip();
+
+ var tokens = result.split(" ");
+
+ if(tokens.length > 1){
+ result = tokens[0];
+ }
+ debug("truncate player name %s", result);
+ return result;
+ }
+
private int calculate_menu_position()
{
if(this.registered_clients.size == 0){