1
0
Fork 0
mirror of https://github.com/HamletDuFromage/aio-switch-updater.git synced 2024-11-08 11:31:43 +00:00
AIO-switch-updater/source/hide_tabs_page.cpp

80 lines
2.6 KiB
C++
Raw Normal View History

#include "hide_tabs_page.hpp"
2021-02-10 16:28:47 +00:00
#include "json.hpp"
#include "constants.hpp"
#include "utils.hpp"
2021-02-10 16:28:47 +00:00
#include <fstream>
namespace i18n = brls::i18n;
using namespace i18n::literals;
using json = nlohmann::json;
HideTabsPage::HideTabsPage() : AppletFrame(true, true) {
2021-03-10 20:54:17 +00:00
this->setTitle("menus/hide/title"_i18n);
list = new brls::List();
label = new brls::Label(
brls::LabelStyle::DESCRIPTION,
2021-03-10 20:54:17 +00:00
"menus/hide/desc"_i18n,
true
);
list->addView(label);
json hideStatus = util::parseJsonFile(HIDE_TABS_JSON);
bool status = false;
if(hideStatus.find("about") != hideStatus.end()) {
status = hideStatus["about"];
}
2021-03-01 18:19:17 +00:00
about = new brls::ToggleListItem("menus/main/about"_i18n, status);
list->addView(about);
status = false;
if(hideStatus.find("atmosphere") != hideStatus.end()) {
status = hideStatus["atmosphere"];
}
2021-03-01 18:19:17 +00:00
ams = new brls::ToggleListItem("menus/main/update_ams"_i18n, status);
list->addView(ams);
status = false;
if(hideStatus.find("cfw") != hideStatus.end()) {
status = hideStatus["cfw"];
}
2021-03-01 18:19:17 +00:00
cfws = new brls::ToggleListItem("menus/main/update_cfw"_i18n, status);
list->addView(cfws);
status = false;
if(hideStatus.find("sigpatches") != hideStatus.end()) {
status = hideStatus["sigpatches"];
}
2021-03-01 18:19:17 +00:00
sigpatches = new brls::ToggleListItem("menus/main/update_sigpatches"_i18n, status);
list->addView(sigpatches);
status = false;
if(hideStatus.find("firmwares") != hideStatus.end()) {
status = hideStatus["firmwares"];
}
2021-03-01 18:19:17 +00:00
fws = new brls::ToggleListItem("menus/main/download_firmware"_i18n, status);
list->addView(fws);
status = false;
if(hideStatus.find("cheats") != hideStatus.end()) {
status = hideStatus["cheats"];
}
2021-03-01 18:19:17 +00:00
cheats = new brls::ToggleListItem("menus/main/download_cheats"_i18n, status);
list->addView(cheats);
2021-03-10 20:54:17 +00:00
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["cfw"] = cfws->getToggleState();
updatedStatus["sigpatches"] = sigpatches->getToggleState();
updatedStatus["firmwares"] = fws->getToggleState();
updatedStatus["cheats"] = cheats->getToggleState();
std::ofstream out(HIDE_TABS_JSON);
out << updatedStatus.dump(4);
out.close();
brls::Application::popView();
return true;
});
this->setContentView(list);
}