From 337d0811abefd74d37ce99885e67813e20c07ba8 Mon Sep 17 00:00:00 2001 From: Stephen Eisenhauer Date: Wed, 29 Jun 2016 13:27:10 -0700 Subject: [PATCH] Add keyboard shortcut for closing active conversation --- README.md | 1 + app/main.js | 7 ++++++- app/package.json | 2 +- app/preload.js | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7b2b3e6..f5f03f6 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ Downloads are available on the [Releases](https://github.com/BHSPitMonkey/hipcha * `Ctrl`+`N`: Start a new chat * `Ctrl`+`PgUp`: Navigate up one room * `Ctrl`+`PgDn`: Navigate down one room +* `Ctrl`+`W`: Close the active conversation * `Ctrl`+`G`: Go to next room with unread messages * `Ctrl`+`Q`: Quit application diff --git a/app/main.js b/app/main.js index 30bf70a..a3781bc 100644 --- a/app/main.js +++ b/app/main.js @@ -135,6 +135,11 @@ app.on('ready', function() { mainWindow.webContents.send('jump-to-unread'); } + // Close the currently active room or chat + function closeRoom() { + mainWindow.webContents.send('close-room'); + } + // Spawn a new chat function newChat() { showAndFocusWindow(); @@ -215,6 +220,7 @@ app.on('ready', function() { { label: "New Chat", accelerator: 'CmdOrCtrl+N', click: newChat }, { label: "Invite to Room", click: function() { sendKeyboardShortcut('I', true); } }, { label: "Go To Unread Message", accelerator: 'CmdOrCtrl+G', click: goToUnread }, + { label: "Close Room", accelerator: 'CmdOrCtrl+W', click: closeRoom }, { label: "Previous Room", visible: false, accelerator: 'CmdOrCtrl+PageUp', click: function() { sendKeyboardShortcut('Up', true, true); } }, { label: "Previous Room", visible: false, accelerator: 'CmdOrCtrl+Shift+Tab', click: function() { sendKeyboardShortcut('Up', true, true); } }, { label: "Next Room", visible: false, accelerator: 'CmdOrCtrl+PageDown', click: function() { sendKeyboardShortcut('Down', true, true); } }, @@ -316,7 +322,6 @@ app.on('ready', function() { }, { label: 'Close', - accelerator: 'CmdOrCtrl+W', role: 'close' }, ] diff --git a/app/package.json b/app/package.json index d8a134d..bfa32c7 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "productName": "HipChat Electron", "description": "An unofficial HipChat client based on the web client and Electron.", "author": "Stephen Eisenhauer (http://stepheneisenhauer.com)", - "version": "1.0.2", + "version": "1.0.3", "homepage": "https://github.com/BHSPitMonkey/hipchat-electron", "license": "MIT", "main": "main.js", diff --git a/app/preload.js b/app/preload.js index 19342a1..e870e5a 100644 --- a/app/preload.js +++ b/app/preload.js @@ -24,3 +24,9 @@ electron.ipcRenderer.on('jump-to-unread', function(event, message) { refreshMentionCount(); }); + +// Handle close-room command from main process +electron.ipcRenderer.on('close-room', function(event, message) { + // Click the close icon in the selected nav entry + $('.aui-nav-selected').find('.hc-close-icon').click() +}); \ No newline at end of file