diff --git a/js/main-window.js b/js/main-window.js index f33eb8e7..2a55d5ca 100644 --- a/js/main-window.js +++ b/js/main-window.js @@ -56,7 +56,7 @@ return { var self = this; this.nodes.close.onclick = function() { - self.close(); + self.winamp.close(); }; this.nodes.shade.onclick = function() { @@ -202,6 +202,7 @@ return { window.addEventListener('doubledModeToggled', function() { self.toggleDoubledMode(); }); window.addEventListener('repeatToggled', function() { self.toggleRepeat(); }); window.addEventListener('llamaToggled', function() { self.toggleLlama(); }); + window.addEventListener('close', function() { self.close(); }); this.nodes.window.addEventListener('dragenter', this.dragenter.bind(this)); this.nodes.window.addEventListener('dragover', this.dragover.bind(this)); @@ -214,8 +215,6 @@ return { }, close: function() { - // Probably not the right thing once we have more windows - this.winamp.close(); this.nodes.window.classList.add('closed'); }, diff --git a/js/winamp.js b/js/winamp.js index 1e391875..e1813568 100755 --- a/js/winamp.js +++ b/js/winamp.js @@ -39,7 +39,8 @@ return { balanceChanged: new Event('balanceChanged'), doubledModeToggled: new Event('doubledModeToggled'), repeatToggled: new Event('repeatToggled'), - llamaToggled: new Event('llamaToggled') + llamaToggled: new Event('llamaToggled'), + close: new Event('close') }; this.setVolume(options.volume); @@ -210,6 +211,7 @@ return { }, close: function() { + window.dispatchEvent(this.events.close); this.media.stop(); this.setState('stop'); // Currently unneeded },