diff --git a/app/main-process/appmenus.js b/app/main-process/appmenus.js index 3af468dd..15b8ad69 100644 --- a/app/main-process/appmenus.js +++ b/app/main-process/appmenus.js @@ -146,6 +146,14 @@ function setupMenus(callbacks) { accelerator: 'CmdOrCtrl+A', role: 'selectall' }, + { + type: 'separator' + }, + { + label: 'Useful Keyboard Shortcuts', + enabled: callbacks.isFocusedWindow, + click: callbacks.keyboardShortcuts + } ] }, { diff --git a/app/main-process/main.js b/app/main-process/main.js index a1aeab4e..5e17d95f 100644 --- a/app/main-process/main.js +++ b/app/main-process/main.js @@ -99,6 +99,10 @@ app.on('ready', function () { showAbout: () => { AboutWindow.showAboutWindow(theme); }, + keyboardShortcuts: () => { + var win = ProjectWindow.focused(); + if (win) win.keyboardShortcuts(); + }, stats: () => { var win = ProjectWindow.focused(); if (win) win.stats(); diff --git a/app/main-process/projectWindow.js b/app/main-process/projectWindow.js index a20e5dbf..11ce500d 100644 --- a/app/main-process/projectWindow.js +++ b/app/main-process/projectWindow.js @@ -92,6 +92,10 @@ ProjectWindow.prototype.stats = function() { this.browserWindow.webContents.send('project-stats'); } +ProjectWindow.prototype.keyboardShortcuts = function() { + this.browserWindow.webContents.send('keyboard-shortcuts'); +} + ProjectWindow.prototype.finalClose = function() { this.safeToClose = true; Inklecate.killSessions(this.browserWindow); diff --git a/app/renderer/controller.js b/app/renderer/controller.js index 841abd2d..096b8bd4 100644 --- a/app/renderer/controller.js +++ b/app/renderer/controller.js @@ -199,6 +199,28 @@ ipc.on("project-stats", (event, visible) => { }); }); +ipc.on("keyboard-shortcuts", (event, visible) => { + let messageLines = []; + messageLines.push("Useful Keyboard Shortcuts"); + messageLines.push(""); + messageLines.push("Find and Replace: Ctrl+H or Cmd+H"); + messageLines.push(""); + messageLines.push("Find: Ctrl+F or Cmd+F"); + messageLines.push(""); + messageLines.push("Go to Anything: Ctrl+P or Cmd+P"); + messageLines.push(""); + messageLines.push("Toggle Comment: Ctrl+/ or Cmd+/"); + messageLines.push(""); + messageLines.push("Add Multicursor Above: Ctrl+Alt+Up or Ctrl+Option+Up"); + messageLines.push(""); + messageLines.push("Add Multicursor Below: Ctrl+Alt+Down or Ctrl+Option+Down"); + messageLines.push(""); + messageLines.push("Temporarily Fold/Unfold Selection: Alt+L or Ctrl+Option+Down"); + messageLines.push(""); + alert(messageLines.join("\n")); +}); + + EditorView.setEvents({ "change": () => { LiveCompiler.setEdited();