Fixes for PR #607

This commit is contained in:
Feross Aboukhadijeh
2016-05-31 12:12:25 -07:00
parent 71b08304f2
commit c82bdbd39d
5 changed files with 34 additions and 28 deletions

View File

@@ -3,7 +3,7 @@ module.exports = {
openSeedDirectory,
openTorrentFile,
openTorrentAddress,
openAddFiles
openFiles
}
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.
*/
@@ -62,7 +86,7 @@ function openTorrentFile () {
if (!windows.main.win) return
log('openTorrentFile')
var opts = {
title: 'Select a .torrent file to open.',
title: 'Select a .torrent file.',
filters: [{ name: 'Torrent Files', extensions: ['torrent'] }],
properties: [ 'openFile', 'multiSelections' ]
}
@@ -84,24 +108,6 @@ function 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.
*/

View File

@@ -46,7 +46,7 @@ function init () {
*/
ipc.on('openTorrentFile', () => dialog.openTorrentFile())
ipc.on('openAddFiles', () => dialog.openAddFiles())
ipc.on('openFiles', () => dialog.openFiles())
/**
* Dock

View File

@@ -227,8 +227,8 @@ function dispatch (action, ...args) {
if (action === 'openTorrentFile') {
ipcRenderer.send('openTorrentFile') /* open torrent file */
}
if (action === 'openAddFiles') {
ipcRenderer.send('openAddFiles') /* add files with dialog */
if (action === 'openFiles') {
ipcRenderer.send('openFiles') /* add files with dialog */
}
if (action === 'showCreateTorrent') {
showCreateTorrent(args[0] /* paths */)
@@ -240,8 +240,8 @@ function dispatch (action, ...args) {
if (action === 'createTorrent') {
createTorrent(args[0] /* options */)
}
if (action === 'openFile') {
openFile(args[0] /* infoHash */, args[1] /* index */)
if (action === 'openItem') {
openItem(args[0] /* infoHash */, args[1] /* index */)
}
if (action === 'toggleTorrent') {
toggleTorrent(args[0] /* infoHash */)
@@ -1157,7 +1157,7 @@ function closePlayer (cb) {
cb()
}
function openFile (infoHash, index) {
function openItem (infoHash, index) {
var torrentSummary = getTorrentSummary(infoHash)
var filePath = path.join(
torrentSummary.path,

View File

@@ -39,7 +39,7 @@ function Header (state) {
<i
class='icon add'
title='Add torrent'
onclick=${dispatcher('openAddFiles')}>
onclick=${dispatcher('openFiles')}>
add
</i>
`

View File

@@ -244,7 +244,7 @@ function TorrentList (state) {
handleClick = dispatcher('play', infoHash, index)
} else {
icon = 'description' /* file icon, opens in OS default app */
handleClick = dispatcher('openFile', infoHash, index)
handleClick = dispatcher('openItem', infoHash, index)
}
var rowClass = ''
if (!isSelected) rowClass = 'disabled' // File deselected, not being torrented