From ee181c011dc2f5446d28ffeafdc25a9830931b28 Mon Sep 17 00:00:00 2001 From: rashevskyv Date: Tue, 28 Sep 2021 15:03:32 +0200 Subject: [PATCH] Add more granular hide tabs capabilities https://github.com/HamletDuFromage/aio-switch-updater/pull/130 --- include/hide_tabs_page.hpp | 12 ++++++++- resources/i18n/en-US/menus.json | 3 ++- source/hide_tabs_page.cpp | 43 ++++++++++++++++++++++++++++++++- source/tools_tab.cpp | 2 +- 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/include/hide_tabs_page.hpp b/include/hide_tabs_page.hpp index 83980da..f2a708f 100644 --- a/include/hide_tabs_page.hpp +++ b/include/hide_tabs_page.hpp @@ -9,11 +9,21 @@ private: brls::Label* label; brls::ToggleListItem* about; brls::ToggleListItem* ams; + brls::ToggleListItem* atmosphereentries; brls::ToggleListItem* cfws; brls::ToggleListItem* sigpatches; brls::ToggleListItem* fws; brls::ToggleListItem* cheats; + brls::ToggleListItem* jccolor; + brls::ToggleListItem* pccolor; + brls::ToggleListItem* downloadpayload; + brls::ToggleListItem* rebootpayload; + brls::ToggleListItem* netsettings; + brls::ToggleListItem* browser; + brls::ToggleListItem* move; + brls::ToggleListItem* cleanup; + brls::ToggleListItem* language; public: HideTabsPage(); -}; \ No newline at end of file +}; diff --git a/resources/i18n/en-US/menus.json b/resources/i18n/en-US/menus.json index 32f96de..6af69e4 100644 --- a/resources/i18n/en-US/menus.json +++ b/resources/i18n/en-US/menus.json @@ -139,7 +139,8 @@ }, "hide": { "title": "Hide tabs", - "desc": "Hide tabs from the main menu" + "desc": "Hide tabs from the main menu", + "update_ams_deepsea": "Atmosphere and DeepSea downloads" }, "tools": { "cheats": "Cheats menu", diff --git a/source/hide_tabs_page.cpp b/source/hide_tabs_page.cpp index 96329d6..fc6af57 100644 --- a/source/hide_tabs_page.cpp +++ b/source/hide_tabs_page.cpp @@ -41,17 +41,58 @@ HideTabsPage::HideTabsPage() : AppletFrame(true, true) cheats = new brls::ToggleListItem("menus/main/download_cheats"_i18n, util::getBoolValue(hideStatus, "cheats")); list->addView(cheats); + jccolor = new brls::ToggleListItem("menus/tools/joy_cons"_i18n, util::getBoolValue(hideStatus, "jccolor")); + list->addView(jccolor); + + pccolor = new brls::ToggleListItem("menus/tools/pro_cons"_i18n, util::getBoolValue(hideStatus, "pccolor")); + list->addView(pccolor); + + downloadpayload = new brls::ToggleListItem("menus/tools/dl_payloads"_i18n, util::getBoolValue(hideStatus, "downloadpayload")); + list->addView(downloadpayload); + + rebootpayload = new brls::ToggleListItem("menus/tools/inject_payloads"_i18n, util::getBoolValue(hideStatus, "rebootpayload")); + list->addView(rebootpayload); + + netsettings = new brls::ToggleListItem("menus/tools/internet_settings"_i18n, util::getBoolValue(hideStatus, "netsettings")); + list->addView(netsettings); + + browser = new brls::ToggleListItem("menus/tools/browser"_i18n, util::getBoolValue(hideStatus, "browser")); + list->addView(browser); + + move = new brls::ToggleListItem("menus/tools/batch_copy"_i18n, util::getBoolValue(hideStatus, "move")); + list->addView(move); + + cleanup = new brls::ToggleListItem("menus/tools/clean_up"_i18n, util::getBoolValue(hideStatus, "cleanup")); + list->addView(cleanup); + + language = new brls::ToggleListItem("menus/tools/language"_i18n, util::getBoolValue(hideStatus, "language")); + list->addView(language); + + atmosphereentries = new brls::ToggleListItem("menus/hide/update_ams_deepsea"_i18n, util::getBoolValue(hideStatus, "atmosphereentries")); + list->addView(atmosphereentries); + list->registerAction("menus/cheats/exclude_titles_save"_i18n, brls::Key::B, [this] { json updatedStatus = json::object(); updatedStatus["about"] = about->getToggleState(); updatedStatus["atmosphere"] = ams->getToggleState(); + updatedStatus["atmosphereentries"] = atmosphereentries->getToggleState(); updatedStatus["cfw"] = cfws->getToggleState(); updatedStatus["sigpatches"] = sigpatches->getToggleState(); updatedStatus["firmwares"] = fws->getToggleState(); updatedStatus["cheats"] = cheats->getToggleState(); + updatedStatus["jccolor"] = jccolor->getToggleState(); + updatedStatus["pccolor"] = pccolor->getToggleState(); + updatedStatus["downloadpayload"] = downloadpayload->getToggleState(); + updatedStatus["rebootpayload"] = rebootpayload->getToggleState(); + updatedStatus["netsettings"] = netsettings->getToggleState(); + updatedStatus["browser"] = browser->getToggleState(); + updatedStatus["move"] = move->getToggleState(); + updatedStatus["cleanup"] = cleanup->getToggleState(); + updatedStatus["language"] = language->getToggleState(); + fs::writeJsonToFile(updatedStatus, HIDE_TABS_JSON); brls::Application::popView(); return true; }); this->setContentView(list); -} \ No newline at end of file +} diff --git a/source/tools_tab.cpp b/source/tools_tab.cpp index 1a3cc75..6a523f2 100644 --- a/source/tools_tab.cpp +++ b/source/tools_tab.cpp @@ -239,6 +239,6 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload if (!util::getBoolValue(hideStatus, "move")) this->addView(move); if (!util::getBoolValue(hideStatus, "cleanup")) this->addView(cleanUp); if (!util::getBoolValue(hideStatus, "language")) this->addView(language); - if (!util::getBoolValue(hideStatus, "hidetabs")) this->addView(hideTabs); + this->addView(hideTabs); this->addView(changelog); }