Fixes for PR #607
This commit is contained in:
@@ -3,7 +3,7 @@ module.exports = {
|
|||||||
openSeedDirectory,
|
openSeedDirectory,
|
||||||
openTorrentFile,
|
openTorrentFile,
|
||||||
openTorrentAddress,
|
openTorrentAddress,
|
||||||
openAddFiles
|
openFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
@@ -55,6 +55,30 @@ function openSeedDirectory () {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Show flexible open dialog that supports selecting .torrent files to add, or
|
||||||
|
* a file or folder to create a single-file or single-directory torrent.
|
||||||
|
*/
|
||||||
|
function openFiles () {
|
||||||
|
if (!windows.main.win) return
|
||||||
|
log('openFiles')
|
||||||
|
var opts = process.platform === 'darwin'
|
||||||
|
? {
|
||||||
|
title: 'Select a file or folder to add.',
|
||||||
|
properties: [ 'openFile', 'openDirectory' ]
|
||||||
|
}
|
||||||
|
: {
|
||||||
|
title: 'Select a file to add.',
|
||||||
|
properties: [ 'openFile' ]
|
||||||
|
}
|
||||||
|
setTitle(opts.title)
|
||||||
|
electron.dialog.showOpenDialog(windows.main.win, opts, function (selectedPaths) {
|
||||||
|
resetTitle()
|
||||||
|
if (!Array.isArray(selectedPaths)) return
|
||||||
|
windows.main.dispatch('onOpen', selectedPaths)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Show open dialog to open a .torrent file.
|
* Show open dialog to open a .torrent file.
|
||||||
*/
|
*/
|
||||||
@@ -62,7 +86,7 @@ function openTorrentFile () {
|
|||||||
if (!windows.main.win) return
|
if (!windows.main.win) return
|
||||||
log('openTorrentFile')
|
log('openTorrentFile')
|
||||||
var opts = {
|
var opts = {
|
||||||
title: 'Select a .torrent file to open.',
|
title: 'Select a .torrent file.',
|
||||||
filters: [{ name: 'Torrent Files', extensions: ['torrent'] }],
|
filters: [{ name: 'Torrent Files', extensions: ['torrent'] }],
|
||||||
properties: [ 'openFile', 'multiSelections' ]
|
properties: [ 'openFile', 'multiSelections' ]
|
||||||
}
|
}
|
||||||
@@ -84,24 +108,6 @@ function openTorrentAddress () {
|
|||||||
windows.main.dispatch('openTorrentAddress')
|
windows.main.dispatch('openTorrentAddress')
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Show open dialog for all file types (.torrent, files to seed)
|
|
||||||
*/
|
|
||||||
function openAddFiles () {
|
|
||||||
if (!windows.main.win) return
|
|
||||||
log('openAddFiles')
|
|
||||||
var opts = {
|
|
||||||
title: 'Select a .torrent file to open or start seeding files.',
|
|
||||||
properties: [ 'openFile', 'multiSelections' ]
|
|
||||||
}
|
|
||||||
setTitle(opts.title)
|
|
||||||
electron.dialog.showOpenDialog(windows.main.win, opts, function (selectedPaths) {
|
|
||||||
resetTitle()
|
|
||||||
if (!Array.isArray(selectedPaths)) return
|
|
||||||
windows.main.dispatch('onOpen', selectedPaths)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dialogs on do not show a title on OS X, so the window title is used instead.
|
* Dialogs on do not show a title on OS X, so the window title is used instead.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ function init () {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ipc.on('openTorrentFile', () => dialog.openTorrentFile())
|
ipc.on('openTorrentFile', () => dialog.openTorrentFile())
|
||||||
ipc.on('openAddFiles', () => dialog.openAddFiles())
|
ipc.on('openFiles', () => dialog.openFiles())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dock
|
* Dock
|
||||||
|
|||||||
@@ -227,8 +227,8 @@ function dispatch (action, ...args) {
|
|||||||
if (action === 'openTorrentFile') {
|
if (action === 'openTorrentFile') {
|
||||||
ipcRenderer.send('openTorrentFile') /* open torrent file */
|
ipcRenderer.send('openTorrentFile') /* open torrent file */
|
||||||
}
|
}
|
||||||
if (action === 'openAddFiles') {
|
if (action === 'openFiles') {
|
||||||
ipcRenderer.send('openAddFiles') /* add files with dialog */
|
ipcRenderer.send('openFiles') /* add files with dialog */
|
||||||
}
|
}
|
||||||
if (action === 'showCreateTorrent') {
|
if (action === 'showCreateTorrent') {
|
||||||
showCreateTorrent(args[0] /* paths */)
|
showCreateTorrent(args[0] /* paths */)
|
||||||
@@ -240,8 +240,8 @@ function dispatch (action, ...args) {
|
|||||||
if (action === 'createTorrent') {
|
if (action === 'createTorrent') {
|
||||||
createTorrent(args[0] /* options */)
|
createTorrent(args[0] /* options */)
|
||||||
}
|
}
|
||||||
if (action === 'openFile') {
|
if (action === 'openItem') {
|
||||||
openFile(args[0] /* infoHash */, args[1] /* index */)
|
openItem(args[0] /* infoHash */, args[1] /* index */)
|
||||||
}
|
}
|
||||||
if (action === 'toggleTorrent') {
|
if (action === 'toggleTorrent') {
|
||||||
toggleTorrent(args[0] /* infoHash */)
|
toggleTorrent(args[0] /* infoHash */)
|
||||||
@@ -1157,7 +1157,7 @@ function closePlayer (cb) {
|
|||||||
cb()
|
cb()
|
||||||
}
|
}
|
||||||
|
|
||||||
function openFile (infoHash, index) {
|
function openItem (infoHash, index) {
|
||||||
var torrentSummary = getTorrentSummary(infoHash)
|
var torrentSummary = getTorrentSummary(infoHash)
|
||||||
var filePath = path.join(
|
var filePath = path.join(
|
||||||
torrentSummary.path,
|
torrentSummary.path,
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ function Header (state) {
|
|||||||
<i
|
<i
|
||||||
class='icon add'
|
class='icon add'
|
||||||
title='Add torrent'
|
title='Add torrent'
|
||||||
onclick=${dispatcher('openAddFiles')}>
|
onclick=${dispatcher('openFiles')}>
|
||||||
add
|
add
|
||||||
</i>
|
</i>
|
||||||
`
|
`
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ function TorrentList (state) {
|
|||||||
handleClick = dispatcher('play', infoHash, index)
|
handleClick = dispatcher('play', infoHash, index)
|
||||||
} else {
|
} else {
|
||||||
icon = 'description' /* file icon, opens in OS default app */
|
icon = 'description' /* file icon, opens in OS default app */
|
||||||
handleClick = dispatcher('openFile', infoHash, index)
|
handleClick = dispatcher('openItem', infoHash, index)
|
||||||
}
|
}
|
||||||
var rowClass = ''
|
var rowClass = ''
|
||||||
if (!isSelected) rowClass = 'disabled' // File deselected, not being torrented
|
if (!isSelected) rowClass = 'disabled' // File deselected, not being torrented
|
||||||
|
|||||||
Reference in New Issue
Block a user