Remove torrent data support (#641)
* add moveItemToTrash to shell * delete torrent/data + context menu items
This commit is contained in:
@@ -81,6 +81,7 @@ function init () {
|
|||||||
|
|
||||||
ipc.on('openItem', (e, ...args) => shell.openItem(...args))
|
ipc.on('openItem', (e, ...args) => shell.openItem(...args))
|
||||||
ipc.on('showItemInFolder', (e, ...args) => shell.showItemInFolder(...args))
|
ipc.on('showItemInFolder', (e, ...args) => shell.showItemInFolder(...args))
|
||||||
|
ipc.on('moveItemToTrash', (e, ...args) => shell.moveItemToTrash(...args))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Windows: Main
|
* Windows: Main
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
openExternal,
|
openExternal,
|
||||||
openItem,
|
openItem,
|
||||||
showItemInFolder
|
showItemInFolder,
|
||||||
|
moveItemToTrash
|
||||||
}
|
}
|
||||||
|
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
@@ -30,3 +31,11 @@ function showItemInFolder (path) {
|
|||||||
log(`showItemInFolder: ${path}`)
|
log(`showItemInFolder: ${path}`)
|
||||||
electron.shell.showItemInFolder(path)
|
electron.shell.showItemInFolder(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move the given file to trash and returns a boolean status for the operation.
|
||||||
|
*/
|
||||||
|
function moveItemToTrash (path) {
|
||||||
|
log(`moveItemToTrash: ${path}`)
|
||||||
|
electron.shell.moveItemToTrash(path)
|
||||||
|
}
|
||||||
|
|||||||
@@ -1127,9 +1127,14 @@ function toggleTorrent (infoHash) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: use torrentKey, not infoHash
|
// TODO: use torrentKey, not infoHash
|
||||||
function deleteTorrent (infoHash) {
|
function deleteTorrent (infoHash, deleteData) {
|
||||||
ipcRenderer.send('wt-stop-torrenting', infoHash)
|
ipcRenderer.send('wt-stop-torrenting', infoHash)
|
||||||
|
|
||||||
|
if (deleteData) {
|
||||||
|
var torrentSummary = getTorrentSummary(infoHash)
|
||||||
|
moveItemToTrash(torrentSummary)
|
||||||
|
}
|
||||||
|
|
||||||
var index = state.saved.torrents.findIndex((x) => x.infoHash === infoHash)
|
var index = state.saved.torrents.findIndex((x) => x.infoHash === infoHash)
|
||||||
if (index > -1) state.saved.torrents.splice(index, 1)
|
if (index > -1) state.saved.torrents.splice(index, 1)
|
||||||
saveStateThrottled()
|
saveStateThrottled()
|
||||||
@@ -1155,6 +1160,20 @@ function openTorrentContextMenu (infoHash) {
|
|||||||
var torrentSummary = getTorrentSummary(infoHash)
|
var torrentSummary = getTorrentSummary(infoHash)
|
||||||
var menu = new electron.remote.Menu()
|
var menu = new electron.remote.Menu()
|
||||||
|
|
||||||
|
menu.append(new electron.remote.MenuItem({
|
||||||
|
label: 'Remove From List',
|
||||||
|
click: () => deleteTorrent(torrentSummary.infoHash, false)
|
||||||
|
}))
|
||||||
|
|
||||||
|
menu.append(new electron.remote.MenuItem({
|
||||||
|
label: 'Remove Data File',
|
||||||
|
click: () => deleteTorrent(torrentSummary.infoHash, true)
|
||||||
|
}))
|
||||||
|
|
||||||
|
menu.append(new electron.remote.MenuItem({
|
||||||
|
type: 'separator'
|
||||||
|
}))
|
||||||
|
|
||||||
if (torrentSummary.files) {
|
if (torrentSummary.files) {
|
||||||
menu.append(new electron.remote.MenuItem({
|
menu.append(new electron.remote.MenuItem({
|
||||||
label: process.platform === 'darwin' ? 'Show in Finder' : 'Show in Folder',
|
label: process.platform === 'darwin' ? 'Show in Finder' : 'Show in Folder',
|
||||||
@@ -1195,6 +1214,10 @@ function showItemInFolder (torrentSummary) {
|
|||||||
ipcRenderer.send('showItemInFolder', getTorrentPath(torrentSummary))
|
ipcRenderer.send('showItemInFolder', getTorrentPath(torrentSummary))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function moveItemToTrash (torrentSummary) {
|
||||||
|
ipcRenderer.send('moveItemToTrash', getTorrentPath(torrentSummary))
|
||||||
|
}
|
||||||
|
|
||||||
function saveTorrentFileAs (torrentSummary) {
|
function saveTorrentFileAs (torrentSummary) {
|
||||||
var newFileName = `${path.parse(torrentSummary.name).name}.torrent`
|
var newFileName = `${path.parse(torrentSummary.name).name}.torrent`
|
||||||
var opts = {
|
var opts = {
|
||||||
|
|||||||
Reference in New Issue
Block a user