Skip to content

Commit

Permalink
Fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexTorresDev committed Jun 20, 2019
1 parent 0568850 commit 9679adb
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 11 deletions.
8 changes: 5 additions & 3 deletions example/main.js
Expand Up @@ -28,12 +28,12 @@ electron_1.app.on('activate', function () {
var template = [
{
label: 'Edit',
//enabled: false,
enabled: false,
submenu: [
{ role: 'undo', accelerator: 'CommandOrControl+Z' },
{ role: 'undo' },
{ role: 'redo' },
{ type: 'separator' },
{ role: 'cut', accelerator: 'CmdOrCtrl+X' },
{ role: 'cut' },
{ role: 'copy' },
{ role: 'paste' },
{ role: 'pasteandmatchstyle' },
Expand Down Expand Up @@ -64,6 +64,7 @@ var template = [
label: 'Toggle Full Screen',
type: 'checkbox',
enabled: false,
accelerator: 'F11',
click: function () { mainWindow.setFullScreen(!mainWindow.isFullScreen()); }
}
]
Expand All @@ -80,6 +81,7 @@ var template = [
submenu: [
{
label: 'Learn More',
accelerator: 'CtrlOrCmd+E',
click: function () { require('electron').shell.openExternal('https://electronjs.org'); }
}
]
Expand Down
2 changes: 2 additions & 0 deletions example/main.ts
Expand Up @@ -71,6 +71,7 @@ const template: MenuItemConstructorOptions[] = [
label: 'Toggle Full Screen',
type: 'checkbox',
enabled: false,
accelerator: 'F11',
click() { mainWindow.setFullScreen(!mainWindow.isFullScreen()) }
}
]
Expand All @@ -87,6 +88,7 @@ const template: MenuItemConstructorOptions[] = [
submenu: [
{
label: 'Learn More',
accelerator: 'CtrlOrCmd+E',
click() { require('electron').shell.openExternal('https://electronjs.org') }
}
]
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

71 changes: 65 additions & 6 deletions src/menu/menuitem.ts
@@ -1,9 +1,9 @@
/*--------------------------------------------------------------------------------------------------------
* This file has been modified by @AlexTorresSk (http://github.com/AlexTorresSk)
* to work in custom-electron-titlebar.
*
*
* The original copy of this file and its respective license are in https://github.com/Microsoft/vscode/
*
*
* Copyright (c) 2018 Alex Torres
* Licensed under the MIT License. See License in the project root for license information.
*-------------------------------------------------------------------------------------------------------*/
Expand Down Expand Up @@ -112,10 +112,7 @@ export class MenuItem extends Disposable implements IMenuItem {

this.labelElement = append(this.itemElement, $('span.action-label'));

if (this.item.label && this.item.accelerator) {
append(this.itemElement, $('span.keybinding')).textContent = parseAccelerator(this.item.accelerator);
}

this.setAccelerator();
this.updateLabel();
this.updateTooltip();
this.updateEnabled();
Expand Down Expand Up @@ -153,6 +150,68 @@ export class MenuItem extends Disposable implements IMenuItem {
this.applyStyle();
}

setAccelerator(): void {
var accelerator = null;

if (this.item.role) {
switch(this.item.role.toLocaleLowerCase()) {
case 'undo':
accelerator = 'CtrlOrCmd+Z';
break;
case 'redo':
accelerator = 'CtrlOrCmd+Y';
break;
case 'cut':
accelerator = 'CtrlOrCmd+X';
break;
case 'copy':
accelerator = 'CtrlOrCmd+C';
break;
case 'paste':
accelerator = 'CtrlOrCmd+V';
break;
case 'selectall':
accelerator = 'CtrlOrCmd+A';
break;
case 'minimize':
accelerator = 'CtrlOrCmd+M';
break;
case 'close':
accelerator = 'CtrlOrCmd+W';
break;
case 'reload':
accelerator = 'CtrlOrCmd+R';
break;
case 'forcereload':
accelerator = 'CtrlOrCmd+Mayus+R';
break;
case 'toggledevtools':
accelerator = 'CtrlOrCmd+Mayus+I';

This comment has been minimized.

Copy link
@arolson101

arolson101 Jun 21, 2019

I'm in en-us and it shows as "Ctrl+Mayus+I" instead of "Ctrl+Shift+I"

break;
case 'togglefullscreen':
accelerator = 'F11';
break;
case 'resetzoom':
accelerator = 'CtrlOrCmd+0';
break;
case 'zoomin':
accelerator = 'CtrlOrCmd+Mayus+=';
break;
case 'zoomout':
accelerator = 'CtrlOrCmd+-';
break;
}
}

if (this.item.label && this.item.accelerator) {
accelerator = this.item.accelerator;
}

if (accelerator !== null) {
append(this.itemElement, $('span.keybinding')).textContent = parseAccelerator(accelerator);
}
}

updateLabel(): void {
if (this.item.label) {
let label = this.item.label;
Expand Down

0 comments on commit 9679adb

Please sign in to comment.