Index: HTML/EN/browsedbitems_list.html
===================================================================
--- HTML/EN/browsedbitems_list.html (revision 14253)
+++ HTML/EN/browsedbitems_list.html (working copy)
@@ -17,6 +17,7 @@
mixerlinks = item.mixerlinks
anchor = item.anchor
showdescend = item.showdescend
+ favorites = item.favorites
showplay = item.showplay
showplayall = item.showplayall
playallhref = item.playallhref
Index: HTML/EN/cmdwrappers
===================================================================
--- HTML/EN/cmdwrappers (revision 14253)
+++ HTML/EN/cmdwrappers (working copy)
@@ -18,6 +18,9 @@
[%# set this to set whether or not the skin is capable of using javascript. %]
[% useAJAX = 1 %]
+[%# set this to set whether or not the skin is capable of using the extjs javascript library. %]
+[% useExtJS = 0 %]
+
[%# set this for the background color to use on resized images %]
[% bgcolor = "" %]
@@ -227,6 +230,7 @@
[% ELSE %]
[% WRAPPER playlink %][% PROCESS cmdHRef cmdType='play' %][% END %]
[% WRAPPER addlink %][% PROCESS cmdHRef cmdType='add' %][% END %]
+ [% PROCESS favoritescontrol %]
[% FOREACH mixer = mixerlinks.values.sort -%]
[% PROCESS $mixer %]
[% END %]
@@ -241,6 +245,22 @@
[% WRAPPER addlink %][% PROCESS cmdHRef cmdType='add' %][% END %]
[% END %]
+[% BLOCK favoritescontrol %]
+ [% IF item.favorites == 1 %]
+ [% WRAPPER favaddlink noTarget=1 %]
+ [%- IF useAJAX -%]href="javascript:void(0);" onClick="ajaxUpdate('status.html', 'p0=favorites&p1=add&p2=url:[% itemobj.url | html %]&p3=title:[% itemobj.title | html %]&player=[% playerURI %]')"
+ [%- ELSIF useExtJS -%]href="javascript:void(0);" onclick="Utils.processCommandURL('status.html?p0=favorites&p1=add&p2=url:[% itemobj.url | uri %]&p3=title:[% itemobj.title | uri %]&player=[% playerURI %]', true);"
+ [%- END -%]
+ [% END %]
+ [% ELSIF item.favorites == 2 %]
+ [% WRAPPER favdellink noTarget=1 %]
+ [%- IF useAJAX -%]href="javascript:void(0);" onClick="ajaxUpdate('status.html', 'p0=favorites&p1=delete&p2=url:[% itemobj.url | html %]&p3=title:[% itemobj.title | html %]&player=[% playerURI %]')"
+ [%- ELSIF useExtJS -%]href="javascript:void(0);" onclick="Utils.processCommandURL('status.html?p0=favorites&p1=delete&p2=url:[% itemobj.url | uri %]&p3=title:[% itemobj.title | uri %]&player=[% playerURI %]', true);"
+ [%- END -%]
+ [% END %]
+ [% END %]
+[% END %]
+
[%# this formats the track item %]
[% BLOCK trackinfo %]
[% IF item.currentsong %][% item.noHref=1 %][% END %]
Index: Slim/Plugin/Favorites/Plugin.pm
===================================================================
--- Slim/Plugin/Favorites/Plugin.pm (revision 14253)
+++ Slim/Plugin/Favorites/Plugin.pm (working copy)
@@ -605,8 +605,8 @@
my $client = $request->client();
my $command= $request->getRequest(1);
- my $url = $request->getParam('url');
- my $title = $request->getParam('title');
+ my $url = $request->getParam('url') || $request->getParam('_p2');
+ my $title = $request->getParam('title') || $request->getParam('_p3');
my $index = $request->getParam('item_id');
my $favs = Slim::Plugin::Favorites::OpmlFavorites->new($client);
Index: Slim/Schema/Track.pm
===================================================================
--- Slim/Schema/Track.pm (revision 14253)
+++ Slim/Schema/Track.pm (working copy)
@@ -378,6 +378,10 @@
$form->{'text'} = Slim::Music::TitleFormatter::infoFormat($self, $format, 'TITLE');
$form->{'item'} = $self->id;
$form->{'itemobj'} = $self;
+
+ my $favs = Slim::Plugin::Favorites::OpmlFavorites->new(undef);
+ $form->{'favorites'} = $favs->hasUrl($self->url) ? 2 : 1;
+
# Only include Artist & Album if the user doesn't have them defined in a custom title format.
if ($format !~ /ARTIST/) {