54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
module.exports = {
|
|
openSeedFile,
|
|
openSeedDirectory,
|
|
openTorrentFile,
|
|
openTorrentAddress
|
|
}
|
|
|
|
var electron = require('electron')
|
|
var windows = require('./windows')
|
|
|
|
// Prompts the user for a file, then creates a torrent. Only allows a single file
|
|
// selection.
|
|
function openSeedFile () {
|
|
electron.dialog.showOpenDialog({
|
|
title: 'Select a file for the torrent file.',
|
|
properties: [ 'openFile' ]
|
|
}, function (selectedPaths) {
|
|
if (!Array.isArray(selectedPaths)) return
|
|
windows.main.send('dispatch', 'showCreateTorrent', selectedPaths)
|
|
})
|
|
}
|
|
|
|
// Prompts the user for a file or directory, then creates a torrent. Only allows a
|
|
// single selection. To create a multi-file torrent, the user must select a
|
|
// directory.
|
|
function openSeedDirectory () {
|
|
electron.dialog.showOpenDialog({
|
|
title: 'Select a file or folder for the torrent file.',
|
|
properties: [ 'openFile', 'openDirectory' ]
|
|
}, function (selectedPaths) {
|
|
if (!Array.isArray(selectedPaths)) return
|
|
windows.main.send('dispatch', 'showCreateTorrent', selectedPaths)
|
|
})
|
|
}
|
|
|
|
// Prompts the user to choose a torrent file, then adds it.
|
|
function openTorrentFile () {
|
|
electron.dialog.showOpenDialog(windows.main.win, {
|
|
title: 'Select a .torrent file to open.',
|
|
filters: [{ name: 'Torrent Files', extensions: ['torrent'] }],
|
|
properties: [ 'openFile', 'multiSelections' ]
|
|
}, function (selectedPaths) {
|
|
if (!Array.isArray(selectedPaths)) return
|
|
selectedPaths.forEach(function (selectedPath) {
|
|
windows.main.send('dispatch', 'addTorrent', selectedPath)
|
|
})
|
|
})
|
|
}
|
|
|
|
// Prompts the user for the URL of a torrent file, then downloads and adds it
|
|
function openTorrentAddress () {
|
|
windows.main.send('showOpenTorrentAddress')
|
|
}
|