From 6d6a3d31afd4f09f1a38553afd589e1969ebe519 Mon Sep 17 00:00:00 2001 From: Arthur Araujo Date: Sun, 31 May 2020 00:29:44 -0300 Subject: [PATCH] Enhancement #245: DevTools shortcut on Preferences and Waiver windows --- js/window-aux.js | 20 ++++++++++++++++++++ src/preferences.js | 3 +++ src/workday-waiver.js | 3 +++ 3 files changed, 26 insertions(+) create mode 100644 js/window-aux.js diff --git a/js/window-aux.js b/js/window-aux.js new file mode 100644 index 000000000..c912f60a1 --- /dev/null +++ b/js/window-aux.js @@ -0,0 +1,20 @@ +const { remote } = require('electron'); +const { BrowserWindow } = remote; + +/** + * Binds to the JS "window" the shortcut CTRL+SHIFT+I to toggle Chrome Dev Tools. + * @param {Window} window + */ +function bindDevToolsShortcut(window) { + window.addEventListener('keyup', (event) => { + if (event.ctrlKey && event.shiftKey && (event.keyCode == 73 || event.keyCode == 105)) { // 'i' or 'I' + BrowserWindow.getFocusedWindow().webContents.toggleDevTools(); + event.preventDefault(); + return false; + } + }, true); +} + +module.exports = { + bindDevToolsShortcut +}; \ No newline at end of file diff --git a/src/preferences.js b/src/preferences.js index 6bc7df1e3..bdf494ea7 100644 --- a/src/preferences.js +++ b/src/preferences.js @@ -2,6 +2,7 @@ const { ipcRenderer } = require('electron'); const { getUserPreferences } = require('../js/user-preferences.js'); const { applyTheme } = require('../js/themes.js'); +const { bindDevToolsShortcut } = require('../js/window-aux.js'); // Global values for preferences page let usersStyles = getUserPreferences(); @@ -67,4 +68,6 @@ $(() => { repetition.change(function() { notificationsInterval.prop('disabled', !repetition.is(':checked')); }); + + bindDevToolsShortcut(window); }); diff --git a/src/workday-waiver.js b/src/workday-waiver.js index 8da81ebe5..94913831b 100644 --- a/src/workday-waiver.js +++ b/src/workday-waiver.js @@ -6,6 +6,7 @@ const { getUserPreferences, showDay } = require('../js/user-preferences.js'); const { validateTime, diffDays } = require('../js/time-math.js'); const { applyTheme } = require('../js/themes.js'); const { getDateStr } = require('../js/date-aux.js'); +const { bindDevToolsShortcut } = require('../js/window-aux.js'); const waiverStore = new Store({name: 'waived-workdays'}); @@ -169,4 +170,6 @@ $(() => { $('#waive-button').on('click', () => { addWaiver(); }); + + bindDevToolsShortcut(window); }); \ No newline at end of file