diff options
author | Florrie <towerofnix@gmail.com> | 2019-10-15 18:13:40 -0300 |
---|---|---|
committer | Florrie <towerofnix@gmail.com> | 2019-10-15 18:13:40 -0300 |
commit | 0f1197138e3aae2d9cc25f3f1d3c6c3d7a235422 (patch) | |
tree | 55c61c843707ac91e2b696e63604c037a259c6c3 /ui.js | |
parent | c0d6ea0363473cbb43e4f1f50c92803ed14742cb (diff) |
Open JSON playlist files in new tab
Diffstat (limited to 'ui.js')
-rw-r--r-- | ui.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ui.js b/ui.js index f334a70..368c8ea 100644 --- a/ui.js +++ b/ui.js @@ -223,7 +223,7 @@ class AppElement extends FocusElement { this.queueTimeLabel = new Label('') this.paneRight.addChild(this.queueTimeLabel) - this.queueListingElement.on('open', item => this.openThroughSystem(item)) + this.queueListingElement.on('open', item => this.openSpecialOrThroughSystem(item)) this.queueListingElement.on('queue', item => this.play(item)) this.queueListingElement.on('remove', item => this.unqueue(item)) this.queueListingElement.on('shuffle', () => this.shuffleQueue()) @@ -581,7 +581,7 @@ class AppElement extends FocusElement { grouplikeListing.on('browse', item => grouplikeListing.loadGrouplike(item)) grouplikeListing.on('download', item => this.SQP.download(item)) - grouplikeListing.on('open', item => this.openThroughSystem(item)) + grouplikeListing.on('open', item => this.openSpecialOrThroughSystem(item)) grouplikeListing.on('queue', (item, opts) => this.handleQueueOptions(item, opts)) const updateListingsFor = item => { @@ -797,6 +797,14 @@ class AppElement extends FocusElement { } } + openSpecialOrThroughSystem(item) { + if (item.url.endsWith('.json')) { + return this.handlePlaylistSource(item.url, true) + } else { + return this.openThroughSystem(item) + } + } + openThroughSystem(item) { if (!isOpenable(item)) { return @@ -916,6 +924,7 @@ class AppElement extends FocusElement { canControlQueue && isPlayable(item) && {label: 'Remove from queue', action: () => this.unqueue(item)}, {divider: true}, + isOpenable(item) && item.url.endsWith('.json') && {label: 'Open (JSON Playlist)', action: () => this.openSpecialOrThroughSystem(item)}, isOpenable(item) && {label: 'Open (System)', action: () => this.openThroughSystem(item)}, {divider: true}, |