mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 03:11:46 +00:00
Add option to menu to render without roles
This commit is contained in:
52
menu.js
52
menu.js
@ -20,7 +20,7 @@ const pluginEnabledMenu = (plugin, label = "") => ({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const mainMenuTemplate = (win) => [
|
const mainMenuTemplate = (win, withRoles = true) => [
|
||||||
{
|
{
|
||||||
label: "Plugins",
|
label: "Plugins",
|
||||||
submenu: [
|
submenu: [
|
||||||
@ -191,14 +191,48 @@ const mainMenuTemplate = (win) => [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "View",
|
label: "View",
|
||||||
submenu: [
|
submenu: withRoles
|
||||||
{ role: "reload" },
|
? [
|
||||||
{ role: "forceReload" },
|
{ role: "reload" },
|
||||||
{ type: "separator" },
|
{ role: "forceReload" },
|
||||||
{ role: "zoomIn" },
|
{ type: "separator" },
|
||||||
{ role: "zoomOut" },
|
{ role: "zoomIn" },
|
||||||
{ role: "resetZoom" },
|
{ role: "zoomOut" },
|
||||||
],
|
{ role: "resetZoom" },
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
label: "Reload",
|
||||||
|
click: () => {
|
||||||
|
win.webContents.reload();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Force Reload",
|
||||||
|
click: () => {
|
||||||
|
win.webContents.reloadIgnoringCache();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ type: "separator" },
|
||||||
|
{
|
||||||
|
label: "Zoom In",
|
||||||
|
click: () => {
|
||||||
|
win.webContents.setZoomLevel(win.webContents.getZoomLevel() + 1);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Zoom Out",
|
||||||
|
click: () => {
|
||||||
|
win.webContents.setZoomLevel(win.webContents.getZoomLevel() - 1);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Reset Zoom",
|
||||||
|
click: () => {
|
||||||
|
win.webContents.setZoomLevel(0);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Navigation",
|
label: "Navigation",
|
||||||
|
|||||||
@ -9,7 +9,7 @@ var { mainMenuTemplate } = require("../../menu");
|
|||||||
const originTemplate = mainMenuTemplate;
|
const originTemplate = mainMenuTemplate;
|
||||||
mainMenuTemplate = function (winHook) {
|
mainMenuTemplate = function (winHook) {
|
||||||
//get template
|
//get template
|
||||||
let template = originTemplate(winHook);
|
let template = originTemplate(winHook, false);
|
||||||
//fix checkbox and roles
|
//fix checkbox and roles
|
||||||
fixMenu(template);
|
fixMenu(template);
|
||||||
//return as normal
|
//return as normal
|
||||||
@ -67,42 +67,9 @@ function fixMenu(template) {
|
|||||||
checkCheckbox(itemClicked);
|
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) {
|
function checkCheckbox(item) {
|
||||||
//check item
|
//check item
|
||||||
item.checked = !item.checked;
|
item.checked = !item.checked;
|
||||||
|
|||||||
Reference in New Issue
Block a user