From 5524a14c871ccf47a2f4237468eb5cdc0c678b21 Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Sat, 3 Apr 2021 19:20:56 +0300 Subject: [PATCH] move advanced options to dedicated submenu + add "Use Proxy" checkbox --- menu.js | 102 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 47 deletions(-) diff --git a/menu.js b/menu.js index 893ae015..c0843247 100644 --- a/menu.js +++ b/menu.js @@ -47,13 +47,6 @@ const mainMenuTemplate = (win) => [ return pluginEnabledMenu(win, plugin); }), - { type: "separator" }, - { - label: "Advanced options", - click: () => { - config.edit(); - }, - }, ], }, { @@ -67,30 +60,6 @@ const mainMenuTemplate = (win) => [ config.set("options.autoUpdates", item.checked); }, }, - { - label: "Disable hardware acceleration", - type: "checkbox", - checked: config.get("options.disableHardwareAcceleration"), - click: (item) => { - config.set("options.disableHardwareAcceleration", item.checked); - }, - }, - { - label: "Restart on config changes", - type: "checkbox", - checked: config.get("options.restartOnConfigChanges"), - click: (item) => { - config.set("options.restartOnConfigChanges", item.checked); - }, - }, - { - label: "Reset App cache when app starts", - type: "checkbox", - checked: config.get("options.autoResetAppCache"), - click: (item) => { - config.set("options.autoResetAppCache", item.checked); - }, - }, { label: "Resume last song when app starts", type: "checkbox", @@ -169,24 +138,63 @@ const mainMenuTemplate = (win) => [ ], }, { type: "separator" }, - { - label: "Toggle DevTools", - // Cannot use "toggleDevTools" role in MacOS - click: () => { - const { webContents } = win; - if (webContents.isDevToolsOpened()) { - webContents.closeDevTools(); - } else { - const devToolsOptions = {}; - webContents.openDevTools(devToolsOptions); - } - }, - }, { label: "Advanced options", - click: () => { - config.edit(); - }, + submenu: [ + { + label: "Use Proxy", + type: "checkbox", + checked: !!config.get("options.proxy"), + click: (item) => { + const value = item.checked? "socks5://127.0.0.1:9999" : ""; + config.set("options.proxy", value); + } + }, + { + label: "Disable hardware acceleration", + type: "checkbox", + checked: config.get("options.disableHardwareAcceleration"), + click: (item) => { + config.set("options.disableHardwareAcceleration", item.checked); + }, + }, + { + label: "Restart on config changes", + type: "checkbox", + checked: config.get("options.restartOnConfigChanges"), + click: (item) => { + config.set("options.restartOnConfigChanges", item.checked); + }, + }, + { + label: "Reset App cache when app starts", + type: "checkbox", + checked: config.get("options.autoResetAppCache"), + click: (item) => { + config.set("options.autoResetAppCache", item.checked); + }, + }, + { type: "separator" }, + { + label: "Toggle DevTools", + // Cannot use "toggleDevTools" role in MacOS + click: () => { + const { webContents } = win; + if (webContents.isDevToolsOpened()) { + webContents.closeDevTools(); + } else { + const devToolsOptions = {}; + webContents.openDevTools(devToolsOptions); + } + }, + }, + { + label: "Edit config.json", + click: () => { + config.edit(); + }, + }, + ] }, ], },