aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorLibravatar Vijay A <avijayr@protonmail.com>2021-08-06 08:13:00 +0530
committerLibravatar Vijay A <avijayr@protonmail.com>2021-08-06 08:14:15 +0530
commit49c94e105106bd38ffb820bee2007e4be52e35fa (patch)
tree9d3f1d0d0d7c465490a2a61661674ea17c3e059b /src/lib
parent5.6.1-nightly.15 [skip ci] (diff)
downloadferdium-app-49c94e105106bd38ffb820bee2007e4be52e35fa.tar.gz
ferdium-app-49c94e105106bd38ffb820bee2007e4be52e35fa.tar.zst
ferdium-app-49c94e105106bd38ffb820bee2007e4be52e35fa.zip
revert: partially reverted menu-item cleanup (having only 'role' does not work in windows)
fixes #1746
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Menu.js130
1 files changed, 124 insertions, 6 deletions
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index 2f918dcb0..e26c50e1e 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -21,9 +21,37 @@ const menuItems = defineMessages({
21 id: 'menu.edit', 21 id: 'menu.edit',
22 defaultMessage: '!!!Edit', 22 defaultMessage: '!!!Edit',
23 }, 23 },
24 view: { 24 undo: {
25 id: 'menu.view', 25 id: 'menu.edit.undo',
26 defaultMessage: '!!!View', 26 defaultMessage: '!!!Undo',
27 },
28 redo: {
29 id: 'menu.edit.redo',
30 defaultMessage: '!!!Redo',
31 },
32 cut: {
33 id: 'menu.edit.cut',
34 defaultMessage: '!!!Cut',
35 },
36 copy: {
37 id: 'menu.edit.copy',
38 defaultMessage: '!!!Copy',
39 },
40 paste: {
41 id: 'menu.edit.paste',
42 defaultMessage: '!!!Paste',
43 },
44 pasteAndMatchStyle: {
45 id: 'menu.edit.pasteAndMatchStyle',
46 defaultMessage: '!!!Paste And Match Style',
47 },
48 delete: {
49 id: 'menu.edit.delete',
50 defaultMessage: '!!!Delete',
51 },
52 selectAll: {
53 id: 'menu.edit.selectAll',
54 defaultMessage: '!!!Select All',
27 }, 55 },
28 findInPage: { 56 findInPage: {
29 id: 'menu.edit.findInPage', 57 id: 'menu.edit.findInPage',
@@ -61,6 +89,22 @@ const menuItems = defineMessages({
61 id: 'menu.view.forward', 89 id: 'menu.view.forward',
62 defaultMessage: '!!!Forward', 90 defaultMessage: '!!!Forward',
63 }, 91 },
92 resetZoom: {
93 id: 'menu.view.resetZoom',
94 defaultMessage: '!!!Actual Size',
95 },
96 zoomIn: {
97 id: 'menu.view.zoomIn',
98 defaultMessage: '!!!Zoom In',
99 },
100 zoomOut: {
101 id: 'menu.view.zoomOut',
102 defaultMessage: '!!!Zoom Out',
103 },
104 toggleFullScreen: {
105 id: 'menu.view.toggleFullScreen',
106 defaultMessage: '!!!Toggle Full Screen',
107 },
64 toggleDarkMode: { 108 toggleDarkMode: {
65 id: 'menu.view.toggleDarkMode', 109 id: 'menu.view.toggleDarkMode',
66 defaultMessage: '!!!Toggle Dark Mode', 110 defaultMessage: '!!!Toggle Dark Mode',
@@ -93,6 +137,14 @@ const menuItems = defineMessages({
93 id: 'menu.view.reloadTodos', 137 id: 'menu.view.reloadTodos',
94 defaultMessage: '!!!Reload ToDos', 138 defaultMessage: '!!!Reload ToDos',
95 }, 139 },
140 minimize: {
141 id: 'menu.window.minimize',
142 defaultMessage: '!!!Minimize',
143 },
144 close: {
145 id: 'menu.window.close',
146 defaultMessage: '!!!Close',
147 },
96 learnMore: { 148 learnMore: {
97 id: 'menu.help.learnMore', 149 id: 'menu.help.learnMore',
98 defaultMessage: '!!!Learn More', 150 defaultMessage: '!!!Learn More',
@@ -141,10 +193,26 @@ const menuItems = defineMessages({
141 id: 'menu.file', 193 id: 'menu.file',
142 defaultMessage: '!!!File', 194 defaultMessage: '!!!File',
143 }, 195 },
196 view: {
197 id: 'menu.view',
198 defaultMessage: '!!!View',
199 },
144 services: { 200 services: {
145 id: 'menu.services', 201 id: 'menu.services',
146 defaultMessage: '!!!Services', 202 defaultMessage: '!!!Services',
147 }, 203 },
204 window: {
205 id: 'menu.window',
206 defaultMessage: '!!!Window',
207 },
208 help: {
209 id: 'menu.help',
210 defaultMessage: '!!!Help',
211 },
212 about: {
213 id: 'menu.app.about',
214 defaultMessage: '!!!About Ferdi',
215 },
148 announcement: { 216 announcement: {
149 id: 'menu.app.announcement', 217 id: 'menu.app.announcement',
150 defaultMessage: '!!!What\'s new?', 218 defaultMessage: '!!!What\'s new?',
@@ -157,10 +225,26 @@ const menuItems = defineMessages({
157 id: 'menu.app.checkForUpdates', 225 id: 'menu.app.checkForUpdates',
158 defaultMessage: '!!!Check for updates', 226 defaultMessage: '!!!Check for updates',
159 }, 227 },
228 hide: {
229 id: 'menu.app.hide',
230 defaultMessage: '!!!Hide',
231 },
232 hideOthers: {
233 id: 'menu.app.hideOthers',
234 defaultMessage: '!!!Hide Others',
235 },
236 unhide: {
237 id: 'menu.app.unhide',
238 defaultMessage: '!!!Unhide',
239 },
160 autohideMenuBar: { 240 autohideMenuBar: {
161 id: 'menu.app.autohideMenuBar', 241 id: 'menu.app.autohideMenuBar',
162 defaultMessage: '!!!Auto-hide menu bar', 242 defaultMessage: '!!!Auto-hide menu bar',
163 }, 243 },
244 quit: {
245 id: 'menu.app.quit',
246 defaultMessage: '!!!Quit',
247 },
164 addNewService: { 248 addNewService: {
165 id: 'menu.services.addNewService', 249 id: 'menu.services.addNewService',
166 defaultMessage: '!!!Add New Service...', 250 defaultMessage: '!!!Add New Service...',
@@ -233,31 +317,46 @@ const _titleBarTemplateFactory = (intl, locked) => [
233 accelerator: 'Alt+E', 317 accelerator: 'Alt+E',
234 submenu: [ 318 submenu: [
235 { 319 {
320 label: intl.formatMessage(menuItems.undo),
236 role: 'undo', 321 role: 'undo',
237 }, 322 },
238 { 323 {
324 label: intl.formatMessage(menuItems.redo),
239 role: 'redo', 325 role: 'redo',
240 }, 326 },
241 { 327 {
242 type: 'separator', 328 type: 'separator',
243 }, 329 },
244 { 330 {
331 label: intl.formatMessage(menuItems.cut),
332 accelerator: `${cmdKey}+X`,
245 role: 'cut', 333 role: 'cut',
246 }, 334 },
247 { 335 {
336 label: intl.formatMessage(menuItems.copy),
337 accelerator: `${cmdKey}+C`,
248 role: 'copy', 338 role: 'copy',
249 }, 339 },
250 { 340 {
341 label: intl.formatMessage(menuItems.paste),
342 accelerator: `${cmdKey}+V`,
251 role: 'paste', 343 role: 'paste',
252 }, 344 },
253 { 345 {
254 role: 'pasteAndMatchStyle', 346 label: intl.formatMessage(menuItems.pasteAndMatchStyle),
255 accelerator: `${cmdKey}+Shift+V`, // Override the accelerator since this adds new key combo in macos 347 accelerator: `${cmdKey}+Shift+V`, // Override the accelerator since this adds new key combo in macos
348 role: 'pasteAndMatchStyle',
349 click() {
350 getActiveWebview().pasteAndMatchStyle();
351 },
256 }, 352 },
257 { 353 {
354 label: intl.formatMessage(menuItems.delete),
258 role: 'delete', 355 role: 'delete',
259 }, 356 },
260 { 357 {
358 label: intl.formatMessage(menuItems.selectAll),
359 accelerator: `${cmdKey}+A`,
261 role: 'selectall', 360 role: 'selectall',
262 }, 361 },
263 ], 362 ],
@@ -319,12 +418,16 @@ const _titleBarTemplateFactory = (intl, locked) => [
319 type: 'separator', 418 type: 'separator',
320 }, 419 },
321 { 420 {
421 label: intl.formatMessage(menuItems.resetZoom),
422 accelerator: `${cmdKey}+0`,
322 role: 'resetZoom', 423 role: 'resetZoom',
323 click() { 424 click() {
324 getActiveWebview().setZoomLevel(0); 425 getActiveWebview().setZoomLevel(0);
325 }, 426 },
326 }, 427 },
327 { 428 {
429 label: intl.formatMessage(menuItems.zoomIn),
430 accelerator: `${cmdKey}+plus`,
328 role: 'zoomIn', 431 role: 'zoomIn',
329 click() { 432 click() {
330 const activeService = getActiveWebview(); 433 const activeService = getActiveWebview();
@@ -335,6 +438,8 @@ const _titleBarTemplateFactory = (intl, locked) => [
335 }, 438 },
336 }, 439 },
337 { 440 {
441 label: intl.formatMessage(menuItems.zoomOut),
442 accelerator: `${cmdKey}+-`,
338 role: 'zoomOut', 443 role: 'zoomOut',
339 click() { 444 click() {
340 const activeService = getActiveWebview(); 445 const activeService = getActiveWebview();
@@ -348,6 +453,7 @@ const _titleBarTemplateFactory = (intl, locked) => [
348 type: 'separator', 453 type: 'separator',
349 }, 454 },
350 { 455 {
456 label: intl.formatMessage(menuItems.toggleFullScreen),
351 role: 'toggleFullScreen', 457 role: 'toggleFullScreen',
352 }, 458 },
353 { 459 {
@@ -384,17 +490,22 @@ const _titleBarTemplateFactory = (intl, locked) => [
384 visible: !locked && todosStore.isFeatureEnabled, 490 visible: !locked && todosStore.isFeatureEnabled,
385 }, 491 },
386 { 492 {
493 label: intl.formatMessage(menuItems.window),
387 role: 'window', 494 role: 'window',
388 submenu: [ 495 submenu: [
389 { 496 {
497 label: intl.formatMessage(menuItems.minimize),
390 role: 'minimize', 498 role: 'minimize',
391 }, 499 },
392 { 500 {
501 label: intl.formatMessage(menuItems.close),
393 role: 'close', 502 role: 'close',
394 }, 503 },
395 ], 504 ],
396 }, 505 },
397 { 506 {
507 label: intl.formatMessage(menuItems.help),
508 accelerator: 'Alt+H',
398 role: 'help', 509 role: 'help',
399 submenu: [ 510 submenu: [
400 { 511 {
@@ -599,6 +710,7 @@ export default class FranzMenu {
599 accelerator: 'Alt+F', 710 accelerator: 'Alt+F',
600 submenu: [ 711 submenu: [
601 { 712 {
713 label: intl.formatMessage(menuItems.about),
602 role: 'about', 714 role: 'about',
603 }, 715 },
604 { 716 {
@@ -633,18 +745,22 @@ export default class FranzMenu {
633 type: 'separator', 745 type: 'separator',
634 }, 746 },
635 { 747 {
748 label: intl.formatMessage(menuItems.hide),
636 role: 'hide', 749 role: 'hide',
637 }, 750 },
638 { 751 {
752 label: intl.formatMessage(menuItems.hideOthers),
639 role: 'hideOthers', 753 role: 'hideOthers',
640 }, 754 },
641 { 755 {
756 label: intl.formatMessage(menuItems.unhide),
642 role: 'unhide', 757 role: 'unhide',
643 }, 758 },
644 { 759 {
645 type: 'separator', 760 type: 'separator',
646 }, 761 },
647 { 762 {
763 label: intl.formatMessage(menuItems.quit),
648 role: 'quit', 764 role: 'quit',
649 click() { 765 click() {
650 app.quit(); 766 app.quit();
@@ -654,6 +770,7 @@ export default class FranzMenu {
654 }); 770 });
655 771
656 const about = { 772 const about = {
773 label: intl.formatMessage(menuItems.about),
657 role: 'about', 774 role: 'about',
658 click: () => { 775 click: () => {
659 dialog.showMessageBox({ 776 dialog.showMessageBox({
@@ -693,7 +810,7 @@ export default class FranzMenu {
693 tpl[0].submenu = [ 810 tpl[0].submenu = [
694 { 811 {
695 label: intl.formatMessage(menuItems.settings), 812 label: intl.formatMessage(menuItems.settings),
696 accelerator: 'Ctrl+P', 813 accelerator: `${cmdKey}+P`,
697 click: () => { 814 click: () => {
698 this.actions.ui.openSettings({ path: 'app' }); 815 this.actions.ui.openSettings({ path: 'app' });
699 }, 816 },
@@ -704,8 +821,9 @@ export default class FranzMenu {
704 type: 'separator', 821 type: 'separator',
705 }, 822 },
706 { 823 {
824 label: intl.formatMessage(menuItems.quit),
707 role: 'quit', 825 role: 'quit',
708 accelerator: 'Ctrl+Q', 826 accelerator: `${cmdKey}+Q`,
709 click() { 827 click() {
710 app.quit(); 828 app.quit();
711 }, 829 },