From 205bf75c7edf271fee5338bc81e44add328da276 Mon Sep 17 00:00:00 2001 From: DC Date: Wed, 25 May 2016 23:28:12 -0700 Subject: [PATCH] Simplify shortcuts. Go Back menu item Fixes #585 --- main/index.js | 2 -- main/menu.js | 20 ++++++++++++++++++-- main/shortcuts.js | 15 --------------- package.json | 1 - 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/main/index.js b/main/index.js index 83a3f5dc..57451c59 100644 --- a/main/index.js +++ b/main/index.js @@ -12,7 +12,6 @@ var handlers = require('./handlers') var ipc = require('./ipc') var log = require('./log') var menu = require('./menu') -var shortcuts = require('./shortcuts') var squirrelWin32 = require('./squirrel-win32') var tray = require('./tray') var updater = require('./updater') @@ -64,7 +63,6 @@ function init () { windows.createMainWindow() windows.createWebTorrentHiddenWindow() menu.init() - shortcuts.init() // To keep app startup fast, some code is delayed. setTimeout(delayedInit, config.DELAYED_INIT) diff --git a/main/menu.js b/main/menu.js index 14cf1f87..c1fd5d3b 100644 --- a/main/menu.js +++ b/main/menu.js @@ -118,7 +118,15 @@ function decreasePlaybackRate () { // Open the preferences window function showPreferences () { - windows.main.send('dispatch', 'preferences') + if (windows.main) { + windows.main.send('dispatch', 'preferences') + } +} + +function escapeBack () { + if (windows.main) { + windows.main.send('dispatch', 'escapeBack') + } } function onWindowShow () { @@ -322,6 +330,14 @@ function getAppMenuTemplate () { click: showWebTorrentWindow } ] + }, + { + type: 'separator' + }, + { + label: 'Go Back', + accelerator: 'Esc', + click: escapeBack } ] }, @@ -330,7 +346,7 @@ function getAppMenuTemplate () { submenu: [ { label: 'Play/Pause', - accelerator: 'CmdOrCtrl+P', + accelerator: 'Space', click: playPause, enabled: false }, diff --git a/main/shortcuts.js b/main/shortcuts.js index ee21fb2a..cfb212e9 100644 --- a/main/shortcuts.js +++ b/main/shortcuts.js @@ -1,26 +1,11 @@ module.exports = { - init, onPlayerClose, onPlayerOpen } var electron = require('electron') - -var menu = require('./menu') var windows = require('./windows') -function init () { - var localShortcut = require('electron-localshortcut') - - // Alternate shortcuts. Most shortcuts are registered in menu,js, but Electron - // does not support multiple shortcuts for a single menu item. - localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen) - localShortcut.register('Space', () => windows.main.send('dispatch', 'playPause')) - - // Hidden shortcuts, i.e. not shown in the menu - localShortcut.register('Esc', () => windows.main.send('dispatch', 'escapeBack')) -} - function onPlayerOpen () { // Register special "media key" for play/pause, available on some keyboards electron.globalShortcut.register( diff --git a/package.json b/package.json index fe0e0d0a..fd55291a 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "deep-equal": "^1.0.1", "dlnacasts": "^0.1.0", "drag-drop": "^2.11.0", - "electron-localshortcut": "^0.6.0", "electron-prebuilt": "1.1.1", "fs-extra": "^0.27.0", "hyperx": "^2.0.2",