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/) {