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:
Feross Aboukhadijeh
2016-03-08 21:06:20 -08:00
parent d9a34b6603
commit 56536ad55e
3 changed files with 12 additions and 18 deletions

View File

@@ -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()) {

View File

@@ -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)

View File

@@ -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'