mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Revert system menu layout (#671)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
parent
ae3fdeaa27
commit
260bbbdcc2
129
src/main/menu.ts
129
src/main/menu.ts
@ -15,13 +15,17 @@ export function initMenu(windowManager: WindowManager) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function buildMenu(windowManager: WindowManager) {
|
export function buildMenu(windowManager: WindowManager) {
|
||||||
function macOnly(menuItems: MenuItemConstructorOptions[]) {
|
function ignoreOnMac(menuItems: MenuItemConstructorOptions[]) {
|
||||||
if (!isMac) return [];
|
if (isMac) return [];
|
||||||
return menuItems;
|
return menuItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
function activeClusterOnly(menuItems: MenuItemConstructorOptions[]) {
|
function activeClusterOnly(menuItems: MenuItemConstructorOptions[]) {
|
||||||
if (!windowManager.activeClusterId) return [];
|
if (!windowManager.activeClusterId) {
|
||||||
|
menuItems.forEach(item => {
|
||||||
|
item.enabled = false
|
||||||
|
});
|
||||||
|
}
|
||||||
return menuItems;
|
return menuItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,8 +38,57 @@ export function buildMenu(windowManager: WindowManager) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showAbout(browserWindow: BrowserWindow) {
|
||||||
|
const appInfo = [
|
||||||
|
`${appName}: ${app.getVersion()}`,
|
||||||
|
`Electron: ${process.versions.electron}`,
|
||||||
|
`Chrome: ${process.versions.chrome}`,
|
||||||
|
`Copyright 2020 Lakend Labs, Inc.`,
|
||||||
|
]
|
||||||
|
dialog.showMessageBoxSync(browserWindow, {
|
||||||
|
title: `${isWindows ? " ".repeat(2) : ""}${appName}`,
|
||||||
|
type: "info",
|
||||||
|
buttons: ["Close"],
|
||||||
|
message: `Lens`,
|
||||||
|
detail: appInfo.join("\r\n")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const mt: MenuItemConstructorOptions[] = [];
|
||||||
|
|
||||||
|
const macAppMenu: MenuItemConstructorOptions = {
|
||||||
|
label: app.getName(),
|
||||||
|
submenu: [
|
||||||
|
{
|
||||||
|
label: "About Lens",
|
||||||
|
click(menuItem: MenuItem, browserWindow: BrowserWindow) {
|
||||||
|
showAbout(browserWindow)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
|
{
|
||||||
|
label: 'Preferences',
|
||||||
|
click() {
|
||||||
|
navigate(preferencesURL())
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'services' },
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'hide' },
|
||||||
|
{ role: 'hideOthers' },
|
||||||
|
{ role: 'unhide' },
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ role: 'quit' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
if (isMac) {
|
||||||
|
mt.push(macAppMenu);
|
||||||
|
}
|
||||||
|
|
||||||
const fileMenu: MenuItemConstructorOptions = {
|
const fileMenu: MenuItemConstructorOptions = {
|
||||||
label: isMac ? app.getName() : "File",
|
label: "File",
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Add Cluster',
|
label: 'Add Cluster',
|
||||||
@ -51,25 +104,20 @@ export function buildMenu(windowManager: WindowManager) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]),
|
]),
|
||||||
{ type: 'separator' },
|
...ignoreOnMac([
|
||||||
{
|
|
||||||
label: 'Preferences',
|
|
||||||
click() {
|
|
||||||
navigate(preferencesURL())
|
|
||||||
}
|
|
||||||
},
|
|
||||||
...macOnly([
|
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{ role: 'services' },
|
{
|
||||||
|
label: 'Preferences',
|
||||||
|
click() {
|
||||||
|
navigate(preferencesURL())
|
||||||
|
}
|
||||||
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{ role: 'hide' },
|
{ role: 'quit' }
|
||||||
{ role: 'hideOthers' },
|
])
|
||||||
{ role: 'unhide' },
|
|
||||||
]),
|
|
||||||
{ type: 'separator' },
|
|
||||||
{ role: 'quit' }
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
mt.push(fileMenu)
|
||||||
|
|
||||||
const editMenu: MenuItemConstructorOptions = {
|
const editMenu: MenuItemConstructorOptions = {
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
@ -85,7 +133,7 @@ export function buildMenu(windowManager: WindowManager) {
|
|||||||
{ role: 'selectAll' },
|
{ role: 'selectAll' },
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
mt.push(editMenu)
|
||||||
const viewMenu: MenuItemConstructorOptions = {
|
const viewMenu: MenuItemConstructorOptions = {
|
||||||
label: 'View',
|
label: 'View',
|
||||||
submenu: [
|
submenu: [
|
||||||
@ -128,16 +176,11 @@ export function buildMenu(windowManager: WindowManager) {
|
|||||||
{ role: 'togglefullscreen' }
|
{ role: 'togglefullscreen' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
mt.push(viewMenu)
|
||||||
|
|
||||||
const helpMenu: MenuItemConstructorOptions = {
|
const helpMenu: MenuItemConstructorOptions = {
|
||||||
role: 'help',
|
role: 'help',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
|
||||||
label: "What's new?",
|
|
||||||
click() {
|
|
||||||
navigate(whatsNewURL())
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: "License",
|
label: "License",
|
||||||
click: async () => {
|
click: async () => {
|
||||||
@ -157,27 +200,23 @@ export function buildMenu(windowManager: WindowManager) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "About Lens",
|
label: "What's new?",
|
||||||
click(menuItem: MenuItem, browserWindow: BrowserWindow) {
|
click() {
|
||||||
const appInfo = [
|
navigate(whatsNewURL())
|
||||||
`${appName}: ${app.getVersion()}`,
|
},
|
||||||
`Electron: ${process.versions.electron}`,
|
},
|
||||||
`Chrome: ${process.versions.chrome}`,
|
...ignoreOnMac([
|
||||||
`Copyright 2020 Lakend Labs, Inc.`,
|
{
|
||||||
]
|
label: "About Lens",
|
||||||
dialog.showMessageBoxSync(browserWindow, {
|
click(menuItem: MenuItem, browserWindow: BrowserWindow) {
|
||||||
title: `${isWindows ? " ".repeat(2) : ""}${appName}`,
|
showAbout(browserWindow)
|
||||||
type: "info",
|
}
|
||||||
buttons: ["Close"],
|
|
||||||
message: `Lens`,
|
|
||||||
detail: appInfo.join("\r\n")
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
])
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
Menu.setApplicationMenu(Menu.buildFromTemplate([
|
mt.push(helpMenu)
|
||||||
fileMenu, editMenu, viewMenu, helpMenu
|
|
||||||
]));
|
Menu.setApplicationMenu(Menu.buildFromTemplate(mt));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user