only refresh if plugin has a menu.js

This commit is contained in:
Araxeus
2021-04-01 19:21:21 +03:00
parent adc0d145c3
commit 02d45bed74
2 changed files with 8 additions and 8 deletions

15
menu.js
View File

@ -7,7 +7,7 @@ const is = require("electron-is");
const { getAllPlugins } = require("./plugins/utils"); const { getAllPlugins } = require("./plugins/utils");
const config = require("./config"); const config = require("./config");
const pluginEnabledMenu = (win, plugin, label = "") => ({ const pluginEnabledMenu = (win, plugin, label = "", hasSubmenu=false) => ({
label: label || plugin, label: label || plugin,
type: "checkbox", type: "checkbox",
checked: config.plugins.isEnabled(plugin), checked: config.plugins.isEnabled(plugin),
@ -17,7 +17,9 @@ const pluginEnabledMenu = (win, plugin, label = "") => ({
} else { } else {
config.plugins.disable(plugin); config.plugins.disable(plugin);
} }
this.setApplicationMenu(win); if(hasSubmenu) {
this.setApplicationMenu(win);
}
}, },
}); });
@ -28,16 +30,15 @@ const mainMenuTemplate = (win) => [
...getAllPlugins().map((plugin) => { ...getAllPlugins().map((plugin) => {
const pluginPath = path.join(__dirname, "plugins", plugin, "menu.js"); const pluginPath = path.join(__dirname, "plugins", plugin, "menu.js");
if (!config.plugins.isEnabled(plugin)) {
return pluginEnabledMenu(win, plugin);
}
if (existsSync(pluginPath)) { if (existsSync(pluginPath)) {
if (!config.plugins.isEnabled(plugin)) {
return pluginEnabledMenu(win, plugin, "", true);
}
const getPluginMenu = require(pluginPath); const getPluginMenu = require(pluginPath);
return { return {
label: plugin, label: plugin,
submenu: [ submenu: [
pluginEnabledMenu(win, plugin, "Enabled"), pluginEnabledMenu(win, plugin, "Enabled", true),
...getPluginMenu(win, config.plugins.getOptions(plugin), () => ...getPluginMenu(win, config.plugins.getOptions(plugin), () =>
module.exports.setApplicationMenu(win) module.exports.setApplicationMenu(win)
), ),

View File

@ -22,7 +22,6 @@ let win;
let done = false; let done = false;
module.exports = winImport => { module.exports = winImport => {
//override menu template for custom menu
win = winImport; win = winImport;
// css for custom scrollbar + disable drag area(was causing bugs) // css for custom scrollbar + disable drag area(was causing bugs)
injectCSS(win.webContents, path.join(__dirname, 'style.css')); injectCSS(win.webContents, path.join(__dirname, 'style.css'));