Move paste to renderer
The ‘clipboard’ module works in the renderer without using the ’remote’ package. So we can eliminate one IPC call this way :)
This commit is contained in:
14
main/ipc.js
14
main/ipc.js
@@ -9,10 +9,6 @@ var menu = require('./menu')
|
|||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
|
||||||
function init () {
|
function init () {
|
||||||
ipcMain.on('addTorrentFromPaste', function (e) {
|
|
||||||
addTorrentFromPaste()
|
|
||||||
})
|
|
||||||
|
|
||||||
ipcMain.on('setBounds', function (e, bounds) {
|
ipcMain.on('setBounds', function (e, bounds) {
|
||||||
setBounds(bounds)
|
setBounds(bounds)
|
||||||
})
|
})
|
||||||
@@ -42,16 +38,6 @@ function init () {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function addTorrentFromPaste () {
|
|
||||||
debug('addTorrentFromPaste')
|
|
||||||
var torrentIds = electron.clipboard.readText().split('\n')
|
|
||||||
torrentIds.forEach(function (torrentId) {
|
|
||||||
torrentId = torrentId.trim()
|
|
||||||
if (torrentId.length === 0) return
|
|
||||||
windows.main.send('addTorrent', torrentId)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function setBounds (bounds) {
|
function setBounds (bounds) {
|
||||||
debug('setBounds %o', bounds)
|
debug('setBounds %o', bounds)
|
||||||
if (windows.main && !windows.main.isFullScreen() && !windows.main.isMaximized()) {
|
if (windows.main && !windows.main.isFullScreen() && !windows.main.isMaximized()) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ module.exports = {
|
|||||||
var localShortcut = require('electron-localshortcut')
|
var localShortcut = require('electron-localshortcut')
|
||||||
|
|
||||||
function init (menu) {
|
function init (menu) {
|
||||||
// ⌘+Shift+F is an alternative fullscreen shortcut to the one defined in menu.js.
|
// ⌘+Shift+F is an alternative fullscreen shortcut to the ones defined in menu.js.
|
||||||
// Electron does not support multiple accelerators for a single menu item, so this
|
// Electron does not support multiple accelerators for a single menu item, so this
|
||||||
// is registered separately here.
|
// is registered separately here.
|
||||||
localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen)
|
localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ var createElement = require('virtual-dom/create-element')
|
|||||||
var diff = require('virtual-dom/diff')
|
var diff = require('virtual-dom/diff')
|
||||||
var patch = require('virtual-dom/patch')
|
var patch = require('virtual-dom/patch')
|
||||||
|
|
||||||
|
var clipboard = electron.clipboard
|
||||||
var ipcRenderer = electron.ipcRenderer
|
var ipcRenderer = electron.ipcRenderer
|
||||||
|
|
||||||
// For easy debugging in Developer Tools
|
// For easy debugging in Developer Tools
|
||||||
@@ -88,9 +89,7 @@ function init () {
|
|||||||
dragDrop('body', onFiles)
|
dragDrop('body', onFiles)
|
||||||
|
|
||||||
// ...same thing if you paste a torrent
|
// ...same thing if you paste a torrent
|
||||||
document.addEventListener('paste', function () {
|
document.addEventListener('paste', onPaste)
|
||||||
ipcRenderer.send('addTorrentFromPaste')
|
|
||||||
})
|
|
||||||
|
|
||||||
// ...keyboard shortcuts
|
// ...keyboard shortcuts
|
||||||
document.addEventListener('keydown', function (e) {
|
document.addEventListener('keydown', function (e) {
|
||||||
@@ -288,6 +287,15 @@ function onFiles (files) {
|
|||||||
dispatch('seed', files.filter(isNotTorrentFile))
|
dispatch('seed', files.filter(isNotTorrentFile))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onPaste () {
|
||||||
|
var torrentIds = clipboard.readText().split('\n')
|
||||||
|
torrentIds.forEach(function (torrentId) {
|
||||||
|
torrentId = torrentId.trim()
|
||||||
|
if (torrentId.length === 0) return
|
||||||
|
dispatch('addTorrent', torrentId)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function isTorrentFile (file) {
|
function isTorrentFile (file) {
|
||||||
var extname = path.extname(file.name).toLowerCase()
|
var extname = path.extname(file.name).toLowerCase()
|
||||||
return extname === '.torrent'
|
return extname === '.torrent'
|
||||||
|
|||||||
Reference in New Issue
Block a user