From 1090c8e1be196ef5067c7a25a3fdad44042a33ab Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Fri, 28 Feb 2020 10:08:54 -0500 Subject: [PATCH] Adds menu toggle for beta default scripts. --- scripts/defaultScripts.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index 2b91c7cbbd..5f13f25e54 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -54,6 +54,9 @@ if (Window.interstitialModeEnabled) { var MENU_CATEGORY = "Developer > Scripting"; var MENU_ITEM = "Debug defaultScripts.js"; +var MENU_BETA_DEFAULT_SCRIPTS_CATEGORY = "Developer > Scripting"; +var MENU_BETA_DEFAULT_SCRIPTS_ITEM = "Enable Beta Default Scripts"; + var SETTINGS_KEY = '_debugDefaultScriptsIsChecked'; var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked'; var previousSetting = Settings.getValue(SETTINGS_KEY, false); @@ -67,6 +70,14 @@ if (previousSetting === true || previousSetting === 'true') { previousSetting = true; } +if (previousSettingBeta === '' || previousSettingBeta === false || previousSettingBeta === 'false') { + previousSettingBeta = false; +} + +if (previousSettingBeta === true || previousSettingBeta === 'true') { + previousSettingBeta = true; +} + if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_ITEM)) { Menu.addMenuItem({ menuName: MENU_CATEGORY, @@ -76,6 +87,15 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I }); } +if (Menu.menuExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY) && !Menu.menuItemExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM)) { + Menu.addMenuItem({ + menuName: MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, + menuItemName: MENU_BETA_DEFAULT_SCRIPTS_ITEM, + isCheckable: true, + isChecked: previousSettingBeta, + }); +} + function loadSeparateDefaults() { var currentlyRunningScripts = ScriptDiscoveryService.getRunning(); @@ -169,17 +189,28 @@ function menuItemEvent(menuItem) { Settings.setValue(SETTINGS_KEY, false); } Menu.triggerOption("Reload All Scripts"); + } + if (menuItem === MENU_BETA_DEFAULT_SCRIPTS_ITEM) { + var isChecked = Menu.isOptionChecked(MENU_BETA_DEFAULT_SCRIPTS_ITEM); + if (isChecked === true) { + Settings.setValue(SETTINGS_KEY_BETA, true); + } else if (isChecked === false) { + Settings.setValue(SETTINGS_KEY_BETA, false); + } } } -function removeMenuItem() { +function removeMenuItems() { if (!Menu.isOptionChecked(MENU_ITEM)) { Menu.removeMenuItem(MENU_CATEGORY, MENU_ITEM); } + if (!Menu.isOptionChecked(MENU_BETA_DEFAULT_SCRIPTS_ITEM)) { + Menu.removeMenuItem(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM); + } } Script.scriptEnding.connect(function () { - removeMenuItem(); + removeMenuItems(); }); Menu.menuItemEvent.connect(menuItemEvent);