diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/services/tabs/TabItem.js | 6 | ||||
-rw-r--r-- | src/environment.js | 18 | ||||
-rw-r--r-- | src/features/workspaces/components/WorkspaceDrawerItem.js | 4 | ||||
-rw-r--r-- | src/lib/Menu.js | 72 | ||||
-rw-r--r-- | src/webview/contextMenuBuilder.js | 16 |
5 files changed, 58 insertions, 58 deletions
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index 6a6d2c8c5..6ad925670 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js | |||
@@ -10,7 +10,7 @@ import ms from 'ms'; | |||
10 | 10 | ||
11 | import { observable, autorun } from 'mobx'; | 11 | import { observable, autorun } from 'mobx'; |
12 | import ServiceModel from '../../../models/Service'; | 12 | import ServiceModel from '../../../models/Service'; |
13 | import { shortcutKey } from '../../../environment'; | 13 | import { cmdOrCtrlShortcutKey } from '../../../environment'; |
14 | 14 | ||
15 | const IS_SERVICE_DEBUGGING_ENABLED = ( | 15 | const IS_SERVICE_DEBUGGING_ENABLED = ( |
16 | localStorage.getItem('debug') || '' | 16 | localStorage.getItem('debug') || '' |
@@ -201,7 +201,7 @@ class TabItem extends Component { | |||
201 | { | 201 | { |
202 | label: intl.formatMessage(messages.reload), | 202 | label: intl.formatMessage(messages.reload), |
203 | click: reload, | 203 | click: reload, |
204 | accelerator: `${shortcutKey()}+R`, | 204 | accelerator: `${cmdOrCtrlShortcutKey()}+R`, |
205 | }, | 205 | }, |
206 | { | 206 | { |
207 | label: intl.formatMessage(messages.edit), | 207 | label: intl.formatMessage(messages.edit), |
@@ -307,7 +307,7 @@ class TabItem extends Component { | |||
307 | onClick={clickHandler} | 307 | onClick={clickHandler} |
308 | onContextMenu={() => menu.popup(getCurrentWindow())} | 308 | onContextMenu={() => menu.popup(getCurrentWindow())} |
309 | data-tip={`${service.name} ${ | 309 | data-tip={`${service.name} ${ |
310 | shortcutIndex <= 9 ? `(${shortcutKey(false)}+${shortcutIndex})` : '' | 310 | shortcutIndex <= 9 ? `(${cmdOrCtrlShortcutKey(false)}+${shortcutIndex})` : '' |
311 | }`} | 311 | }`} |
312 | > | 312 | > |
313 | <img src={service.icon} className="tab-item__icon" alt="" /> | 313 | <img src={service.icon} className="tab-item__icon" alt="" /> |
diff --git a/src/environment.js b/src/environment.js index f2a889be4..f8a51b207 100644 --- a/src/environment.js +++ b/src/environment.js | |||
@@ -79,17 +79,17 @@ export const is64Bit = osArch.match(/64/); | |||
79 | const ctrlKey = isMac ? '⌘' : 'Ctrl'; | 79 | const ctrlKey = isMac ? '⌘' : 'Ctrl'; |
80 | const cmdKey = isMac ? 'Cmd' : 'Ctrl'; | 80 | const cmdKey = isMac ? 'Cmd' : 'Ctrl'; |
81 | 81 | ||
82 | export const altKey = isMac ? '⌥' : 'Alt'; | 82 | export const altKey = (isAccelerator = true) => (!isAccelerator && isMac ? '⌥' : 'Alt'); |
83 | export const shiftKey = isMac ? '⇧' : 'Shift'; | 83 | export const shiftKey = (isAccelerator = true) => (!isAccelerator && isMac ? '⇧' : 'Shift'); |
84 | 84 | ||
85 | // Platform specific shortcut keys | 85 | // Platform specific shortcut keys |
86 | export const shortcutKey = (isAccelerator = true) => (isAccelerator ? cmdKey : ctrlKey); | 86 | export const cmdOrCtrlShortcutKey = (isAccelerator = true) => (isAccelerator ? cmdKey : ctrlKey); |
87 | export const lockFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+L`; | 87 | export const lockFerdiShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${shiftKey(isAccelerator)}+L`; |
88 | export const todosToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+T`; | 88 | export const todosToggleShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+T`; |
89 | export const workspaceToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+D`; | 89 | export const workspaceToggleShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+D`; |
90 | export const muteFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+M`; | 90 | export const muteFerdiShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${shiftKey(isAccelerator)}+M`; |
91 | export const addNewServiceShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+N`; | 91 | export const addNewServiceShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+N`; |
92 | export const settingsShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; | 92 | export const settingsShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; |
93 | 93 | ||
94 | let api; | 94 | let api; |
95 | let wsApi; | 95 | let wsApi; |
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js index fff607330..252158364 100644 --- a/src/features/workspaces/components/WorkspaceDrawerItem.js +++ b/src/features/workspaces/components/WorkspaceDrawerItem.js | |||
@@ -5,7 +5,7 @@ import { observer } from 'mobx-react'; | |||
5 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
6 | import classnames from 'classnames'; | 6 | import classnames from 'classnames'; |
7 | import { defineMessages, intlShape } from 'react-intl'; | 7 | import { defineMessages, intlShape } from 'react-intl'; |
8 | import { altKey, shortcutKey } from '../../../environment'; | 8 | import { altKey, cmdOrCtrlShortcutKey } from '../../../environment'; |
9 | 9 | ||
10 | const messages = defineMessages({ | 10 | const messages = defineMessages({ |
11 | noServicesAddedYet: { | 11 | noServicesAddedYet: { |
@@ -125,7 +125,7 @@ class WorkspaceDrawerItem extends Component { | |||
125 | onContextMenuEditClick && contextMenu.popup(getCurrentWindow()) | 125 | onContextMenuEditClick && contextMenu.popup(getCurrentWindow()) |
126 | } | 126 | } |
127 | data-tip={`${ | 127 | data-tip={`${ |
128 | shortcutIndex <= 9 ? `(${shortcutKey(false)}+${altKey}+${shortcutIndex})` : '' | 128 | shortcutIndex <= 9 ? `(${cmdOrCtrlShortcutKey(false)}+${altKey(false)}+${shortcutIndex})` : '' |
129 | }`} | 129 | }`} |
130 | > | 130 | > |
131 | <span | 131 | <span |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 86ac5ec9b..5a99299c5 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -4,7 +4,7 @@ import { autorun, observable } from 'mobx'; | |||
4 | import { defineMessages } from 'react-intl'; | 4 | import { defineMessages } from 'react-intl'; |
5 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; | 5 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; |
6 | import { | 6 | import { |
7 | shortcutKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey, | 7 | cmdOrCtrlShortcutKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey, |
8 | } from '../environment'; | 8 | } from '../environment'; |
9 | import { announcementsStore } from '../features/announcements'; | 9 | import { announcementsStore } from '../features/announcements'; |
10 | import { announcementActions } from '../features/announcements/actions'; | 10 | import { announcementActions } from '../features/announcements/actions'; |
@@ -317,7 +317,7 @@ function getActiveWebview() { | |||
317 | const _titleBarTemplateFactory = (intl, locked) => [ | 317 | const _titleBarTemplateFactory = (intl, locked) => [ |
318 | { | 318 | { |
319 | label: intl.formatMessage(menuItems.edit), | 319 | label: intl.formatMessage(menuItems.edit), |
320 | accelerator: `${altKey}+E`, | 320 | accelerator: `${altKey()}+E`, |
321 | submenu: [ | 321 | submenu: [ |
322 | { | 322 | { |
323 | label: intl.formatMessage(menuItems.undo), | 323 | label: intl.formatMessage(menuItems.undo), |
@@ -332,22 +332,22 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
332 | }, | 332 | }, |
333 | { | 333 | { |
334 | label: intl.formatMessage(menuItems.cut), | 334 | label: intl.formatMessage(menuItems.cut), |
335 | accelerator: `${shortcutKey()}+X`, | 335 | accelerator: `${cmdOrCtrlShortcutKey()}+X`, |
336 | role: 'cut', | 336 | role: 'cut', |
337 | }, | 337 | }, |
338 | { | 338 | { |
339 | label: intl.formatMessage(menuItems.copy), | 339 | label: intl.formatMessage(menuItems.copy), |
340 | accelerator: `${shortcutKey()}+C`, | 340 | accelerator: `${cmdOrCtrlShortcutKey()}+C`, |
341 | role: 'copy', | 341 | role: 'copy', |
342 | }, | 342 | }, |
343 | { | 343 | { |
344 | label: intl.formatMessage(menuItems.paste), | 344 | label: intl.formatMessage(menuItems.paste), |
345 | accelerator: `${shortcutKey()}+V`, | 345 | accelerator: `${cmdOrCtrlShortcutKey()}+V`, |
346 | role: 'paste', | 346 | role: 'paste', |
347 | }, | 347 | }, |
348 | { | 348 | { |
349 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), | 349 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), |
350 | accelerator: `${shortcutKey()}+${shiftKey}+V`, // Override the accelerator since this adds new key combo in macos | 350 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+V`, // Override the accelerator since this adds new key combo in macos |
351 | role: 'pasteAndMatchStyle', | 351 | role: 'pasteAndMatchStyle', |
352 | click() { | 352 | click() { |
353 | getActiveWebview().pasteAndMatchStyle(); | 353 | getActiveWebview().pasteAndMatchStyle(); |
@@ -359,14 +359,14 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
359 | }, | 359 | }, |
360 | { | 360 | { |
361 | label: intl.formatMessage(menuItems.selectAll), | 361 | label: intl.formatMessage(menuItems.selectAll), |
362 | accelerator: `${shortcutKey()}+A`, | 362 | accelerator: `${cmdOrCtrlShortcutKey()}+A`, |
363 | role: 'selectall', | 363 | role: 'selectall', |
364 | }, | 364 | }, |
365 | ], | 365 | ], |
366 | }, | 366 | }, |
367 | { | 367 | { |
368 | label: intl.formatMessage(menuItems.view), | 368 | label: intl.formatMessage(menuItems.view), |
369 | accelerator: `${altKey}+V`, | 369 | accelerator: `${altKey()}+V`, |
370 | visible: !locked, | 370 | visible: !locked, |
371 | submenu: [ | 371 | submenu: [ |
372 | { | 372 | { |
@@ -374,7 +374,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
374 | }, | 374 | }, |
375 | { | 375 | { |
376 | label: intl.formatMessage(menuItems.openQuickSwitch), | 376 | label: intl.formatMessage(menuItems.openQuickSwitch), |
377 | accelerator: `${shortcutKey()}+S`, | 377 | accelerator: `${cmdOrCtrlShortcutKey()}+S`, |
378 | click() { | 378 | click() { |
379 | window.ferdi.features.quickSwitch.state.isModalVisible = true; | 379 | window.ferdi.features.quickSwitch.state.isModalVisible = true; |
380 | }, | 380 | }, |
@@ -384,7 +384,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
384 | }, | 384 | }, |
385 | { | 385 | { |
386 | label: intl.formatMessage(menuItems.findInPage), | 386 | label: intl.formatMessage(menuItems.findInPage), |
387 | accelerator: `${shortcutKey()}+F`, | 387 | accelerator: `${cmdOrCtrlShortcutKey()}+F`, |
388 | click() { | 388 | click() { |
389 | // Check if there is a service active | 389 | // Check if there is a service active |
390 | if (!window.ferdi.stores.services.active) return; | 390 | if (!window.ferdi.stores.services.active) return; |
@@ -405,14 +405,14 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
405 | }, | 405 | }, |
406 | { | 406 | { |
407 | label: intl.formatMessage(menuItems.back), | 407 | label: intl.formatMessage(menuItems.back), |
408 | accelerator: `${shortcutKey()}+Left`, | 408 | accelerator: `${cmdOrCtrlShortcutKey()}+Left`, |
409 | click() { | 409 | click() { |
410 | getActiveWebview().goBack(); | 410 | getActiveWebview().goBack(); |
411 | }, | 411 | }, |
412 | }, | 412 | }, |
413 | { | 413 | { |
414 | label: intl.formatMessage(menuItems.forward), | 414 | label: intl.formatMessage(menuItems.forward), |
415 | accelerator: `${shortcutKey()}+Right`, | 415 | accelerator: `${cmdOrCtrlShortcutKey()}+Right`, |
416 | click() { | 416 | click() { |
417 | getActiveWebview().goForward(); | 417 | getActiveWebview().goForward(); |
418 | }, | 418 | }, |
@@ -422,7 +422,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
422 | }, | 422 | }, |
423 | { | 423 | { |
424 | label: intl.formatMessage(menuItems.resetZoom), | 424 | label: intl.formatMessage(menuItems.resetZoom), |
425 | accelerator: `${shortcutKey()}+0`, | 425 | accelerator: `${cmdOrCtrlShortcutKey()}+0`, |
426 | role: 'resetZoom', | 426 | role: 'resetZoom', |
427 | click() { | 427 | click() { |
428 | getActiveWebview().setZoomLevel(0); | 428 | getActiveWebview().setZoomLevel(0); |
@@ -430,7 +430,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
430 | }, | 430 | }, |
431 | { | 431 | { |
432 | label: intl.formatMessage(menuItems.zoomIn), | 432 | label: intl.formatMessage(menuItems.zoomIn), |
433 | accelerator: `${shortcutKey()}+plus`, | 433 | accelerator: `${cmdOrCtrlShortcutKey()}+plus`, |
434 | role: 'zoomIn', | 434 | role: 'zoomIn', |
435 | click() { | 435 | click() { |
436 | const activeService = getActiveWebview(); | 436 | const activeService = getActiveWebview(); |
@@ -442,7 +442,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
442 | }, | 442 | }, |
443 | { | 443 | { |
444 | label: intl.formatMessage(menuItems.zoomOut), | 444 | label: intl.formatMessage(menuItems.zoomOut), |
445 | accelerator: `${shortcutKey()}+-`, | 445 | accelerator: `${cmdOrCtrlShortcutKey()}+-`, |
446 | role: 'zoomOut', | 446 | role: 'zoomOut', |
447 | click() { | 447 | click() { |
448 | const activeService = getActiveWebview(); | 448 | const activeService = getActiveWebview(); |
@@ -462,7 +462,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
462 | { | 462 | { |
463 | label: intl.formatMessage(menuItems.toggleDarkMode), | 463 | label: intl.formatMessage(menuItems.toggleDarkMode), |
464 | type: 'checkbox', | 464 | type: 'checkbox', |
465 | accelerator: `${shortcutKey()}+${shiftKey}+D`, | 465 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+D`, |
466 | checked: window.ferdi.stores.settings.app.darkMode, | 466 | checked: window.ferdi.stores.settings.app.darkMode, |
467 | click: () => { | 467 | click: () => { |
468 | window.ferdi.actions.settings.update({ | 468 | window.ferdi.actions.settings.update({ |
@@ -477,13 +477,13 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
477 | }, | 477 | }, |
478 | { | 478 | { |
479 | label: intl.formatMessage(menuItems.services), | 479 | label: intl.formatMessage(menuItems.services), |
480 | accelerator: `${altKey}+S`, | 480 | accelerator: `${altKey()}+S`, |
481 | visible: !locked, | 481 | visible: !locked, |
482 | submenu: [], | 482 | submenu: [], |
483 | }, | 483 | }, |
484 | { | 484 | { |
485 | label: intl.formatMessage(menuItems.workspaces), | 485 | label: intl.formatMessage(menuItems.workspaces), |
486 | accelerator: `${altKey}+W`, | 486 | accelerator: `${altKey()}+W`, |
487 | submenu: [], | 487 | submenu: [], |
488 | visible: !locked && workspaceStore.isFeatureEnabled, | 488 | visible: !locked && workspaceStore.isFeatureEnabled, |
489 | }, | 489 | }, |
@@ -508,7 +508,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
508 | }, | 508 | }, |
509 | { | 509 | { |
510 | label: intl.formatMessage(menuItems.help), | 510 | label: intl.formatMessage(menuItems.help), |
511 | accelerator: `${altKey}+H`, | 511 | accelerator: `${altKey()}+H`, |
512 | role: 'help', | 512 | role: 'help', |
513 | submenu: [ | 513 | submenu: [ |
514 | { | 514 | { |
@@ -611,13 +611,13 @@ export default class FranzMenu { | |||
611 | type: 'separator', | 611 | type: 'separator', |
612 | }, { | 612 | }, { |
613 | label: intl.formatMessage(menuItems.toggleDevTools), | 613 | label: intl.formatMessage(menuItems.toggleDevTools), |
614 | accelerator: `${shortcutKey()}+${altKey}+I`, | 614 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+I`, |
615 | click: (menuItem, browserWindow) => { | 615 | click: (menuItem, browserWindow) => { |
616 | browserWindow.webContents.toggleDevTools(); | 616 | browserWindow.webContents.toggleDevTools(); |
617 | }, | 617 | }, |
618 | }, { | 618 | }, { |
619 | label: intl.formatMessage(menuItems.toggleServiceDevTools), | 619 | label: intl.formatMessage(menuItems.toggleServiceDevTools), |
620 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+I`, | 620 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+I`, |
621 | click: () => { | 621 | click: () => { |
622 | this.actions.service.openDevToolsForActiveService(); | 622 | this.actions.service.openDevToolsForActiveService(); |
623 | }, | 623 | }, |
@@ -627,7 +627,7 @@ export default class FranzMenu { | |||
627 | if (this.stores.features.features.isTodosEnabled) { | 627 | if (this.stores.features.features.isTodosEnabled) { |
628 | tpl[1].submenu.push({ | 628 | tpl[1].submenu.push({ |
629 | label: intl.formatMessage(menuItems.toggleTodosDevTools), | 629 | label: intl.formatMessage(menuItems.toggleTodosDevTools), |
630 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+O`, | 630 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+O`, |
631 | click: () => { | 631 | click: () => { |
632 | const webview = document.querySelector('#todos-panel webview'); | 632 | const webview = document.querySelector('#todos-panel webview'); |
633 | if (webview) this.actions.todos.openDevTools(); | 633 | if (webview) this.actions.todos.openDevTools(); |
@@ -638,7 +638,7 @@ export default class FranzMenu { | |||
638 | tpl[1].submenu.unshift({ | 638 | tpl[1].submenu.unshift({ |
639 | label: intl.formatMessage(menuItems.reloadService), | 639 | label: intl.formatMessage(menuItems.reloadService), |
640 | id: 'reloadService', // TODO: needed? | 640 | id: 'reloadService', // TODO: needed? |
641 | accelerator: `${shortcutKey()}+R`, | 641 | accelerator: `${cmdOrCtrlShortcutKey()}+R`, |
642 | click: () => { | 642 | click: () => { |
643 | if (this.stores.user.isLoggedIn | 643 | if (this.stores.user.isLoggedIn |
644 | && this.stores.services.enabled.length > 0) { | 644 | && this.stores.services.enabled.length > 0) { |
@@ -653,13 +653,13 @@ export default class FranzMenu { | |||
653 | }, | 653 | }, |
654 | }, { | 654 | }, { |
655 | label: intl.formatMessage(menuItems.reloadFerdi), | 655 | label: intl.formatMessage(menuItems.reloadFerdi), |
656 | accelerator: `${shortcutKey()}+${shiftKey}+R`, | 656 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+R`, |
657 | click: () => { | 657 | click: () => { |
658 | window.location.reload(); | 658 | window.location.reload(); |
659 | }, | 659 | }, |
660 | }, { | 660 | }, { |
661 | label: intl.formatMessage(menuItems.reloadTodos), | 661 | label: intl.formatMessage(menuItems.reloadTodos), |
662 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+R`, | 662 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+R`, |
663 | click: () => { | 663 | click: () => { |
664 | this.actions.todos.reload(); | 664 | this.actions.todos.reload(); |
665 | }, | 665 | }, |
@@ -715,7 +715,7 @@ export default class FranzMenu { | |||
715 | 715 | ||
716 | tpl.unshift({ | 716 | tpl.unshift({ |
717 | label: isMac ? app.name : intl.formatMessage(menuItems.file), | 717 | label: isMac ? app.name : intl.formatMessage(menuItems.file), |
718 | accelerator: `${altKey}+F`, | 718 | accelerator: `${altKey()}+F`, |
719 | submenu: [ | 719 | submenu: [ |
720 | { | 720 | { |
721 | label: intl.formatMessage(menuItems.about), | 721 | label: intl.formatMessage(menuItems.about), |
@@ -831,7 +831,7 @@ export default class FranzMenu { | |||
831 | { | 831 | { |
832 | label: intl.formatMessage(menuItems.quit), | 832 | label: intl.formatMessage(menuItems.quit), |
833 | role: 'quit', | 833 | role: 'quit', |
834 | accelerator: `${shortcutKey()}+Q`, | 834 | accelerator: `${cmdOrCtrlShortcutKey()}+Q`, |
835 | click() { | 835 | click() { |
836 | app.quit(); | 836 | app.quit(); |
837 | }, | 837 | }, |
@@ -882,22 +882,22 @@ export default class FranzMenu { | |||
882 | type: 'separator', | 882 | type: 'separator', |
883 | }, { | 883 | }, { |
884 | label: intl.formatMessage(menuItems.activateNextService), | 884 | label: intl.formatMessage(menuItems.activateNextService), |
885 | accelerator: `${shortcutKey()}+tab`, | 885 | accelerator: `${cmdOrCtrlShortcutKey()}+tab`, |
886 | click: () => this.actions.service.setActiveNext(), | 886 | click: () => this.actions.service.setActiveNext(), |
887 | visible: !cmdAltShortcutsVisibile, | 887 | visible: !cmdAltShortcutsVisibile, |
888 | }, { | 888 | }, { |
889 | label: intl.formatMessage(menuItems.activateNextService), | 889 | label: intl.formatMessage(menuItems.activateNextService), |
890 | accelerator: `${shortcutKey()}+${altKey}+right`, | 890 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+right`, |
891 | click: () => this.actions.service.setActiveNext(), | 891 | click: () => this.actions.service.setActiveNext(), |
892 | visible: cmdAltShortcutsVisibile, | 892 | visible: cmdAltShortcutsVisibile, |
893 | }, { | 893 | }, { |
894 | label: intl.formatMessage(menuItems.activatePreviousService), | 894 | label: intl.formatMessage(menuItems.activatePreviousService), |
895 | accelerator: `${shortcutKey()}+${shiftKey}+tab`, | 895 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+tab`, |
896 | click: () => this.actions.service.setActivePrev(), | 896 | click: () => this.actions.service.setActivePrev(), |
897 | visible: !cmdAltShortcutsVisibile, | 897 | visible: !cmdAltShortcutsVisibile, |
898 | }, { | 898 | }, { |
899 | label: intl.formatMessage(menuItems.activatePreviousService), | 899 | label: intl.formatMessage(menuItems.activatePreviousService), |
900 | accelerator: `${shortcutKey()}+${altKey}+left`, | 900 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+left`, |
901 | click: () => this.actions.service.setActivePrev(), | 901 | click: () => this.actions.service.setActivePrev(), |
902 | visible: cmdAltShortcutsVisibile, | 902 | visible: cmdAltShortcutsVisibile, |
903 | }, { | 903 | }, { |
@@ -912,7 +912,7 @@ export default class FranzMenu { | |||
912 | 912 | ||
913 | services.allDisplayed.forEach((service, i) => (menu.push({ | 913 | services.allDisplayed.forEach((service, i) => (menu.push({ |
914 | label: this._getServiceName(service), | 914 | label: this._getServiceName(service), |
915 | accelerator: i < 9 ? `${shortcutKey()}+${i + 1}` : null, | 915 | accelerator: i < 9 ? `${cmdOrCtrlShortcutKey()}+${i + 1}` : null, |
916 | type: 'radio', | 916 | type: 'radio', |
917 | checked: service.isActive, | 917 | checked: service.isActive, |
918 | click: () => { | 918 | click: () => { |
@@ -929,7 +929,7 @@ export default class FranzMenu { | |||
929 | type: 'separator', | 929 | type: 'separator', |
930 | }, { | 930 | }, { |
931 | label: intl.formatMessage(menuItems.serviceGoHome), | 931 | label: intl.formatMessage(menuItems.serviceGoHome), |
932 | accelerator: `${shortcutKey()}+${shiftKey}+H`, | 932 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+H`, |
933 | click: () => this.actions.service.reloadActive(), | 933 | click: () => this.actions.service.reloadActive(), |
934 | }); | 934 | }); |
935 | } | 935 | } |
@@ -945,7 +945,7 @@ export default class FranzMenu { | |||
945 | // Add new workspace item: | 945 | // Add new workspace item: |
946 | menu.push({ | 946 | menu.push({ |
947 | label: intl.formatMessage(menuItems.addNewWorkspace), | 947 | label: intl.formatMessage(menuItems.addNewWorkspace), |
948 | accelerator: `${shortcutKey()}+${shiftKey}+N`, | 948 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+N`, |
949 | click: () => { | 949 | click: () => { |
950 | workspaceActions.openWorkspaceSettings(); | 950 | workspaceActions.openWorkspaceSettings(); |
951 | }, | 951 | }, |
@@ -974,7 +974,7 @@ export default class FranzMenu { | |||
974 | // Default workspace | 974 | // Default workspace |
975 | menu.push({ | 975 | menu.push({ |
976 | label: intl.formatMessage(menuItems.defaultWorkspace), | 976 | label: intl.formatMessage(menuItems.defaultWorkspace), |
977 | accelerator: `${shortcutKey()}+${altKey}+0`, | 977 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+0`, |
978 | type: 'radio', | 978 | type: 'radio', |
979 | checked: !activeWorkspace, | 979 | checked: !activeWorkspace, |
980 | click: () => { | 980 | click: () => { |
@@ -985,7 +985,7 @@ export default class FranzMenu { | |||
985 | // Workspace items | 985 | // Workspace items |
986 | workspaces.forEach((workspace, i) => menu.push({ | 986 | workspaces.forEach((workspace, i) => menu.push({ |
987 | label: workspace.name, | 987 | label: workspace.name, |
988 | accelerator: i < 9 ? `${shortcutKey()}+${altKey}+${i + 1}` : null, | 988 | accelerator: i < 9 ? `${cmdOrCtrlShortcutKey()}+${altKey()}+${i + 1}` : null, |
989 | type: 'radio', | 989 | type: 'radio', |
990 | checked: activeWorkspace ? workspace.id === activeWorkspace.id : false, | 990 | checked: activeWorkspace ? workspace.id === activeWorkspace.id : false, |
991 | click: () => { | 991 | click: () => { |
diff --git a/src/webview/contextMenuBuilder.js b/src/webview/contextMenuBuilder.js index 126fa4086..8c39e6d04 100644 --- a/src/webview/contextMenuBuilder.js +++ b/src/webview/contextMenuBuilder.js | |||
@@ -8,7 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | import { clipboard, ipcRenderer, nativeImage } from 'electron'; | 9 | import { clipboard, ipcRenderer, nativeImage } from 'electron'; |
10 | import { Menu, MenuItem } from '@electron/remote'; | 10 | import { Menu, MenuItem } from '@electron/remote'; |
11 | import { shortcutKey, isMac } from '../environment'; | 11 | import { cmdOrCtrlShortcutKey, isMac } from '../environment'; |
12 | 12 | ||
13 | import { SEARCH_ENGINE_NAMES, SEARCH_ENGINE_URLS } from '../config'; | 13 | import { SEARCH_ENGINE_NAMES, SEARCH_ENGINE_URLS } from '../config'; |
14 | import { openExternalUrl } from '../helpers/url-helpers'; | 14 | import { openExternalUrl } from '../helpers/url-helpers'; |
@@ -375,7 +375,7 @@ module.exports = class ContextMenuBuilder { | |||
375 | const webContents = this.getWebContents(); | 375 | const webContents = this.getWebContents(); |
376 | menu.append(new MenuItem({ | 376 | menu.append(new MenuItem({ |
377 | label: this.stringTable.cut(), | 377 | label: this.stringTable.cut(), |
378 | accelerator: `${shortcutKey()}+X`, | 378 | accelerator: `${cmdOrCtrlShortcutKey()}+X`, |
379 | enabled: menuInfo.editFlags.canCut, | 379 | enabled: menuInfo.editFlags.canCut, |
380 | click: () => webContents.cut(), | 380 | click: () => webContents.cut(), |
381 | })); | 381 | })); |
@@ -390,7 +390,7 @@ module.exports = class ContextMenuBuilder { | |||
390 | const webContents = this.getWebContents(); | 390 | const webContents = this.getWebContents(); |
391 | menu.append(new MenuItem({ | 391 | menu.append(new MenuItem({ |
392 | label: this.stringTable.copy(), | 392 | label: this.stringTable.copy(), |
393 | accelerator: `${shortcutKey()}+C`, | 393 | accelerator: `${cmdOrCtrlShortcutKey()}+C`, |
394 | enabled: menuInfo.editFlags.canCopy, | 394 | enabled: menuInfo.editFlags.canCopy, |
395 | click: () => webContents.copy(), | 395 | click: () => webContents.copy(), |
396 | })); | 396 | })); |
@@ -405,7 +405,7 @@ module.exports = class ContextMenuBuilder { | |||
405 | const webContents = this.getWebContents(); | 405 | const webContents = this.getWebContents(); |
406 | menu.append(new MenuItem({ | 406 | menu.append(new MenuItem({ |
407 | label: this.stringTable.paste(), | 407 | label: this.stringTable.paste(), |
408 | accelerator: `${shortcutKey()}+V`, | 408 | accelerator: `${cmdOrCtrlShortcutKey()}+V`, |
409 | enabled: menuInfo.editFlags.canPaste, | 409 | enabled: menuInfo.editFlags.canPaste, |
410 | click: () => webContents.paste(), | 410 | click: () => webContents.paste(), |
411 | })); | 411 | })); |
@@ -423,7 +423,7 @@ module.exports = class ContextMenuBuilder { | |||
423 | menu.append( | 423 | menu.append( |
424 | new MenuItem({ | 424 | new MenuItem({ |
425 | label: this.stringTable.pasteAndMatchStyle(), | 425 | label: this.stringTable.pasteAndMatchStyle(), |
426 | accelerator: `${shortcutKey()}+Shift+V`, | 426 | accelerator: `${cmdOrCtrlShortcutKey()}+Shift+V`, |
427 | click: () => webContents.pasteAndMatchStyle(), | 427 | click: () => webContents.pasteAndMatchStyle(), |
428 | }), | 428 | }), |
429 | ); | 429 | ); |
@@ -489,7 +489,7 @@ module.exports = class ContextMenuBuilder { | |||
489 | const webContents = this.getWebContents(); | 489 | const webContents = this.getWebContents(); |
490 | menu.append(new MenuItem({ | 490 | menu.append(new MenuItem({ |
491 | label: this.stringTable.goBack(), | 491 | label: this.stringTable.goBack(), |
492 | accelerator: `${shortcutKey()}+left`, | 492 | accelerator: `${cmdOrCtrlShortcutKey()}+left`, |
493 | enabled: webContents.canGoBack(), | 493 | enabled: webContents.canGoBack(), |
494 | click: () => webContents.goBack(), | 494 | click: () => webContents.goBack(), |
495 | })); | 495 | })); |
@@ -504,7 +504,7 @@ module.exports = class ContextMenuBuilder { | |||
504 | const webContents = this.getWebContents(); | 504 | const webContents = this.getWebContents(); |
505 | menu.append(new MenuItem({ | 505 | menu.append(new MenuItem({ |
506 | label: this.stringTable.goForward(), | 506 | label: this.stringTable.goForward(), |
507 | accelerator: `${shortcutKey()}+right`, | 507 | accelerator: `${cmdOrCtrlShortcutKey()}+right`, |
508 | enabled: webContents.canGoForward(), | 508 | enabled: webContents.canGoForward(), |
509 | click: () => webContents.goForward(), | 509 | click: () => webContents.goForward(), |
510 | })); | 510 | })); |
@@ -535,7 +535,7 @@ module.exports = class ContextMenuBuilder { | |||
535 | const baseURL = new URL(menuInfo.pageURL); | 535 | const baseURL = new URL(menuInfo.pageURL); |
536 | menu.append(new MenuItem({ | 536 | menu.append(new MenuItem({ |
537 | label: this.stringTable.goToHomePage(), | 537 | label: this.stringTable.goToHomePage(), |
538 | accelerator: `${shortcutKey()}+Home`, | 538 | accelerator: `${cmdOrCtrlShortcutKey()}+Home`, |
539 | enabled: true, | 539 | enabled: true, |
540 | click: () => { | 540 | click: () => { |
541 | // webContents.loadURL(baseURL.origin); | 541 | // webContents.loadURL(baseURL.origin); |