From 8a9086aa7c24c3d68c1d06361ebfe36467712204 Mon Sep 17 00:00:00 2001 From: Robert Byrne Date: Sat, 31 Jan 2015 01:21:35 +0000 Subject: [PATCH] #16 underline current track in list --- Gruntfile.js | 3 ++- addon/data/js/controller.js | 48 ++++++++++++++++++++++++++++--------- addon/lib/Hotkey.js | 40 +++++++++++++++---------------- addon/lib/Panel.js | 8 +++---- 4 files changed, 63 insertions(+), 36 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 3d2a293..cacba2b 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -47,7 +47,8 @@ module.exports = function (grunt) { validation: { options: { stoponerror: false, - reset: true + reset: true, + relaxerror: ['Empty heading.'] }, files: { src: ['addon/data/html/*.html'] diff --git a/addon/data/js/controller.js b/addon/data/js/controller.js index 1056ff0..4933603 100644 --- a/addon/data/js/controller.js +++ b/addon/data/js/controller.js @@ -14,6 +14,9 @@ var LocalMusicPlayer = { LocalMusicPlayer.play( document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[0].innerHTML, document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[1].innerHTML); + + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].style.textDecoration = 'underline'; } } } @@ -77,13 +80,13 @@ var LocalMusicPlayer = { self.port.emit("selectDir", ''); }, play: function (dir, filename) { - + if (document.getElementById('tracks').rows[0]) { document.getElementById('player').src = 'file://' + dir + LocalMusicPlayer.separator + filename; document.getElementById('player').play(); - + document.getElementById('currentTrack').textContent = filename; - + if (document.getElementById('notificationPref').checked) { self.port.emit("play", filename); // for notification } @@ -97,6 +100,7 @@ var LocalMusicPlayer = { document.getElementById('currentTrack').textContent = ''; LocalMusicPlayer.currentSongRow = null; document.getElementById('player').src = ''; + LocalMusicPlayer.resetUnderline(); } }, prevTrack: function () { @@ -105,6 +109,9 @@ var LocalMusicPlayer = { LocalMusicPlayer.play( document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[0].innerHTML, document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[1].innerHTML); + + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].style.textDecoration = 'underline'; } }, nextTrack: function () { @@ -122,6 +129,9 @@ var LocalMusicPlayer = { document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[0].innerHTML, document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[1].innerHTML); + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].style.textDecoration = 'underline'; + } else { if (document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow] !== undefined) { @@ -130,6 +140,9 @@ var LocalMusicPlayer = { LocalMusicPlayer.play( document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[0].innerHTML, document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[1].innerHTML); + + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].style.textDecoration = 'underline'; } } } @@ -151,6 +164,9 @@ var LocalMusicPlayer = { LocalMusicPlayer.play( document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[0].innerHTML, document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].cells[1].innerHTML); + + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[LocalMusicPlayer.currentSongRow].style.textDecoration = 'underline'; } } }, @@ -233,10 +249,20 @@ var LocalMusicPlayer = { LocalMusicPlayer.currentSongRow = iteration; LocalMusicPlayer.play(song.dir, song.filename); + LocalMusicPlayer.resetUnderline(); + document.getElementById('tracks').rows[iteration].style.textDecoration = 'underline'; + }, false); cell2.appendChild(img); }, + resetUnderline: function () { + + for (var j = 0; j < document.getElementById('tracks').rows.length; j++) { + + document.getElementById('tracks').rows[j].style.textDecoration = ''; + } + }, toggleView: function (obj) { if (obj.id === 'libraryShow') { @@ -392,33 +418,33 @@ self.port.on('prevTrack', function () { }); self.port.on('hotkeyPlayStatus', function (value) { - if (value === true){ + if (value === true) { document.getElementById('hotkeyPlayPref').className = 'green'; - }else{ + } else { document.getElementById('hotkeyPlayPref').className = 'red'; } }); self.port.on('hotkeyStopStatus', function (value) { - if (value === true){ + if (value === true) { document.getElementById('hotkeyStopPref').className = 'green'; - }else{ + } else { document.getElementById('hotkeyStopPref').className = 'red'; } }); self.port.on('hotkeyNextStatus', function (value) { - if (value === true){ + if (value === true) { document.getElementById('hotkeyNextPref').className = 'green'; - }else{ + } else { document.getElementById('hotkeyNextPref').className = 'red'; } }); self.port.on('hotkeyPrevStatus', function (value) { - if (value === true){ + if (value === true) { document.getElementById('hotkeyPrevPref').className = 'green'; - }else{ + } else { document.getElementById('hotkeyPrevPref').className = 'red'; } }); diff --git a/addon/lib/Hotkey.js b/addon/lib/Hotkey.js index 8b558a1..f306078 100644 --- a/addon/lib/Hotkey.js +++ b/addon/lib/Hotkey.js @@ -40,10 +40,10 @@ exports.init = function () { }; exports.reinitPlay = function () { - + var status = true; - - try{ + + try { hotkeyPlay.destroy(); hotkeyPlay = Hotkey({ combo: Preference.get("hotkeyPlay"), @@ -51,18 +51,18 @@ exports.reinitPlay = function () { Panel.get().port.emit('playTrack', ''); } }); - }catch(err){ + } catch (err) { status = false; } - + return status; }; exports.reinitStop = function () { - + var status = true; - - try{ + + try { hotkeyStop.destroy(); hotkeyStop = Hotkey({ combo: Preference.get("hotkeyStop"), @@ -70,18 +70,18 @@ exports.reinitStop = function () { Panel.get().port.emit('stopTrack', ''); } }); - }catch(err){ + } catch (err) { status = false; } - + return status; }; exports.reinitNext = function () { - + var status = true; - - try{ + + try { hotkeyNext.destroy(); hotkeyNext = Hotkey({ combo: Preference.get("hotkeyNext"), @@ -89,18 +89,18 @@ exports.reinitNext = function () { Panel.get().port.emit('nextTrack', ''); } }); - }catch(err){ + } catch (err) { status = false; } - + return status; }; exports.reinitPrev = function () { - + var status = true; - - try{ + + try { hotkeyPrev.destroy(); hotkeyPrev = Hotkey({ combo: Preference.get("hotkeyPrev"), @@ -108,9 +108,9 @@ exports.reinitPrev = function () { Panel.get().port.emit('prevTrack', ''); } }); - }catch(err){ + } catch (err) { status = false; } - + return status; }; diff --git a/addon/lib/Panel.js b/addon/lib/Panel.js index 08a01dd..b1a6d9e 100644 --- a/addon/lib/Panel.js +++ b/addon/lib/Panel.js @@ -85,22 +85,22 @@ exports.init = function () { panel.port.on("recursiveSetting", function (value) { Preference.set('recursive', value); }); - + panel.port.on("updateHotkeyPlay", function (value) { Preference.set('hotkeyPlay', value); panel.port.emit("hotkeyPlayStatus", Hotkey.reinitPlay()); }); - + panel.port.on("updateHotkeyStop", function (value) { Preference.set('hotkeyStop', value); panel.port.emit("hotkeyStopStatus", Hotkey.reinitStop()); }); - + panel.port.on("updateHotkeyNext", function (value) { Preference.set('hotkeyNext', value); panel.port.emit("hotkeyNextStatus", Hotkey.reinitNext()); }); - + panel.port.on("updateHotkeyPrev", function (value) { Preference.set('hotkeyPrev', value); panel.port.emit("hotkeyPrevStatus", Hotkey.reinitPrev());