From 1f5546a250b24bf72dd9dc8a6000eed3bf172991 Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Sun, 4 Sep 2016 23:36:22 +0200 Subject: [PATCH] Move current search in channel function to Shift+CTRL+S Add search in team Closes #270 --- CHANGELOG.md | 3 ++- docs/setup.md | 3 ++- src/browser/index.jsx | 6 ++++++ src/browser/webview/mattermost.js | 10 ++++++++++ src/main/menus/app.js | 12 ++++++++++-- 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb4f081..01630bc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,8 @@ Release date: TBD - Disabled `eval()` function for security improvements. - Invalidate cache before load, to make server upgrades easy - Removed misleading shortcuts from tray menu, as they didn't work -- Ctrl/Command+F puts cursor in search box to search in current channel. +- Ctrl/Command+S puts cursor in search box to search in current team. +- Shift+Ctrl/Command+S puts cursor in search box to search in current channel. - Add access to settings through tray menu - Removed unclear desktop notifications when failed to load tabs. - Reload automatically the failed tab when the computer becomes online. diff --git a/docs/setup.md b/docs/setup.md index b353650e..ad53d9be 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -152,7 +152,8 @@ Below lists menu options (shortcut keys are listed in brackets, `Ctrl` becomes ` - **Copy** (Ctrl+C) - Copies selected text - **Paste** (Ctrl+V) - Pastes text from clipboard - **Select All** (Ctrl+A) - Select all text in input box - - **Search in Channel** (Ctrl+F) - Puts cursor in search box to search in current channel + - **Search in Team** (Ctrl+S) - Puts cursor in search box to search in the current team + - **Search in Channel** (Shift+Ctrl+S) - Puts cursor in search box to search in current channel - **View** - **Reload** (Ctrl+R) - Reload page from the server - **Clear Cache and Reload** (Ctrl+Shift+R) - Clear cached content in application and reload page diff --git a/src/browser/index.jsx b/src/browser/index.jsx index c7871cf9..9c4fc272 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -81,6 +81,12 @@ var MainPage = React.createClass({ webview.send('activate-search-box'); }); + // activate search box in current chunnel + ipcRenderer.on('activate-search-box-in-channel', (event) => { + let webview = document.getElementById('mattermostView' + thisObj.state.key); + webview.send('activate-search-box-in-channel'); + }); + var focusListener = function() { var webview = document.getElementById('mattermostView' + thisObj.state.key); webview.focus(); diff --git a/src/browser/webview/mattermost.js b/src/browser/webview/mattermost.js index d21661d3..31de5ef5 100644 --- a/src/browser/webview/mattermost.js +++ b/src/browser/webview/mattermost.js @@ -142,6 +142,16 @@ function getCurrentChannelString() { } ipc.on('activate-search-box', (event) => { + const search_boxes = document.getElementsByClassName('search-bar'); // should use id + if (search_boxes.length === 0) { + return; + } + const search_box = search_boxes[0]; + search_box.focus(); + search_box.value = ``; //Clear the input box +}); + +ipc.on('activate-search-box-in-channel', (event) => { const search_boxes = document.getElementsByClassName('search-bar'); // should use id if (search_boxes.length === 0) { return; diff --git a/src/main/menus/app.js b/src/main/menus/app.js index 71b7dcb3..54e71b20 100644 --- a/src/main/menus/app.js +++ b/src/main/menus/app.js @@ -70,13 +70,21 @@ var createTemplate = function(mainWindow, config) { }, { role: 'selectall' }, separatorItem, { - label: 'Search in Channel', - accelerator: 'CmdOrCtrl+F', + label: 'Search in Team', + accelerator: 'CmdOrCtrl+S', click: (item, focusedWindow) => { if (focusedWindow) { focusedWindow.webContents.send('activate-search-box'); } } + }, { + label: 'Search in Channel', + accelerator: 'Shift+CmdOrCtrl+S', + click: (item, focusedWindow) => { + if (focusedWindow) { + focusedWindow.webContents.send('activate-search-box-in-channel'); + } + } }] }); template.push({