From 939ee555b7ce1818af32398e5e930bd76c251cde Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Thu, 23 Jun 2016 23:45:54 -0300 Subject: [PATCH 01/17] fixed typo in buttonIcons (dnla instead of dlna). --- renderer/views/player.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renderer/views/player.js b/renderer/views/player.js index 97f7f54a..b923679b 100644 --- a/renderer/views/player.js +++ b/renderer/views/player.js @@ -413,7 +413,7 @@ function renderPlayerControls (state) { var buttonIcons = { 'chromecast': {true: 'cast_connected', false: 'cast'}, 'airplay': {true: 'airplay', false: 'airplay'}, - 'dnla': {true: 'tv', false: 'tv'} + 'dlna': {true: 'tv', false: 'tv'} } castTypes.forEach(function (castType) { // Do we show this button (eg. the Chromecast button) at all? From a4fa9ac66642433e9a6c34fe1df1e5c037d91415 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 00:46:42 -0300 Subject: [PATCH 02/17] added open in vlc feature. --- config.js | 3 ++- main/menu.js | 10 ++++++++++ renderer/main.js | 24 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/config.js b/config.js index d01b5390..889b604e 100644 --- a/config.js +++ b/config.js @@ -75,7 +75,8 @@ module.exports = { WINDOW_WEBTORRENT: 'file://' + path.join(__dirname, 'renderer', 'webtorrent.html'), WINDOW_MIN_HEIGHT: 38 + (120 * 2), // header height + 2 torrents - WINDOW_MIN_WIDTH: 425 + WINDOW_MIN_WIDTH: 425, + OPEN_IN_VLC: false } function getConfigPath () { diff --git a/main/menu.js b/main/menu.js index 61f17417..0b05e48a 100644 --- a/main/menu.js +++ b/main/menu.js @@ -59,6 +59,10 @@ function onToggleFullScreen (flag) { getMenuItem('Full Screen').checked = flag } +function onToggleOpenInVlc (flag) { + getMenuItem('Open in VLC').checked = flag +} + function onWindowBlur () { getMenuItem('Full Screen').enabled = false getMenuItem('Float on Top').enabled = false @@ -258,6 +262,12 @@ function getMenuTemplate () { label: 'Add Subtitles File...', click: () => windows.main.dispatch('openSubtitles'), enabled: false + }, + { + label: 'Open in VLC', + type: 'checkbox', + click: () => windows.main.dispatch('toggleOpenInVlc', getMenuItem('Open in VLC')), + enabled: true } ] }, diff --git a/renderer/main.js b/renderer/main.js index 0f4ad4eb..64137334 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -151,6 +151,16 @@ function updateElectron () { } } +function toggleOpenInVlc(menuItem) { + var flag = menuItem.checked; + console.log(`toggleOpenInVlc ${flag}`); + config.OPEN_IN_VLC = flag; +} + +function getOpenInVlc() { + return config.OPEN_IN_VLC; +} + // Events from the UI never modify state directly. Instead they call dispatch() function dispatch (action, ...args) { // Log dispatch calls, for debugging @@ -158,6 +168,9 @@ function dispatch (action, ...args) { console.log('dispatch: %s %o', action, args) } + if (action === 'toggleOpenInVlc') { + toggleOpenInVlc(args[0]); + } if (action === 'onOpen') { onOpen(args[0] /* files */) } @@ -1061,6 +1074,17 @@ function openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { return update() } + //------------------------------------------------------ + // play in VLC if set as default player (Menu: Playback / Open in VLC) + if (getOpenInVlc()) { + console.log('-- OPEN IN VLC', torrentSummary); + dispatch('vlcPlay'); + update() + cb() + return; + } + //------------------------------------------------------ + // otherwise, play the video state.window.title = torrentSummary.files[state.playing.fileIndex].name update() From f071965ae890669ebcc35635164ef694f6bd8c84 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 00:57:33 -0300 Subject: [PATCH 03/17] fixed js style --- main/menu.js | 4 ---- renderer/main.js | 21 +++++++++------------ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/main/menu.js b/main/menu.js index 0b05e48a..57f81c2b 100644 --- a/main/menu.js +++ b/main/menu.js @@ -59,10 +59,6 @@ function onToggleFullScreen (flag) { getMenuItem('Full Screen').checked = flag } -function onToggleOpenInVlc (flag) { - getMenuItem('Open in VLC').checked = flag -} - function onWindowBlur () { getMenuItem('Full Screen').enabled = false getMenuItem('Float on Top').enabled = false diff --git a/renderer/main.js b/renderer/main.js index 64137334..bb105e2b 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -151,14 +151,14 @@ function updateElectron () { } } -function toggleOpenInVlc(menuItem) { - var flag = menuItem.checked; - console.log(`toggleOpenInVlc ${flag}`); - config.OPEN_IN_VLC = flag; +function toggleOpenInVlc (menuItem) { + var flag = menuItem.checked + console.log(`toggleOpenInVlc ${flag}`) + config.OPEN_IN_VLC = flag } -function getOpenInVlc() { - return config.OPEN_IN_VLC; +function getOpenInVlc () { + return config.OPEN_IN_VLC } // Events from the UI never modify state directly. Instead they call dispatch() @@ -167,9 +167,8 @@ function dispatch (action, ...args) { if (!['mediaMouseMoved', 'mediaTimeUpdate'].includes(action)) { console.log('dispatch: %s %o', action, args) } - if (action === 'toggleOpenInVlc') { - toggleOpenInVlc(args[0]); + toggleOpenInVlc(args[0]) } if (action === 'onOpen') { onOpen(args[0] /* files */) @@ -1074,16 +1073,14 @@ function openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { return update() } - //------------------------------------------------------ // play in VLC if set as default player (Menu: Playback / Open in VLC) if (getOpenInVlc()) { - console.log('-- OPEN IN VLC', torrentSummary); - dispatch('vlcPlay'); + console.log('-- OPEN IN VLC', torrentSummary) + dispatch('vlcPlay') update() cb() return; } - //------------------------------------------------------ // otherwise, play the video state.window.title = torrentSummary.files[state.playing.fileIndex].name From 8333f4893f17d1126744210f54078162f26f9097 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 01:02:33 -0300 Subject: [PATCH 04/17] fixed js style --- renderer/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderer/main.js b/renderer/main.js index bb105e2b..b928f4e0 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -167,7 +167,7 @@ function dispatch (action, ...args) { if (!['mediaMouseMoved', 'mediaTimeUpdate'].includes(action)) { console.log('dispatch: %s %o', action, args) } - if (action === 'toggleOpenInVlc') { + if (action === 'toggleOpenInVlc') { toggleOpenInVlc(args[0]) } if (action === 'onOpen') { @@ -1079,7 +1079,7 @@ function openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { dispatch('vlcPlay') update() cb() - return; + return } // otherwise, play the video From b9c82dd6b2349dc7736c9ff0857ace7dbeb88007 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 09:28:28 -0300 Subject: [PATCH 05/17] persisting and reloading "Open in VLC" menu item state. --- main/menu.js | 17 +++++++++++++++-- renderer/main.js | 4 ++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/main/menu.js b/main/menu.js index 57f81c2b..0322ee6e 100644 --- a/main/menu.js +++ b/main/menu.js @@ -17,12 +17,24 @@ var dialog = require('./dialog') var shell = require('./shell') var windows = require('./windows') var thumbnail = require('./thumbnail') +var State = require('../renderer/lib/state') -var menu +var menu, state function init () { menu = electron.Menu.buildFromTemplate(getMenuTemplate()) electron.Menu.setApplicationMenu(menu) + + State.load(onState) +} + +function onState (err, _state) { + if (err) return onError(err) + state = _state + + // Refresh menu + menu = electron.Menu.buildFromTemplate(getMenuTemplate()) + electron.Menu.setApplicationMenu(menu) } function onPlayerClose () { @@ -263,7 +275,8 @@ function getMenuTemplate () { label: 'Open in VLC', type: 'checkbox', click: () => windows.main.dispatch('toggleOpenInVlc', getMenuItem('Open in VLC')), - enabled: true + enabled: true, + checked: state && state.saved.openInVlc } ] }, diff --git a/renderer/main.js b/renderer/main.js index b928f4e0..337ef467 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -154,11 +154,11 @@ function updateElectron () { function toggleOpenInVlc (menuItem) { var flag = menuItem.checked console.log(`toggleOpenInVlc ${flag}`) - config.OPEN_IN_VLC = flag + state.saved.openInVlc = flag; } function getOpenInVlc () { - return config.OPEN_IN_VLC + return state.saved.openInVlc } // Events from the UI never modify state directly. Instead they call dispatch() From 4ad55173a55afc96c5f2de9be85ee54e6df25848 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 09:34:12 -0300 Subject: [PATCH 06/17] added missing method to menu.js --- main/menu.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main/menu.js b/main/menu.js index 0322ee6e..e037755b 100644 --- a/main/menu.js +++ b/main/menu.js @@ -37,6 +37,14 @@ function onState (err, _state) { electron.Menu.setApplicationMenu(menu) } +function onError (err) { + console.error(err.stack || err) + state.errors.push({ + time: new Date().getTime(), + message: err.message || err + }) +} + function onPlayerClose () { getMenuItem('Play/Pause').enabled = false getMenuItem('Increase Volume').enabled = false From 4df4f9b2ade2e69072edeace5dce0ef57c9b18e3 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 09:34:54 -0300 Subject: [PATCH 07/17] fixed js style --- main/menu.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/menu.js b/main/menu.js index e037755b..f0da91c2 100644 --- a/main/menu.js +++ b/main/menu.js @@ -31,7 +31,7 @@ function init () { function onState (err, _state) { if (err) return onError(err) state = _state - + // Refresh menu menu = electron.Menu.buildFromTemplate(getMenuTemplate()) electron.Menu.setApplicationMenu(menu) From a9e36472c523399b58cd2219c476fa12839d5ac7 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 24 Jun 2016 09:38:08 -0300 Subject: [PATCH 08/17] fixed js style --- renderer/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renderer/main.js b/renderer/main.js index 337ef467..8e7704ec 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -154,7 +154,7 @@ function updateElectron () { function toggleOpenInVlc (menuItem) { var flag = menuItem.checked console.log(`toggleOpenInVlc ${flag}`) - state.saved.openInVlc = flag; + state.saved.openInVlc = flag } function getOpenInVlc () { From 2043dc2161a5f8dbb005c3dfbc63f077d85f3122 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Sat, 25 Jun 2016 17:36:50 -0300 Subject: [PATCH 09/17] added Playback preferences; added Play in VLC preference. --- main/menu.js | 29 +------------------ renderer/main.css | 8 ++++++ renderer/main.js | 14 ++-------- renderer/views/preferences.js | 52 +++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 40 deletions(-) diff --git a/main/menu.js b/main/menu.js index f0da91c2..61f17417 100644 --- a/main/menu.js +++ b/main/menu.js @@ -17,32 +17,12 @@ var dialog = require('./dialog') var shell = require('./shell') var windows = require('./windows') var thumbnail = require('./thumbnail') -var State = require('../renderer/lib/state') -var menu, state +var menu function init () { menu = electron.Menu.buildFromTemplate(getMenuTemplate()) electron.Menu.setApplicationMenu(menu) - - State.load(onState) -} - -function onState (err, _state) { - if (err) return onError(err) - state = _state - - // Refresh menu - menu = electron.Menu.buildFromTemplate(getMenuTemplate()) - electron.Menu.setApplicationMenu(menu) -} - -function onError (err) { - console.error(err.stack || err) - state.errors.push({ - time: new Date().getTime(), - message: err.message || err - }) } function onPlayerClose () { @@ -278,13 +258,6 @@ function getMenuTemplate () { label: 'Add Subtitles File...', click: () => windows.main.dispatch('openSubtitles'), enabled: false - }, - { - label: 'Open in VLC', - type: 'checkbox', - click: () => windows.main.dispatch('toggleOpenInVlc', getMenuItem('Open in VLC')), - enabled: true, - checked: state && state.saved.openInVlc } ] }, diff --git a/renderer/main.css b/renderer/main.css index 9f64c957..7e613dfe 100644 --- a/renderer/main.css +++ b/renderer/main.css @@ -1078,6 +1078,14 @@ video::-webkit-media-text-track-container { vertical-align: text-bottom; } +.preferences .checkbox { + width: auto; +} + +.checkbox-label { + vertical-align: middle; +} + /* * MEDIA OVERLAY / AUDIO DETAILS diff --git a/renderer/main.js b/renderer/main.js index 8e7704ec..4cefb33b 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -151,14 +151,8 @@ function updateElectron () { } } -function toggleOpenInVlc (menuItem) { - var flag = menuItem.checked - console.log(`toggleOpenInVlc ${flag}`) - state.saved.openInVlc = flag -} - function getOpenInVlc () { - return state.saved.openInVlc + return state.saved.prefs.playInVlc } // Events from the UI never modify state directly. Instead they call dispatch() @@ -167,9 +161,6 @@ function dispatch (action, ...args) { if (!['mediaMouseMoved', 'mediaTimeUpdate'].includes(action)) { console.log('dispatch: %s %o', action, args) } - if (action === 'toggleOpenInVlc') { - toggleOpenInVlc(args[0]) - } if (action === 'onOpen') { onOpen(args[0] /* files */) } @@ -1073,9 +1064,8 @@ function openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { return update() } - // play in VLC if set as default player (Menu: Playback / Open in VLC) + // play in VLC if set as default player (Preferences / Playback / Play in VLC) if (getOpenInVlc()) { - console.log('-- OPEN IN VLC', torrentSummary) dispatch('vlcPlay') update() cb() diff --git a/renderer/views/preferences.js b/renderer/views/preferences.js index 4e4773ed..19de64f8 100644 --- a/renderer/views/preferences.js +++ b/renderer/views/preferences.js @@ -10,6 +10,7 @@ function Preferences (state) { return hx`
${renderGeneralSection(state)} + ${renderPlaybackSection(state)}
` } @@ -24,6 +25,29 @@ function renderGeneralSection (state) { ]) } +function renderPlaybackSection (state) { + return renderSection({ + title: 'Playback', + description: '', + icon: 'settings' + }, [ + renderPlayInVlcSelector(state) + ]) +} + +function renderPlayInVlcSelector (state) { + return renderCheckbox({ + label: 'Play in VLC', + description: 'Media will play in VLC', + property: 'playInVlc', + value: state.saved.prefs.playInVlc + }, + state.unsaved.prefs.playInVlc, + function (value) { + setStateValue('playInVlc', value) + }) +} + function renderDownloadDirSelector (state) { return renderFileSelector({ label: 'Download Path', @@ -64,6 +88,34 @@ function renderSection (definition, controls) { ` } +function renderCheckbox(definition, value, callback) { + var checked = '' + if (value) checked = 'checked' + + return hx` +
+
+ +
+ +
+
+
+ ` + function handleClick () { + callback(this.checked) + } +} + // Creates a file chooser // - defition should be {label, description, options} // options are passed to dialog.showOpenDialog From 3e19cdfb0bfe8910c658618035e0342c060886eb Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Sat, 25 Jun 2016 17:40:47 -0300 Subject: [PATCH 10/17] fixed js style --- renderer/views/preferences.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renderer/views/preferences.js b/renderer/views/preferences.js index 19de64f8..4dc605ca 100644 --- a/renderer/views/preferences.js +++ b/renderer/views/preferences.js @@ -88,7 +88,7 @@ function renderSection (definition, controls) { ` } -function renderCheckbox(definition, value, callback) { +function renderCheckbox (definition, value, callback) { var checked = '' if (value) checked = 'checked' From 91a1ab4a56c74fadde83a1416508789b6b0d465a Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Mon, 27 Jun 2016 08:21:30 -0300 Subject: [PATCH 11/17] removed unused config property --- config.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config.js b/config.js index 889b604e..d01b5390 100644 --- a/config.js +++ b/config.js @@ -75,8 +75,7 @@ module.exports = { WINDOW_WEBTORRENT: 'file://' + path.join(__dirname, 'renderer', 'webtorrent.html'), WINDOW_MIN_HEIGHT: 38 + (120 * 2), // header height + 2 torrents - WINDOW_MIN_WIDTH: 425, - OPEN_IN_VLC: false + WINDOW_MIN_WIDTH: 425 } function getConfigPath () { From 7677bff6d42a62c3deaded4fcd204a4cdf1e48ec Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Sun, 17 Jul 2016 20:57:06 -0300 Subject: [PATCH 12/17] merged with latest master --- renderer/controllers/playback-controller.js | 12 ++++++++++++ renderer/main.js | 6 +----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/renderer/controllers/playback-controller.js b/renderer/controllers/playback-controller.js index 126fb5df..b3cbda5f 100644 --- a/renderer/controllers/playback-controller.js +++ b/renderer/controllers/playback-controller.js @@ -197,6 +197,10 @@ function openPlayer (state, infoHash, index, cb) { } } +function getOpenInVlc () { + return state.saved.prefs.playInVlc +} + function openPlayerFromActiveTorrent (state, torrentSummary, index, timeout, cb) { var fileSummary = torrentSummary.files[index] @@ -241,6 +245,14 @@ function openPlayerFromActiveTorrent (state, torrentSummary, index, timeout, cb) return this.update() } + // play in VLC if set as default player (Preferences / Playback / Play in VLC) + if (getOpenInVlc()) { + dispatch('vlcPlay') + this.update() + cb() + return + } + // otherwise, play the video state.window.title = torrentSummary.files[state.playing.fileIndex].name this.update() diff --git a/renderer/main.js b/renderer/main.js index d94ea4b8..c5a60f0e 100644 --- a/renderer/main.js +++ b/renderer/main.js @@ -166,10 +166,6 @@ function updateElectron () { } } -function getOpenInVlc () { - return state.saved.prefs.playInVlc -} - const dispatchHandlers = { // Torrent list: creating, deleting, selecting torrents 'openTorrentFile': () => ipcRenderer.send('openTorrentFile'), @@ -320,8 +316,8 @@ function escapeBack () { dispatch('toggleFullScreen') } else { dispatch('back') -} } +} // Starts all torrents that aren't paused on program startup function resumeTorrents () { From a695f7c2d7b92172d0816b693481d078df8470fa Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Sun, 17 Jul 2016 21:05:24 -0300 Subject: [PATCH 13/17] using this.state --- renderer/controllers/playback-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renderer/controllers/playback-controller.js b/renderer/controllers/playback-controller.js index b3cbda5f..7df428dc 100644 --- a/renderer/controllers/playback-controller.js +++ b/renderer/controllers/playback-controller.js @@ -198,7 +198,7 @@ function openPlayer (state, infoHash, index, cb) { } function getOpenInVlc () { - return state.saved.prefs.playInVlc + return this.state.saved.prefs.playInVlc } function openPlayerFromActiveTorrent (state, torrentSummary, index, timeout, cb) { From dcab7f72d47934e86ede24aee56171d00c4780b1 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Tue, 19 Jul 2016 02:10:37 -0300 Subject: [PATCH 14/17] fixed error with minimist not being loaded on build --- bin/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/package.js b/bin/package.js index 4708524b..876fd6e9 100755 --- a/bin/package.js +++ b/bin/package.js @@ -82,7 +82,7 @@ var all = { // Pattern which specifies which files to ignore when copying files to create the // package(s). - ignore: /^\/dist|\/(appveyor.yml|\.appveyor.yml|\.github|appdmg|AUTHORS|CONTRIBUTORS|bench|benchmark|benchmark\.js|bin|bower\.json|component\.json|coverage|doc|docs|docs\.mli|dragdrop\.min\.js|example|examples|example\.html|example\.js|externs|ipaddr\.min\.js|Makefile|min|minimist|perf|rusha|simplepeer\.min\.js|simplewebsocket\.min\.js|static\/screenshot\.png|test|tests|test\.js|tests\.js|webtorrent\.min\.js|\.[^\/]*|.*\.md|.*\.markdown)$/, + ignore: /^\/dist|\/(appveyor.yml|\.appveyor.yml|\.github|appdmg|AUTHORS|CONTRIBUTORS|bench|benchmark|benchmark\.js|bin|bower\.json|component\.json|coverage|doc|docs|docs\.mli|dragdrop\.min\.js|example|examples|example\.html|example\.js|externs|ipaddr\.min\.js|Makefile|min|perf|rusha|simplepeer\.min\.js|simplewebsocket\.min\.js|static\/screenshot\.png|test|tests|test\.js|tests\.js|webtorrent\.min\.js|\.[^\/]*|.*\.md|.*\.markdown)$/, // The application name. name: config.APP_NAME, From 91e61f6cd427ed74409f729953be517f8d434355 Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Fri, 29 Jul 2016 22:07:44 -0300 Subject: [PATCH 15/17] using icon as checkbox --- .../controllers/playback-controller.js | 21 +++++------ src/renderer/views/preferences.js | 36 ++++++++++--------- static/main.css | 10 +++++- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/renderer/controllers/playback-controller.js b/src/renderer/controllers/playback-controller.js index a8ba601e..3476812e 100644 --- a/src/renderer/controllers/playback-controller.js +++ b/src/renderer/controllers/playback-controller.js @@ -196,13 +196,8 @@ module.exports = class PlaybackController { } } -function getOpenInVlc () { - return this.state.saved.prefs.playInVlc -} - openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { var fileSummary = torrentSummary.files[index] -} // update state var state = this.state @@ -246,6 +241,14 @@ function getOpenInVlc () { return this.update() } + // play in VLC if set as default player (Preferences / Playback / Play in VLC) + if (this.state.saved.prefs.playInVlc) { + dispatch('vlcPlay') + this.update() + cb() + return + } + // otherwise, play the video dispatch('setTitle', torrentSummary.files[state.playing.fileIndex].name) this.update() @@ -255,14 +258,6 @@ function getOpenInVlc () { }) } - // play in VLC if set as default player (Preferences / Playback / Play in VLC) - if (getOpenInVlc()) { - dispatch('vlcPlay') - this.update() - cb() - return - } - closePlayer () { console.log('closePlayer') diff --git a/src/renderer/views/preferences.js b/src/renderer/views/preferences.js index 5acacc9b..476a7999 100644 --- a/src/renderer/views/preferences.js +++ b/src/renderer/views/preferences.js @@ -46,6 +46,7 @@ function renderPlayInVlcSelector (state) { }, state.unsaved.prefs.playInVlc, function (value) { + console.log('-- VALUE:', value) setStateValue('playInVlc', value) }) } @@ -92,30 +93,31 @@ function renderSection (definition, controls) { } function renderCheckbox (definition, value, callback) { - var checked = '' - if (value) checked = 'checked' + var iconClass = 'icon clickable' + if (value) iconClass += ' enabled' - return hx` -
-
-