some fixes for mac menus

This commit is contained in:
SteVen Batten 2018-07-20 14:42:47 -07:00
parent dbc8505cd7
commit 3ce86b446b
4 changed files with 71 additions and 39 deletions

View file

@ -324,6 +324,14 @@ export class Menubar {
private setMacApplicationMenu(macApplicationMenu: Electron.Menu): void { private setMacApplicationMenu(macApplicationMenu: Electron.Menu): void {
const about = new MenuItem({ label: nls.localize('mAbout', "About {0}", product.nameLong), role: 'about' }); const about = new MenuItem({ label: nls.localize('mAbout', "About {0}", product.nameLong), role: 'about' });
const checkForUpdates = this.getUpdateMenuItems(); const checkForUpdates = this.getUpdateMenuItems();
let preferences;
if (this.shouldDrawMenu('Preferences')) {
const preferencesMenu = new Menu();
this.setMenuById(preferencesMenu, 'Preferences');
preferences = new MenuItem({ label: this.mnemonicLabel(nls.localize({ key: 'miPreferences', comment: ['&& denotes a mnemonic'] }, "&&Preferences")), submenu: preferencesMenu });
}
const servicesMenu = new Menu(); const servicesMenu = new Menu();
const services = new MenuItem({ label: nls.localize('mServices', "Services"), role: 'services', submenu: servicesMenu }); const services = new MenuItem({ label: nls.localize('mServices', "Services"), role: 'services', submenu: servicesMenu });
const hide = new MenuItem({ label: nls.localize('mHide', "Hide {0}", product.nameLong), role: 'hide', accelerator: 'Command+H' }); const hide = new MenuItem({ label: nls.localize('mHide', "Hide {0}", product.nameLong), role: 'hide', accelerator: 'Command+H' });
@ -339,6 +347,14 @@ export class Menubar {
const actions = [about]; const actions = [about];
actions.push(...checkForUpdates); actions.push(...checkForUpdates);
if (preferences) {
actions.push(...[
__separator__(),
preferences
]);
}
actions.push(...[ actions.push(...[
__separator__(), __separator__(),
services, services,

View file

@ -652,22 +652,24 @@ function helpMenuRegistration() {
order: 2 order: 2
}); });
MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, { if (!isMacintosh) {
group: '5_tools', MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
command: { group: '5_tools',
id: 'workbench.action.showAccessibilityOptions', command: {
title: nls.localize({ key: 'miAccessibilityOptions', comment: ['&& denotes a mnemonic'] }, "Accessibility &&Options") id: 'workbench.action.showAccessibilityOptions',
}, title: nls.localize({ key: 'miAccessibilityOptions', comment: ['&& denotes a mnemonic'] }, "Accessibility &&Options")
order: 3 },
}); order: 3
});
// About // About
MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, { MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
group: 'z_about', group: 'z_about',
command: { command: {
id: 'workbench.action.showAboutDialog', id: 'workbench.action.showAboutDialog',
title: nls.localize({ key: 'miAbout', comment: ['&& denotes a mnemonic'] }, "&&About") title: nls.localize({ key: 'miAbout', comment: ['&& denotes a mnemonic'] }, "&&About")
}, },
order: 1 order: 1
}); });
}
} }

View file

@ -144,6 +144,7 @@ export class MenubarPart extends Part {
}; };
if (isMacintosh) { if (isMacintosh) {
this.topLevelMenus['Preferences'] = this._register(this.menuService.createMenu(MenuId.MenubarPreferencesMenu, this.contextKeyService));
this.topLevelMenus['Window'] = this._register(this.menuService.createMenu(MenuId.MenubarWindowMenu, this.contextKeyService)); this.topLevelMenus['Window'] = this._register(this.menuService.createMenu(MenuId.MenubarWindowMenu, this.contextKeyService));
} }

View file

@ -163,23 +163,34 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
order: 2 order: 2
}); });
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { if (!isMacintosh) {
group: '2_open', MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
command: { group: '2_open',
id: OpenFileAction.ID, command: {
title: nls.localize({ key: 'miOpenFile', comment: ['&& denotes a mnemonic'] }, "&&Open File...") id: OpenFileAction.ID,
}, title: nls.localize({ key: 'miOpenFile', comment: ['&& denotes a mnemonic'] }, "&&Open File...")
order: 1 },
}); order: 1
});
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
group: '2_open', group: '2_open',
command: { command: {
id: OpenFolderAction.ID, id: OpenFolderAction.ID,
title: nls.localize({ key: 'miOpenFolder', comment: ['&& denotes a mnemonic'] }, "Open &&Folder...") title: nls.localize({ key: 'miOpenFolder', comment: ['&& denotes a mnemonic'] }, "Open &&Folder...")
}, },
order: 2 order: 2
}); });
} else {
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
group: '2_open',
command: {
id: OpenFileFolderAction.ID,
title: nls.localize({ key: 'miOpen', comment: ['&& denotes a mnemonic'] }, "&&Open...")
},
order: 1
});
}
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
group: '2_open', group: '2_open',
@ -226,12 +237,14 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
order: 2 order: 2
}); });
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { if (!isMacintosh) {
title: nls.localize({ key: 'miPreferences', comment: ['&& denotes a mnemonic'] }, "&&Preferences"), MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
submenu: MenuId.MenubarPreferencesMenu, title: nls.localize({ key: 'miPreferences', comment: ['&& denotes a mnemonic'] }, "&&Preferences"),
group: '5_autosave', submenu: MenuId.MenubarPreferencesMenu,
order: 2 group: '5_autosave',
}); order: 2
});
}
MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
group: '6_close', group: '6_close',