Add option to menu to render without roles

This commit is contained in:
TC
2021-03-31 20:18:20 +02:00
parent 36864b4c2f
commit 400a2a9bab
2 changed files with 44 additions and 43 deletions

View File

@ -9,7 +9,7 @@ var { mainMenuTemplate } = require("../../menu");
const originTemplate = mainMenuTemplate;
mainMenuTemplate = function (winHook) {
//get template
let template = originTemplate(winHook);
let template = originTemplate(winHook, false);
//fix checkbox and roles
fixMenu(template);
//return as normal
@ -67,42 +67,9 @@ function fixMenu(template) {
checkCheckbox(itemClicked);
};
}
//customize roles
else if (item.role != null) {
fixRoles(item)
}
}
}
//custom menu doesn't support roles, so they get injected manually
function fixRoles(MenuItem) {
switch (MenuItem.role) {
case 'reload':
MenuItem.label = 'Reload';
MenuItem.click = () => { win.webContents.reload(); }
break;
case 'forceReload':
MenuItem.label = 'Force Reload';
MenuItem.click = () => { win.webContents.reloadIgnoringCache(); }
break;
case 'zoomIn':
MenuItem.label = 'Zoom In';
MenuItem.click = () => { win.webContents.setZoomLevel(win.webContents.getZoomLevel() + 1); }
break;
case 'zoomOut':
MenuItem.label = 'Zoom Out';
MenuItem.click = () => { win.webContents.setZoomLevel(win.webContents.getZoomLevel() - 1); }
break;
case 'resetZoom':
MenuItem.label = 'Reset Zoom';
MenuItem.click = () => { win.webContents.setZoomLevel(0); }
break;
default:
console.log(`Error fixing MenuRoles: "${MenuItem.role}" was not expected`);
}
delete MenuItem.role;
}
function checkCheckbox(item) {
//check item
item.checked = !item.checked;