diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2011-03-11 12:47:25 -0500 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2011-03-11 12:47:25 -0500 |
commit | a65cff5ec2d7625408d58fe6b23ddb40d7f63ee2 (patch) | |
tree | e745cb3cd2db766aa66b481accda28221f933d75 /src/playlists-menu-item.vala | |
parent | 73772e6ea7f0ca55bd3df65a031ddb48fba66104 (diff) | |
parent | 014ef9d63fdf4d7213f1a9481d0566a63daa7543 (diff) | |
download | ayatana-indicator-sound-a65cff5ec2d7625408d58fe6b23ddb40d7f63ee2.tar.gz ayatana-indicator-sound-a65cff5ec2d7625408d58fe6b23ddb40d7f63ee2.tar.bz2 ayatana-indicator-sound-a65cff5ec2d7625408d58fe6b23ddb40d7f63ee2.zip |
Import upstream version 0.6.3
Diffstat (limited to 'src/playlists-menu-item.vala')
-rw-r--r-- | src/playlists-menu-item.vala | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/playlists-menu-item.vala b/src/playlists-menu-item.vala index f4d7233..98d18f4 100644 --- a/src/playlists-menu-item.vala +++ b/src/playlists-menu-item.vala @@ -47,7 +47,11 @@ 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, (string)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 +81,23 @@ public class PlaylistsMenuitem : PlayerItem } } + private string? parse_icon_path (string path) + { + if (path == "")return null; + var icon_file = File.new_for_path (path); + if (icon_file.get_path() == null)return null; + return icon_file.get_basename().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. |