1
0
Fork 0
mirror of https://github.com/HamletDuFromage/aio-switch-updater.git synced 2024-11-09 20:11:48 +00:00
AIO-switch-updater/source/tools_tab.cpp

57 lines
2.2 KiB
C++
Raw Normal View History

2020-09-20 01:21:28 +01:00
#include "tools_tab.hpp"
ToolsTab::ToolsTab(std::string tag) : brls::List()
2020-09-20 01:21:28 +01:00
{
cheats = new brls::ListItem("Cheats menu");
cheats->getClickEvent()->subscribe([&](brls::View* view){
brls::Application::pushView(new CheatsPage());
2020-09-20 01:21:28 +01:00
});
this->addView(cheats);
2020-09-20 01:21:28 +01:00
JCcolor = new brls::ListItem("Change the Joy-Cons color");
JCcolor->getClickEvent()->subscribe([&](brls::View* view){
brls::Application::pushView(new JCPage());
});
this->addView(JCcolor);
downloadPayload = new brls::ListItem("Dowload payloads to " + std::string(BOOTLOADER_PL_PATH));
downloadPayload->getClickEvent()->subscribe([&](brls::View* view){
brls::Application::pushView(new DownloadPayloadPage());
});
this->addView(downloadPayload);
rebootPayload = new brls::ListItem("Inject payload");
rebootPayload->getClickEvent()->subscribe([&](brls::View* view){
brls::Application::pushView(new PayloadPage());
});
this->addView(rebootPayload);
if(!tag.empty() && tag != APP_VERSION){
updateApp = new brls::ListItem("Update the app (v" + tag +")");
std::string text("Downloading:\nAIO-switch-updater\n\nFrom:\n" + std::string(APP_URL));
updateApp->getClickEvent()->subscribe([&, text](brls::View* view) {
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
stagedFrame->setTitle("Updating app");
stagedFrame->addStage(
new ConfirmPage(stagedFrame, text)
);
stagedFrame->addStage(
new WorkerPage(stagedFrame, "Downloading...", [](){downloadArchive(APP_URL, app);})
);
stagedFrame->addStage(
new WorkerPage(stagedFrame, "Extracting....", [](){extractArchive(app);})
);
stagedFrame->addStage(
new ConfirmPage(stagedFrame, "All done!", true)
);
brls::Application::pushView(stagedFrame);
});
this->addView(updateApp);
}
changelog = new brls::ListItem("Changelog");
changelog->getClickEvent()->subscribe([&](brls::View* view){
brls::Application::pushView(new ChangelogPage());
});
this->addView(changelog);
2020-09-20 01:21:28 +01:00
}