This commit is contained in:
Feross Aboukhadijeh
2019-07-05 15:06:27 -07:00
parent 9ed3533225
commit 0471d141c4
4 changed files with 75 additions and 75 deletions

View File

@@ -235,100 +235,100 @@ function updateElectron () {
const dispatchHandlers = { const dispatchHandlers = {
// Torrent list: creating, deleting, selecting torrents // Torrent list: creating, deleting, selecting torrents
'openTorrentFile': () => ipcRenderer.send('openTorrentFile'), openTorrentFile: () => ipcRenderer.send('openTorrentFile'),
'openFiles': () => ipcRenderer.send('openFiles'), /* shows the open file dialog */ openFiles: () => ipcRenderer.send('openFiles'), /* shows the open file dialog */
'openTorrentAddress': () => { state.modal = { id: 'open-torrent-address-modal' } }, openTorrentAddress: () => { state.modal = { id: 'open-torrent-address-modal' } },
'addTorrent': (torrentId) => controllers.torrentList().addTorrent(torrentId), addTorrent: (torrentId) => controllers.torrentList().addTorrent(torrentId),
'showCreateTorrent': (paths) => controllers.torrentList().showCreateTorrent(paths), showCreateTorrent: (paths) => controllers.torrentList().showCreateTorrent(paths),
'createTorrent': (options) => controllers.torrentList().createTorrent(options), createTorrent: (options) => controllers.torrentList().createTorrent(options),
'toggleTorrent': (infoHash) => controllers.torrentList().toggleTorrent(infoHash), toggleTorrent: (infoHash) => controllers.torrentList().toggleTorrent(infoHash),
'pauseAllTorrents': () => controllers.torrentList().pauseAllTorrents(), pauseAllTorrents: () => controllers.torrentList().pauseAllTorrents(),
'resumeAllTorrents': () => controllers.torrentList().resumeAllTorrents(), resumeAllTorrents: () => controllers.torrentList().resumeAllTorrents(),
'toggleTorrentFile': (infoHash, index) => toggleTorrentFile: (infoHash, index) =>
controllers.torrentList().toggleTorrentFile(infoHash, index), controllers.torrentList().toggleTorrentFile(infoHash, index),
'confirmDeleteTorrent': (infoHash, deleteData) => confirmDeleteTorrent: (infoHash, deleteData) =>
controllers.torrentList().confirmDeleteTorrent(infoHash, deleteData), controllers.torrentList().confirmDeleteTorrent(infoHash, deleteData),
'deleteTorrent': (infoHash, deleteData) => deleteTorrent: (infoHash, deleteData) =>
controllers.torrentList().deleteTorrent(infoHash, deleteData), controllers.torrentList().deleteTorrent(infoHash, deleteData),
'toggleSelectTorrent': (infoHash) => toggleSelectTorrent: (infoHash) =>
controllers.torrentList().toggleSelectTorrent(infoHash), controllers.torrentList().toggleSelectTorrent(infoHash),
'openTorrentContextMenu': (infoHash) => openTorrentContextMenu: (infoHash) =>
controllers.torrentList().openTorrentContextMenu(infoHash), controllers.torrentList().openTorrentContextMenu(infoHash),
'startTorrentingSummary': (torrentKey) => startTorrentingSummary: (torrentKey) =>
controllers.torrentList().startTorrentingSummary(torrentKey), controllers.torrentList().startTorrentingSummary(torrentKey),
'saveTorrentFileAs': (torrentKey) => saveTorrentFileAs: (torrentKey) =>
controllers.torrentList().saveTorrentFileAs(torrentKey), controllers.torrentList().saveTorrentFileAs(torrentKey),
'prioritizeTorrent': (infoHash) => controllers.torrentList().prioritizeTorrent(infoHash), prioritizeTorrent: (infoHash) => controllers.torrentList().prioritizeTorrent(infoHash),
'resumePausedTorrents': () => controllers.torrentList().resumePausedTorrents(), resumePausedTorrents: () => controllers.torrentList().resumePausedTorrents(),
// Playback // Playback
'playFile': (infoHash, index) => controllers.playback().playFile(infoHash, index), playFile: (infoHash, index) => controllers.playback().playFile(infoHash, index),
'playPause': () => controllers.playback().playPause(), playPause: () => controllers.playback().playPause(),
'nextTrack': () => controllers.playback().nextTrack(), nextTrack: () => controllers.playback().nextTrack(),
'previousTrack': () => controllers.playback().previousTrack(), previousTrack: () => controllers.playback().previousTrack(),
'skip': (time) => controllers.playback().skip(time), skip: (time) => controllers.playback().skip(time),
'skipTo': (time) => controllers.playback().skipTo(time), skipTo: (time) => controllers.playback().skipTo(time),
'changePlaybackRate': (dir) => controllers.playback().changePlaybackRate(dir), changePlaybackRate: (dir) => controllers.playback().changePlaybackRate(dir),
'changeVolume': (delta) => controllers.playback().changeVolume(delta), changeVolume: (delta) => controllers.playback().changeVolume(delta),
'setVolume': (vol) => controllers.playback().setVolume(vol), setVolume: (vol) => controllers.playback().setVolume(vol),
'openItem': (infoHash, index) => controllers.playback().openItem(infoHash, index), openItem: (infoHash, index) => controllers.playback().openItem(infoHash, index),
// Subtitles // Subtitles
'openSubtitles': () => controllers.subtitles().openSubtitles(), openSubtitles: () => controllers.subtitles().openSubtitles(),
'selectSubtitle': (index) => controllers.subtitles().selectSubtitle(index), selectSubtitle: (index) => controllers.subtitles().selectSubtitle(index),
'toggleSubtitlesMenu': () => controllers.subtitles().toggleSubtitlesMenu(), toggleSubtitlesMenu: () => controllers.subtitles().toggleSubtitlesMenu(),
'checkForSubtitles': () => controllers.subtitles().checkForSubtitles(), checkForSubtitles: () => controllers.subtitles().checkForSubtitles(),
'addSubtitles': (files, autoSelect) => controllers.subtitles().addSubtitles(files, autoSelect), addSubtitles: (files, autoSelect) => controllers.subtitles().addSubtitles(files, autoSelect),
// Local media: <video>, <audio>, external players // Local media: <video>, <audio>, external players
'mediaStalled': () => controllers.media().mediaStalled(), mediaStalled: () => controllers.media().mediaStalled(),
'mediaError': (err) => controllers.media().mediaError(err), mediaError: (err) => controllers.media().mediaError(err),
'mediaSuccess': () => controllers.media().mediaSuccess(), mediaSuccess: () => controllers.media().mediaSuccess(),
'mediaTimeUpdate': () => controllers.media().mediaTimeUpdate(), mediaTimeUpdate: () => controllers.media().mediaTimeUpdate(),
'mediaMouseMoved': () => controllers.media().mediaMouseMoved(), mediaMouseMoved: () => controllers.media().mediaMouseMoved(),
'mediaControlsMouseEnter': () => controllers.media().controlsMouseEnter(), mediaControlsMouseEnter: () => controllers.media().controlsMouseEnter(),
'mediaControlsMouseLeave': () => controllers.media().controlsMouseLeave(), mediaControlsMouseLeave: () => controllers.media().controlsMouseLeave(),
'openExternalPlayer': () => controllers.media().openExternalPlayer(), openExternalPlayer: () => controllers.media().openExternalPlayer(),
'externalPlayerNotFound': () => controllers.media().externalPlayerNotFound(), externalPlayerNotFound: () => controllers.media().externalPlayerNotFound(),
// Remote casting: Chromecast, Airplay, etc // Remote casting: Chromecast, Airplay, etc
'toggleCastMenu': (deviceType) => lazyLoadCast().toggleMenu(deviceType), toggleCastMenu: (deviceType) => lazyLoadCast().toggleMenu(deviceType),
'selectCastDevice': (index) => lazyLoadCast().selectDevice(index), selectCastDevice: (index) => lazyLoadCast().selectDevice(index),
'stopCasting': () => lazyLoadCast().stop(), stopCasting: () => lazyLoadCast().stop(),
// Preferences screen // Preferences screen
'preferences': () => controllers.prefs().show(), preferences: () => controllers.prefs().show(),
'updatePreferences': (key, value) => controllers.prefs().update(key, value), updatePreferences: (key, value) => controllers.prefs().update(key, value),
'checkDownloadPath': checkDownloadPath, checkDownloadPath: checkDownloadPath,
'startFolderWatcher': () => controllers.folderWatcher().start(), startFolderWatcher: () => controllers.folderWatcher().start(),
'stopFolderWatcher': () => controllers.folderWatcher().stop(), stopFolderWatcher: () => controllers.folderWatcher().stop(),
// Update (check for new versions on Linux, where there's no auto updater) // Update (check for new versions on Linux, where there's no auto updater)
'updateAvailable': (version) => controllers.update().updateAvailable(version), updateAvailable: (version) => controllers.update().updateAvailable(version),
'skipVersion': (version) => controllers.update().skipVersion(version), skipVersion: (version) => controllers.update().skipVersion(version),
// Navigation between screens (back, forward, ESC, etc) // Navigation between screens (back, forward, ESC, etc)
'exitModal': () => { state.modal = null }, exitModal: () => { state.modal = null },
'backToList': backToList, backToList: backToList,
'escapeBack': escapeBack, escapeBack: escapeBack,
'back': () => state.location.back(), back: () => state.location.back(),
'forward': () => state.location.forward(), forward: () => state.location.forward(),
'cancel': () => state.location.cancel(), cancel: () => state.location.cancel(),
// Controlling the window // Controlling the window
'setDimensions': setDimensions, setDimensions: setDimensions,
'toggleFullScreen': (setTo) => ipcRenderer.send('toggleFullScreen', setTo), toggleFullScreen: (setTo) => ipcRenderer.send('toggleFullScreen', setTo),
'setTitle': (title) => { state.window.title = title }, setTitle: (title) => { state.window.title = title },
'resetTitle': () => { state.window.title = config.APP_WINDOW_TITLE }, resetTitle: () => { state.window.title = config.APP_WINDOW_TITLE },
// Everything else // Everything else
'onOpen': onOpen, onOpen: onOpen,
'error': onError, error: onError,
'uncaughtError': (proc, err) => telemetry.logUncaughtError(proc, err), uncaughtError: (proc, err) => telemetry.logUncaughtError(proc, err),
'stateSave': () => State.save(state), stateSave: () => State.save(state),
'stateSaveImmediate': () => State.saveImmediate(state), stateSaveImmediate: () => State.saveImmediate(state),
'update': () => {} // No-op, just trigger an update update: () => {} // No-op, just trigger an update
} }
// Events from the UI never modify state directly. Instead they call dispatch() // Events from the UI never modify state directly. Instead they call dispatch()

View File

@@ -12,10 +12,10 @@ const Header = require('../components/header')
const TorrentListPage = require('./torrent-list-page') const TorrentListPage = require('./torrent-list-page')
const Views = { const Views = {
'home': createGetter(() => TorrentListPage), home: createGetter(() => TorrentListPage),
'player': createGetter(() => require('./player-page')), player: createGetter(() => require('./player-page')),
'create-torrent': createGetter(() => require('./create-torrent-page')), 'create-torrent': createGetter(() => require('./create-torrent-page')),
'preferences': createGetter(() => require('./preferences-page')) preferences: createGetter(() => require('./preferences-page'))
} }
const Modals = { const Modals = {

View File

@@ -539,9 +539,9 @@ function renderPlayerControls (state) {
// Add the cast buttons. Icons for each cast type, connected/disconnected: // Add the cast buttons. Icons for each cast type, connected/disconnected:
const buttonIcons = { const buttonIcons = {
'chromecast': { true: 'cast_connected', false: 'cast' }, chromecast: { true: 'cast_connected', false: 'cast' },
'airplay': { true: 'airplay', false: 'airplay' }, airplay: { true: 'airplay', false: 'airplay' },
'dlna': { true: 'tv', false: 'tv' } dlna: { true: 'tv', false: 'tv' }
} }
castTypes.forEach(function (castType) { castTypes.forEach(function (castType) {
// Do we show this button (eg. the Chromecast button) at all? // Do we show this button (eg. the Chromecast button) at all?

View File

@@ -205,7 +205,7 @@ function compareTorrentFile (t, pathActual, fieldsExpected) {
function extractImportantFields (parsedTorrent) { function extractImportantFields (parsedTorrent) {
const { infoHash, name, announce, urlList, comment } = parsedTorrent const { infoHash, name, announce, urlList, comment } = parsedTorrent
const priv = parsedTorrent.private // private is a reserved word in JS const priv = parsedTorrent.private // private is a reserved word in JS
return { infoHash, name, announce, urlList, comment, 'private': priv } return { infoHash, name, announce, urlList, comment, private: priv }
} }
function copy (pathFrom, pathTo) { function copy (pathFrom, pathTo) {