diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/layout/Sidebar.js | 12 | ||||
-rw-r--r-- | src/components/settings/settings/EditSettingsForm.js | 6 | ||||
-rw-r--r-- | src/environment.js | 8 | ||||
-rw-r--r-- | src/lib/Menu.js | 14 |
4 files changed, 23 insertions, 17 deletions
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index a6f5adce8..a3dbc3539 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -6,7 +6,7 @@ import { inject, observer } from 'mobx-react'; | |||
6 | import { Link } from 'react-router'; | 6 | import { Link } from 'react-router'; |
7 | 7 | ||
8 | import Tabbar from '../services/tabs/Tabbar'; | 8 | import Tabbar from '../services/tabs/Tabbar'; |
9 | import { ctrlKey, shiftKey, settingsShortcutKey } from '../../environment'; | 9 | import { settingsShortcutKey, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey } from '../../environment'; |
10 | import { workspaceStore } from '../../features/workspaces'; | 10 | import { workspaceStore } from '../../features/workspaces'; |
11 | import { todosStore } from '../../features/todos'; | 11 | import { todosStore } from '../../features/todos'; |
12 | import { todoActions } from '../../features/todos/actions'; | 12 | import { todoActions } from '../../features/todos/actions'; |
@@ -148,7 +148,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
148 | }, | 148 | }, |
149 | }); | 149 | }); |
150 | }} | 150 | }} |
151 | data-tip={`${intl.formatMessage(messages.lockFerdi)} (${ctrlKey}+${shiftKey}+L)`} | 151 | data-tip={`${intl.formatMessage(messages.lockFerdi)} (${lockFerdiShortcutKey(false)})`} |
152 | > | 152 | > |
153 | <i className="mdi mdi-lock" /> | 153 | <i className="mdi mdi-lock" /> |
154 | </button> | 154 | </button> |
@@ -162,7 +162,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
162 | }} | 162 | }} |
163 | disabled={isTodosServiceActive} | 163 | disabled={isTodosServiceActive} |
164 | className={`sidebar__button sidebar__button--todos ${todosStore.isTodosPanelVisible ? 'is-active' : ''}`} | 164 | className={`sidebar__button sidebar__button--todos ${todosStore.isTodosPanelVisible ? 'is-active' : ''}`} |
165 | data-tip={`${intl.formatMessage(todosToggleMessage)} (${ctrlKey}+T)`} | 165 | data-tip={`${intl.formatMessage(todosToggleMessage)} (${todosToggleShortcutKey(false)})`} |
166 | > | 166 | > |
167 | <i className="mdi mdi-check-all" /> | 167 | <i className="mdi mdi-check-all" /> |
168 | </button> | 168 | </button> |
@@ -175,7 +175,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
175 | this.updateToolTip(); | 175 | this.updateToolTip(); |
176 | }} | 176 | }} |
177 | className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} | 177 | className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} |
178 | data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+D)`} | 178 | data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${workspaceToggleShortcutKey(false)})`} |
179 | > | 179 | > |
180 | <i className="mdi mdi-view-grid" /> | 180 | <i className="mdi mdi-view-grid" /> |
181 | </button> | 181 | </button> |
@@ -187,7 +187,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
187 | this.updateToolTip(); | 187 | this.updateToolTip(); |
188 | }} | 188 | }} |
189 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} | 189 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} |
190 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+${shiftKey}+M)`} | 190 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${muteFerdiShortcutKey(false)})`} |
191 | > | 191 | > |
192 | <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} /> | 192 | <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} /> |
193 | </button> | 193 | </button> |
@@ -195,7 +195,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
195 | type="button" | 195 | type="button" |
196 | onClick={() => openSettings({ path: 'recipes' })} | 196 | onClick={() => openSettings({ path: 'recipes' })} |
197 | className="sidebar__button sidebar__button--new-service" | 197 | className="sidebar__button sidebar__button--new-service" |
198 | data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`} | 198 | data-tip={`${intl.formatMessage(messages.addNewService)} (${addNewServiceShortcutKey(false)})`} |
199 | > | 199 | > |
200 | <i className="mdi mdi-plus-box" /> | 200 | <i className="mdi mdi-plus-box" /> |
201 | </button> | 201 | </button> |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index a4381e37d..87a4ada27 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -1,5 +1,5 @@ | |||
1 | import { app, systemPreferences } from '@electron/remote'; | 1 | import { app, systemPreferences } from '@electron/remote'; |
2 | import React, { Component, Fragment } from 'react'; | 2 | import React, { Component } from 'react'; |
3 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
4 | import { observer } from 'mobx-react'; | 4 | import { observer } from 'mobx-react'; |
5 | import prettyBytes from 'pretty-bytes'; | 5 | import prettyBytes from 'pretty-bytes'; |
@@ -16,7 +16,7 @@ import { | |||
16 | FRANZ_TRANSLATION, | 16 | FRANZ_TRANSLATION, |
17 | GITHUB_FRANZ_URL, | 17 | GITHUB_FRANZ_URL, |
18 | } from '../../../config'; | 18 | } from '../../../config'; |
19 | import { cmdKey, shiftKey, DEFAULT_APP_SETTINGS, isMac, isWindows } from '../../../environment'; | 19 | import { DEFAULT_APP_SETTINGS, isMac, isWindows, lockFerdiShortcutKey } from '../../../environment'; |
20 | import globalMessages from '../../../i18n/globalMessages'; | 20 | import globalMessages from '../../../i18n/globalMessages'; |
21 | 21 | ||
22 | const messages = defineMessages({ | 22 | const messages = defineMessages({ |
@@ -548,7 +548,7 @@ export default @observer class EditSettingsForm extends Component { | |||
548 | }} | 548 | }} |
549 | > | 549 | > |
550 | <span> | 550 | <span> |
551 | { intl.formatMessage(messages.lockInfo, { lockShortcut: `${cmdKey}+${shiftKey}+L` }) } | 551 | { intl.formatMessage(messages.lockInfo, { lockShortcut: `${lockFerdiShortcutKey(false)}` }) } |
552 | </span> | 552 | </span> |
553 | </p> | 553 | </p> |
554 | </div> | 554 | </div> |
diff --git a/src/environment.js b/src/environment.js index 923754048..39b854db4 100644 --- a/src/environment.js +++ b/src/environment.js | |||
@@ -82,7 +82,13 @@ export const altKey = isMac ? '⌥' : 'Alt'; | |||
82 | export const shiftKey = isMac ? '⇧' : 'Shift'; | 82 | export const shiftKey = isMac ? '⇧' : 'Shift'; |
83 | 83 | ||
84 | // Platform specific shortcut keys | 84 | // Platform specific shortcut keys |
85 | export const settingsShortcutKey = (isAccelerator = true) => `${isAccelerator ? cmdKey : ctrlKey}+${isMac ? ',' : 'P'}`; | 85 | const shortcutKey = (isAccelerator) => `${isAccelerator ? cmdKey : ctrlKey}`; |
86 | export const lockFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+L`; | ||
87 | export const todosToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+T`; | ||
88 | export const workspaceToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+D`; | ||
89 | export const muteFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+M`; | ||
90 | export const addNewServiceShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+N`; | ||
91 | export const settingsShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; | ||
86 | 92 | ||
87 | let api; | 93 | let api; |
88 | let wsApi; | 94 | let wsApi; |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index e8d3e79b4..21133bfde 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -6,7 +6,7 @@ import { autorun, observable } from 'mobx'; | |||
6 | import { defineMessages } from 'react-intl'; | 6 | import { defineMessages } from 'react-intl'; |
7 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; | 7 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; |
8 | import { | 8 | import { |
9 | cmdKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, | 9 | cmdKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey, |
10 | } from '../environment'; | 10 | } from '../environment'; |
11 | import { announcementsStore } from '../features/announcements'; | 11 | import { announcementsStore } from '../features/announcements'; |
12 | import { announcementActions } from '../features/announcements/actions'; | 12 | import { announcementActions } from '../features/announcements/actions'; |
@@ -668,7 +668,7 @@ export default class FranzMenu { | |||
668 | type: 'separator', | 668 | type: 'separator', |
669 | }, { | 669 | }, { |
670 | label: intl.formatMessage(menuItems.lockFerdi), | 670 | label: intl.formatMessage(menuItems.lockFerdi), |
671 | accelerator: `${cmdKey}+${shiftKey}+L`, | 671 | accelerator: `${lockFerdiShortcutKey()}`, |
672 | enabled: this.stores.user.isLoggedIn && this.stores.settings.app.lockingFeatureEnabled, | 672 | enabled: this.stores.user.isLoggedIn && this.stores.settings.app.lockingFeatureEnabled, |
673 | click() { | 673 | click() { |
674 | actions.settings.update({ | 674 | actions.settings.update({ |
@@ -696,7 +696,7 @@ export default class FranzMenu { | |||
696 | 696 | ||
697 | tpl[0].submenu.unshift({ | 697 | tpl[0].submenu.unshift({ |
698 | label: intl.formatMessage(menuItems.touchId), | 698 | label: intl.formatMessage(menuItems.touchId), |
699 | accelerator: `${cmdKey}+${shiftKey}+L`, | 699 | accelerator: `${lockFerdiShortcutKey()}`, |
700 | visible: touchIdEnabled, | 700 | visible: touchIdEnabled, |
701 | click() { | 701 | click() { |
702 | systemPreferences.promptTouchID(intl.formatMessage(menuItems.touchIdPrompt)).then(() => { | 702 | systemPreferences.promptTouchID(intl.formatMessage(menuItems.touchIdPrompt)).then(() => { |
@@ -875,7 +875,7 @@ export default class FranzMenu { | |||
875 | 875 | ||
876 | menu.push({ | 876 | menu.push({ |
877 | label: intl.formatMessage(menuItems.addNewService), | 877 | label: intl.formatMessage(menuItems.addNewService), |
878 | accelerator: `${cmdKey}+N`, | 878 | accelerator: `${addNewServiceShortcutKey()}`, |
879 | click: () => { | 879 | click: () => { |
880 | this.actions.ui.openSettings({ path: 'recipes' }); | 880 | this.actions.ui.openSettings({ path: 'recipes' }); |
881 | }, | 881 | }, |
@@ -905,7 +905,7 @@ export default class FranzMenu { | |||
905 | label: intl.formatMessage( | 905 | label: intl.formatMessage( |
906 | settings.all.app.isAppMuted ? menuItems.unmuteApp : menuItems.muteApp, | 906 | settings.all.app.isAppMuted ? menuItems.unmuteApp : menuItems.muteApp, |
907 | ).replace('&', '&&'), | 907 | ).replace('&', '&&'), |
908 | accelerator: `${cmdKey}+${shiftKey}+m`, | 908 | accelerator: `${muteFerdiShortcutKey()}`, |
909 | click: () => this.actions.app.toggleMuteApp(), | 909 | click: () => this.actions.app.toggleMuteApp(), |
910 | }, { | 910 | }, { |
911 | type: 'separator', | 911 | type: 'separator', |
@@ -960,7 +960,7 @@ export default class FranzMenu { | |||
960 | ); | 960 | ); |
961 | menu.push({ | 961 | menu.push({ |
962 | label: intl.formatMessage(drawerLabel), | 962 | label: intl.formatMessage(drawerLabel), |
963 | accelerator: `${cmdKey}+D`, | 963 | accelerator: `${workspaceToggleShortcutKey()}`, |
964 | click: () => { | 964 | click: () => { |
965 | workspaceActions.toggleWorkspaceDrawer(); | 965 | workspaceActions.toggleWorkspaceDrawer(); |
966 | }, | 966 | }, |
@@ -1006,7 +1006,7 @@ export default class FranzMenu { | |||
1006 | 1006 | ||
1007 | menu.push({ | 1007 | menu.push({ |
1008 | label: intl.formatMessage(drawerLabel), | 1008 | label: intl.formatMessage(drawerLabel), |
1009 | accelerator: `${cmdKey}+T`, | 1009 | accelerator: `${todosToggleShortcutKey()}`, |
1010 | click: () => { | 1010 | click: () => { |
1011 | todoActions.toggleTodosPanel(); | 1011 | todoActions.toggleTodosPanel(); |
1012 | }, | 1012 | }, |