diff --git a/js/context.js b/js/context.js index efbec1fd..15e94cf7 100644 --- a/js/context.js +++ b/js/context.js @@ -1,7 +1,17 @@ Context = { + // The Option button + option: document.getElementById('option'), + init: function(winamp) { + var self = this; + document.onclick = function() { - winamp.closeOptionMenu(); + self.option.classList.remove('selected'); + } + + this.option.onclick = function(event) { + self.option.classList.toggle('selected'); + event.stopPropagation(); } var skinSelectNodes = document.getElementsByClassName('skin-select'); @@ -10,15 +20,14 @@ Context = { winamp.setSkinByUrl(this.dataset.skinUrl); } } + document.getElementById('context-play-file').onclick = function(event) { + self.option.classList.remove('selected'); winamp.openFileDialog(); - // Makes the option menu close. Not 100% sure why - event.stopPropagation(); }; document.getElementById('context-load-skin').onclick = function(event) { + self.option.classList.remove('selected'); winamp.openFileDialog(); - // Makes the option menu close. Not 100% sure why - event.stopPropagation(); }; document.getElementById('context-exit').onclick = function() { winamp.close(); diff --git a/js/winamp.js b/js/winamp.js index bcd2452a..d11bcabd 100755 --- a/js/winamp.js +++ b/js/winamp.js @@ -16,7 +16,6 @@ Winamp = { this.state = ''; this.nodes = { - 'option': document.getElementById('option'), 'close': document.getElementById('close'), 'shade': document.getElementById('shade'), 'buttonD': document.getElementById('button-d'), @@ -71,11 +70,6 @@ Winamp = { this.windowManager.registerWindow(this.nodes.winamp, this.nodes.titleBar); - this.nodes.option.onclick = function(event) { - self.toggleOptionMenu(); - event.stopPropagation(); - } - this.nodes.close.onclick = function() { self.close(); } @@ -265,14 +259,6 @@ Winamp = { this.dispatchEvent('changeState'); }, - closeOptionMenu: function() { - this.nodes.option.classList.remove('selected'); - }, - - toggleOptionMenu: function() { - this.nodes.option.classList.toggle('selected'); - }, - toggleDoubledMode: function() { this.nodes.buttonD.classList.toggle('selected'); this.nodes.winamp.classList.toggle('doubled'); @@ -289,7 +275,7 @@ Winamp = { }, play: function() { - if(this.nodes.winamp.classList.contains('play')){ + if(this.state == 'play'){ this.media.stop(); } this.media.play(); @@ -297,10 +283,10 @@ Winamp = { }, pause: function() { - if(this.nodes.winamp.classList.contains('pause')){ + if(this.state == 'pause'){ this.media.play(); } - else if(this.nodes.winamp.classList.contains('play')) + else if(this.state == 'play') { this.media.pause(); this.setState('pause');