aboutsummaryrefslogtreecommitdiff
path: root/src/playlists-menu-item.vala
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2011-03-11 15:24:11 +0000
committerConor Curran <conor.curran@canonical.com>2011-03-11 15:24:11 +0000
commit4eb79a1becd4abf459d86754685577b762bb895a (patch)
treed168c1f4c2641cc85ccce6a715afb85524d59666 /src/playlists-menu-item.vala
parenta3b638eb52e751626c7e14beac3a8f29342ce703 (diff)
parent6b0f3ffcaf55d151d87f8dc60d16388b8f4557a2 (diff)
downloadayatana-indicator-sound-4eb79a1becd4abf459d86754685577b762bb895a.tar.gz
ayatana-indicator-sound-4eb79a1becd4abf459d86754685577b762bb895a.tar.bz2
ayatana-indicator-sound-4eb79a1becd4abf459d86754685577b762bb895a.zip
missing icon for playlists fixed
Diffstat (limited to 'src/playlists-menu-item.vala')
-rw-r--r--src/playlists-menu-item.vala17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/playlists-menu-item.vala b/src/playlists-menu-item.vala
index f4d7233..b3fd7c6 100644
--- a/src/playlists-menu-item.vala
+++ b/src/playlists-menu-item.vala
@@ -47,7 +47,12 @@ public class PlaylistsMenuitem : PlayerItem
Dbusmenu.Menuitem menuitem = new Menuitem();
menuitem.property_set (MENUITEM_PROP_LABEL, detail.name);
- menuitem.property_set (MENUITEM_PROP_ICON_NAME, detail.icon_path);
+ var result = this.parse_icon_path (detail.icon_path);
+
+ if (result != null) {
+ menuitem.property_set (MENUITEM_PROP_ICON_NAME, result);
+ }
+
menuitem.property_set (MENUITEM_PATH, (string)detail.path);
menuitem.property_set_bool (MENUITEM_PROP_VISIBLE, true);
menuitem.property_set_bool (MENUITEM_PROP_ENABLED, true);
@@ -77,12 +82,20 @@ public class PlaylistsMenuitem : PlayerItem
}
}
+ private string? parse_icon_path (string path)
+ {
+ return ( path == "" ? null : Path.get_basename(path).split(".")[0] );
+ }
+
public void update_individual_playlist (PlaylistDetails new_detail)
{
foreach ( Dbusmenu.Menuitem item in this.current_playlists.values ){
if (new_detail.path == item.property_get (MENUITEM_PATH)){
item.property_set (MENUITEM_PROP_LABEL, new_detail.name);
- item.property_set (MENUITEM_PROP_ICON_NAME, new_detail.icon_path);
+ var result = this.parse_icon_path (new_detail.icon_path);
+ if (result != null) {
+ item.property_set (MENUITEM_PROP_ICON_NAME, result);
+ }
}
}
// If its active make sure the name is updated on the root item.