Skip to content

Commit

Permalink
Initial support for track rating
Browse files Browse the repository at this point in the history
  • Loading branch information
rosenfeld committed Feb 15, 2012
1 parent 2167751 commit 657b90e
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 1 deletion.
31 changes: 31 additions & 0 deletions src/amarokcontent.js
Expand Up @@ -87,6 +87,7 @@ currentTrackDiv = function(path){
div = loadFile("/www/currentTrack.html");
engineState = Amarok.Engine.engineState();
if(engineState == ENGINE_STATE_PAUSE || engineState == ENGINE_STATE_PLAY){
div = div.replace("###rating###", getRatingHtml());
div = div.replace("###artist###", shorten(Amarok.Engine.currentTrack().artist, 18));
div = div.replace("###title###", shorten(Amarok.Engine.currentTrack().title, 18));
div = div.replace("###album###", shorten(Amarok.Engine.currentTrack().album, 18));
Expand All @@ -101,6 +102,7 @@ currentTrackDiv = function(path){
Amarok.Engine.currentTrack().imageUrl == '' ? '' :
'<img src="/ajax/currentTrackCover?key='+(new Date()).getTime()+'"/>');
}else{
div = div.replace("###rating###", "None");
div = div.replace("###artist###", "None");
div = div.replace("###title###", "None");
div = div.replace("###album###", "None");
Expand All @@ -112,6 +114,35 @@ currentTrackDiv = function(path){
return response;
}

function getRatingHtml() {
var rating = currentTrack().rating, result = '<div>'
for (var i=1; i <= 10; i++) {
var star = rating >= i ? 'star' : 'star_3'
// The Dolphin browser for android won't trigger an onclick event on an image
//result += '<img src="/' + star + '.png" onclick="setRating(' + i + ')" />'
result += '<span onclick="setRating(' + i + '); return false;">' +
'<img src="/' + star + '.png" /></span>'
if (i == 5) result += "</div><div>"
}
return result + '</div>'
}

function currentTrack() {
return Amarok.Engine.currentTrack()
}

/**
* Send div with info about the track currently playing.
*/
function ratingDiv(path){
var track = currentTrack(),
newRating = parseInt(path.substring(path.lastIndexOf("/")+1));
if (track.rating == newRating) newRating = 0
track.rating = newRating
response = new HandlerResponse();
response.append(getRatingHtml());
return response;
}
/**
* Send div for the current playlist.
*/
Expand Down
1 change: 1 addition & 0 deletions src/main.js
Expand Up @@ -38,6 +38,7 @@ http.setDefaultHandler(fileHandler);
http.registerHandler("/ajax/controls", controlsDlg);
http.registerHandler("/ajax/currentTrackCover", currentTrackCover);
http.registerHandler("/ajax/currentTrackDiv", currentTrackDiv);
http.registerHandler("/ajax/ratingDiv", ratingDiv);
http.registerHandler("/ajax/playlistDiv", playlistDiv);
http.registerHandler("/ajax/playlistTrackCover", playlistTrackCover);
http.registerHandler("/ajax/collectionDiv", collectionArtistsDiv);
Expand Down
5 changes: 4 additions & 1 deletion src/www/currentTrack.html
@@ -1,5 +1,8 @@
<div id="currentTrack" title="Current Track" class="panel">
<fieldset>
<div class="row evaluation">
<label>Evaluation</label>
<span id="rating">###rating###</span></div>
<div class="row">
<label>Artist</label>
<span>###artist###</span></div>
Expand All @@ -22,4 +25,4 @@
<div style="text-align:right; margin-top:15px;">
<img src="/btn-reload.png" width="57" height="57" onClick="reloadCurrentTrack();" />
</div>
</div>
</div>
3 changes: 3 additions & 0 deletions src/www/index.html
Expand Up @@ -74,6 +74,9 @@
}
function reloadCurrentTrack(){
fillDiv('/ajax/currentTrackDiv', 'currentTrack');
}
function setRating(rating){
fillDiv('/ajax/ratingDiv/' + rating, 'rating');
}
function addAlbumToPlaylist(albumid){
req = new XMLHttpRequest();
Expand Down
4 changes: 4 additions & 0 deletions src/www/iui/iui.css
Expand Up @@ -295,6 +295,10 @@ body > .panel {
text-align: right;
}

.row.evaluation {
min-height: 84px;
}

fieldset > .row:last-child {
border-bottom: none !important;
}
Expand Down
Binary file added src/www/star.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/www/star_3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 657b90e

Please sign in to comment.