mirror of
https://github.com/HamletDuFromage/aio-switch-updater.git
synced 2024-11-24 10:32:03 +00:00
show cheatsheet for the right BID in download cheats page, code clean up
This commit is contained in:
parent
4304dff045
commit
86d0a2fddb
14 changed files with 95 additions and 74 deletions
2
.vscode/c_cpp_properties.json
vendored
2
.vscode/c_cpp_properties.json
vendored
|
@ -16,7 +16,7 @@
|
||||||
],
|
],
|
||||||
"compilerPath": "${DEVKITPRO}/devkitA64/bin/aarch64-none-elf-g++",
|
"compilerPath": "${DEVKITPRO}/devkitA64/bin/aarch64-none-elf-g++",
|
||||||
"cStandard": "c11",
|
"cStandard": "c11",
|
||||||
"cppStandard": "c++17",
|
"cppStandard": "c++20",
|
||||||
"intelliSenseMode": "gcc-x64"
|
"intelliSenseMode": "gcc-x64"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -9,7 +9,9 @@
|
||||||
namespace show_cheats {
|
namespace show_cheats {
|
||||||
|
|
||||||
void ShowCheatFiles(uint64_t tid, const std::string& name);
|
void ShowCheatFiles(uint64_t tid, const std::string& name);
|
||||||
bool CreateCheatList(const std::filesystem::path& path, brls::TabFrame** appView);
|
void ShowCheatSheet(u64 tid, const std::string& bid, const std::string& name);
|
||||||
|
bool CreateCheatList(const std::filesystem::path& path, brls::List** cheatsList);
|
||||||
|
void NoCheatsFoundPopup();
|
||||||
|
|
||||||
} // namespace show_cheats
|
} // namespace show_cheats
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ JCPage::JCPage() : AppletFrame(true, true)
|
||||||
list->addView(label);
|
list->addView(label);
|
||||||
|
|
||||||
backup = new brls::ListItem("menus/joy_con/backup"_i18n);
|
backup = new brls::ListItem("menus/joy_con/backup"_i18n);
|
||||||
backup->getClickEvent()->subscribe([&](brls::View* view) {
|
backup->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/joy_con/label"_i18n);
|
stagedFrame->setTitle("menus/joy_con/label"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
@ -35,7 +35,7 @@ JCPage::JCPage() : AppletFrame(true, true)
|
||||||
for (int i = profiles.size() - 1; i >= 0; i--) {
|
for (int i = profiles.size() - 1; i >= 0; i--) {
|
||||||
std::vector<int> value = profiles[i].second;
|
std::vector<int> value = profiles[i].second;
|
||||||
listItem = new brls::ListItem(profiles[i].first);
|
listItem = new brls::ListItem(profiles[i].first);
|
||||||
listItem->getClickEvent()->subscribe([&, value](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&value](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/joy_con/label"_i18n);
|
stagedFrame->setTitle("menus/joy_con/label"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
|
|
@ -16,7 +16,7 @@ PCPage::PCPage() : AppletFrame(true, true)
|
||||||
list->addView(label);
|
list->addView(label);
|
||||||
|
|
||||||
backup = new brls::ListItem("menus/joy_con/backup"_i18n);
|
backup = new brls::ListItem("menus/joy_con/backup"_i18n);
|
||||||
backup->getClickEvent()->subscribe([&](brls::View* view) {
|
backup->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/pro_con/label"_i18n);
|
stagedFrame->setTitle("menus/pro_con/label"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
@ -34,7 +34,7 @@ PCPage::PCPage() : AppletFrame(true, true)
|
||||||
for (int i = profiles.size() - 1; i >= 0; i--) {
|
for (int i = profiles.size() - 1; i >= 0; i--) {
|
||||||
std::vector<int> value = profiles[i].second;
|
std::vector<int> value = profiles[i].second;
|
||||||
listItem = new brls::ListItem(profiles[i].first);
|
listItem = new brls::ListItem(profiles[i].first);
|
||||||
listItem->getClickEvent()->subscribe([&, value](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&value](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/pro_con/label"_i18n);
|
stagedFrame->setTitle("menus/pro_con/label"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
|
|
@ -34,10 +34,10 @@ AmsTab::AmsTab(const nlohmann::json& nxlinks, const bool erista, const bool hide
|
||||||
|
|
||||||
listItem = new brls::ListItem("menus/ams_update/get_custom_deepsea"_i18n);
|
listItem = new brls::ListItem("menus/ams_update/get_custom_deepsea"_i18n);
|
||||||
listItem->setHeight(LISTITEM_HEIGHT);
|
listItem->setHeight(LISTITEM_HEIGHT);
|
||||||
listItem->getClickEvent()->subscribe([&](brls::View* view) {
|
listItem->getClickEvent()->subscribe([this](brls::View* view) {
|
||||||
nlohmann::ordered_json modules;
|
nlohmann::ordered_json modules;
|
||||||
download::getRequest(DEEPSEA_META_JSON, modules);
|
download::getRequest(DEEPSEA_META_JSON, modules);
|
||||||
ShowCustomDeepseaBuilder(modules);
|
this->ShowCustomDeepseaBuilder(modules);
|
||||||
});
|
});
|
||||||
this->addView(listItem);
|
this->addView(listItem);
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ void AmsTab::CreateDownloadItems(const nlohmann::ordered_json& cfw_links, bool h
|
||||||
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
||||||
listItem = new brls::ListItem(link.first);
|
listItem = new brls::ListItem(link.first);
|
||||||
listItem->setHeight(LISTITEM_HEIGHT);
|
listItem->setHeight(LISTITEM_HEIGHT);
|
||||||
listItem->getClickEvent()->subscribe([&, this, text, text_hekate, url, hekate_url, operation, hekate](brls::View* view) {
|
listItem->getClickEvent()->subscribe([this, &text, &text_hekate, &url, &hekate_url, &operation, hekate](brls::View* view) {
|
||||||
if (!erista && !std::filesystem::exists(MARIKO_PAYLOAD_PATH)) {
|
if (!erista && !std::filesystem::exists(MARIKO_PAYLOAD_PATH)) {
|
||||||
brls::Application::crash("menus/errors/mariko_payload_missing"_i18n);
|
brls::Application::crash("menus/errors/mariko_payload_missing"_i18n);
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ void AmsTab::ShowCustomDeepseaBuilder(nlohmann::ordered_json& modules)
|
||||||
"menus/common/off"_i18n);
|
"menus/common/off"_i18n);
|
||||||
}
|
}
|
||||||
name_map.insert(std::pair(module_value.at("displayName"), module.key()));
|
name_map.insert(std::pair(module_value.at("displayName"), module.key()));
|
||||||
deepseaListItem->registerAction("menus/ams_update/show_module_description"_i18n, brls::Key::Y, [this, module_value] {
|
deepseaListItem->registerAction("menus/ams_update/show_module_description"_i18n, brls::Key::Y, [&module_value] {
|
||||||
brls::Dialog* dialog;
|
brls::Dialog* dialog;
|
||||||
dialog = new brls::Dialog(fmt::format("{}:\n{}", module_value.at("repo"), module_value.at("description")));
|
dialog = new brls::Dialog(fmt::format("{}:\n{}", module_value.at("repo"), module_value.at("description")));
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
|
@ -197,7 +197,7 @@ void AmsTab::ShowCustomDeepseaBuilder(nlohmann::ordered_json& modules)
|
||||||
appView->addTab(category.key(), list);
|
appView->addTab(category.key(), list);
|
||||||
}
|
}
|
||||||
|
|
||||||
appView->registerAction("menus/ams_update/download_deepsea_package"_i18n, brls::Key::X, [this, lists, name_map] {
|
appView->registerAction("menus/ams_update/download_deepsea_package"_i18n, brls::Key::X, [this, &lists, &name_map] {
|
||||||
std::set<std::string> desired_modules;
|
std::set<std::string> desired_modules;
|
||||||
for (const auto& list : lists) {
|
for (const auto& list : lists) {
|
||||||
for (size_t i = 0; i < list->getViewsCount(); i++) {
|
for (size_t i = 0; i < list->getViewsCount(); i++) {
|
||||||
|
|
|
@ -84,7 +84,7 @@ void AppPage::CreateDownloadAllButton()
|
||||||
}
|
}
|
||||||
text += url;
|
text += url;
|
||||||
download = new brls::ListItem("menus/cheats/dl_latest"_i18n);
|
download = new brls::ListItem("menus/cheats/dl_latest"_i18n);
|
||||||
download->getClickEvent()->subscribe([&, url, text](brls::View* view) {
|
download->getClickEvent()->subscribe([&url, &text](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/cheats/getting_cheats"_i18n);
|
stagedFrame->setTitle("menus/cheats/getting_cheats"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
@ -167,7 +167,7 @@ void AppPage_CheatSlips::CreateLabel()
|
||||||
|
|
||||||
void AppPage_CheatSlips::DeclareGameListItem(const std::string& name, u64 tid, NsApplicationControlData** controlData)
|
void AppPage_CheatSlips::DeclareGameListItem(const std::string& name, u64 tid, NsApplicationControlData** controlData)
|
||||||
{
|
{
|
||||||
listItem->getClickEvent()->subscribe([&, tid, name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_CheatSlips(tid, name)); });
|
listItem->getClickEvent()->subscribe([tid, &name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_CheatSlips(tid, name)); });
|
||||||
AppPage::DeclareGameListItem(name, tid, controlData);
|
AppPage::DeclareGameListItem(name, tid, controlData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ void AppPage_Gbatemp::CreateLabel()
|
||||||
|
|
||||||
void AppPage_Gbatemp::DeclareGameListItem(const std::string& name, u64 tid, NsApplicationControlData** controlData)
|
void AppPage_Gbatemp::DeclareGameListItem(const std::string& name, u64 tid, NsApplicationControlData** controlData)
|
||||||
{
|
{
|
||||||
listItem->getClickEvent()->subscribe([&, tid, name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_GbaTemp(tid, name)); });
|
listItem->getClickEvent()->subscribe([tid, &name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_GbaTemp(tid, name)); });
|
||||||
AppPage::DeclareGameListItem(name, tid, controlData);
|
AppPage::DeclareGameListItem(name, tid, controlData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,8 +277,8 @@ void AppPage_DownloadedCheats::DeclareGameListItem(const std::string& name, u64
|
||||||
{
|
{
|
||||||
auto tid_str = util::formatApplicationId(tid);
|
auto tid_str = util::formatApplicationId(tid);
|
||||||
if (titles.find(tid_str) != titles.end()) {
|
if (titles.find(tid_str) != titles.end()) {
|
||||||
listItem->getClickEvent()->subscribe([this, tid, name](brls::View* view) { show_cheats::ShowCheatFiles(tid, name); });
|
listItem->getClickEvent()->subscribe([tid, &name](brls::View* view) { show_cheats::ShowCheatFiles(tid, name); });
|
||||||
listItem->registerAction("menus/cheats/delete_cheats"_i18n, brls::Key::Y, [this, tid_str] {
|
listItem->registerAction("menus/cheats/delete_cheats"_i18n, brls::Key::Y, [&tid_str] {
|
||||||
brls::Dialog* dialog = new brls::Dialog(extract::removeCheatsDirectory(fmt::format("{}{}", util::getContentsPath(), tid_str)) ? "menus/common/all_done"_i18n : fmt::format("menus/cheats/deletion_error"_i18n, tid_str));
|
brls::Dialog* dialog = new brls::Dialog(extract::removeCheatsDirectory(fmt::format("{}{}", util::getContentsPath(), tid_str)) ? "menus/common/all_done"_i18n : fmt::format("menus/cheats/deletion_error"_i18n, tid_str));
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
dialog->close();
|
dialog->close();
|
||||||
|
|
|
@ -214,7 +214,7 @@ ChangelogPage::ChangelogPage() : AppletFrame(true, true)
|
||||||
for (int i = verTitles.size() - 1; i >= 0; i--) {
|
for (int i = verTitles.size() - 1; i >= 0; i--) {
|
||||||
listItem = new brls::ListItem(verTitles[i]);
|
listItem = new brls::ListItem(verTitles[i]);
|
||||||
change = changes[i];
|
change = changes[i];
|
||||||
listItem->getClickEvent()->subscribe([&, change](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&change](brls::View* view) {
|
||||||
brls::Dialog* dialog = new brls::Dialog(change);
|
brls::Dialog* dialog = new brls::Dialog(change);
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
dialog->close();
|
dialog->close();
|
||||||
|
@ -231,7 +231,7 @@ ChangelogPage::ChangelogPage() : AppletFrame(true, true)
|
||||||
void ChangelogPage::ShowChangelogContent(const std::string version, const std::string content)
|
void ChangelogPage::ShowChangelogContent(const std::string version, const std::string content)
|
||||||
{
|
{
|
||||||
listItem = new brls::ListItem(version);
|
listItem = new brls::ListItem(version);
|
||||||
listItem->getClickEvent()->subscribe([&, content](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&version, &content](brls::View* view) {
|
||||||
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
|
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
|
||||||
|
|
||||||
brls::PopupFrame::open(version, appView, "", "");
|
brls::PopupFrame::open(version, appView, "", "");
|
||||||
|
|
|
@ -18,20 +18,20 @@ CheatsPage::CheatsPage() : AppletFrame(true, true)
|
||||||
list = new brls::List();
|
list = new brls::List();
|
||||||
|
|
||||||
view = new brls::ListItem("menus/cheats/view"_i18n);
|
view = new brls::ListItem("menus/cheats/view"_i18n);
|
||||||
view->getClickEvent()->subscribe([&](brls::View* view) {
|
view->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new AppPage_DownloadedCheats());
|
brls::Application::pushView(new AppPage_DownloadedCheats());
|
||||||
});
|
});
|
||||||
list->addView(view);
|
list->addView(view);
|
||||||
|
|
||||||
exclude = new brls::ListItem("menus/cheats/exclude"_i18n);
|
exclude = new brls::ListItem("menus/cheats/exclude"_i18n);
|
||||||
exclude->getClickEvent()->subscribe([&](brls::View* view) {
|
exclude->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new AppPage_Exclude());
|
brls::Application::pushView(new AppPage_Exclude());
|
||||||
});
|
});
|
||||||
list->addView(exclude);
|
list->addView(exclude);
|
||||||
|
|
||||||
deleteCheats = new brls::ListItem("menus/cheats/delete_existing"_i18n);
|
deleteCheats = new brls::ListItem("menus/cheats/delete_existing"_i18n);
|
||||||
deleteCheats->getClickEvent()->subscribe([&](brls::View* view) {
|
deleteCheats->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/cheats/delete_all"_i18n);
|
stagedFrame->setTitle("menus/cheats/delete_all"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
new WorkerPage(stagedFrame, "menus/cheats/deleting"_i18n, []() { extract::removeCheats(); }));
|
new WorkerPage(stagedFrame, "menus/cheats/deleting"_i18n, []() { extract::removeCheats(); }));
|
||||||
|
@ -44,7 +44,7 @@ CheatsPage::CheatsPage() : AppletFrame(true, true)
|
||||||
std::string cheatsVer = util::downloadFileToString(CHEATS_URL_VERSION);
|
std::string cheatsVer = util::downloadFileToString(CHEATS_URL_VERSION);
|
||||||
if (cheatsVer != "") {
|
if (cheatsVer != "") {
|
||||||
dlAll = new brls::ListItem("menus/cheats/dl_all"_i18n);
|
dlAll = new brls::ListItem("menus/cheats/dl_all"_i18n);
|
||||||
dlAll->getClickEvent()->subscribe([&, cheatsVer](brls::View* view) {
|
dlAll->getClickEvent()->subscribe([&cheatsVer](brls::View* view) {
|
||||||
std::string url;
|
std::string url;
|
||||||
switch (CurrentCfw::running_cfw) {
|
switch (CurrentCfw::running_cfw) {
|
||||||
case CFW::sxos:
|
case CFW::sxos:
|
||||||
|
|
|
@ -16,6 +16,20 @@ using json = nlohmann::json;
|
||||||
|
|
||||||
namespace show_cheats {
|
namespace show_cheats {
|
||||||
|
|
||||||
|
void ShowCheatSheet(u64 tid, const std::string& bid, const std::string& name)
|
||||||
|
{
|
||||||
|
std::string path = fmt::format("{}{}/cheats/{}.txt", util::getContentsPath(), util::formatApplicationId(tid), bid);
|
||||||
|
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
|
||||||
|
brls::List* cheatsList = new brls::List();
|
||||||
|
if (std::filesystem::exists(path) && CreateCheatList(path, &cheatsList)) {
|
||||||
|
appView->setContentView(cheatsList);
|
||||||
|
brls::PopupFrame::open(name, appView, "");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NoCheatsFoundPopup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ShowCheatFiles(u64 tid, const std::string& name)
|
void ShowCheatFiles(u64 tid, const std::string& name)
|
||||||
{
|
{
|
||||||
std::string path = util::getContentsPath();
|
std::string path = util::getContentsPath();
|
||||||
|
@ -25,29 +39,37 @@ namespace show_cheats {
|
||||||
bool is_populated = false;
|
bool is_populated = false;
|
||||||
if (std::filesystem::exists(path)) {
|
if (std::filesystem::exists(path)) {
|
||||||
for (const auto& cheatFile : std::filesystem::directory_iterator(path)) {
|
for (const auto& cheatFile : std::filesystem::directory_iterator(path)) {
|
||||||
is_populated |= CreateCheatList(cheatFile.path(), &appView);
|
brls::List* cheatsList = new brls::List();
|
||||||
|
is_populated |= CreateCheatList(cheatFile.path(), &cheatsList);
|
||||||
|
if (is_populated) {
|
||||||
|
appView->addTab(util::upperCase(cheatFile.path().stem()), cheatsList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (is_populated) {
|
if (is_populated) {
|
||||||
brls::PopupFrame::open(name, appView, "");
|
brls::PopupFrame::open(name, appView, "");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
brls::Dialog* dialog = new brls::Dialog("menus/cheats/not_found"_i18n);
|
NoCheatsFoundPopup();
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
|
||||||
dialog->close();
|
|
||||||
};
|
|
||||||
dialog->addButton("menus/common/ok"_i18n, callback);
|
|
||||||
dialog->setCancelable(true);
|
|
||||||
dialog->open();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CreateCheatList(const std::filesystem::path& path, brls::TabFrame** appView)
|
void NoCheatsFoundPopup()
|
||||||
|
{
|
||||||
|
brls::Dialog* dialog = new brls::Dialog("menus/cheats/not_found"_i18n);
|
||||||
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
|
dialog->close();
|
||||||
|
};
|
||||||
|
dialog->addButton("menus/common/ok"_i18n, callback);
|
||||||
|
dialog->setCancelable(true);
|
||||||
|
dialog->open();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CreateCheatList(const std::filesystem::path& path, brls::List** cheatsList)
|
||||||
{
|
{
|
||||||
bool res = false;
|
bool res = false;
|
||||||
brls::List* cheatsList = new brls::List();
|
|
||||||
if (extract::isBID(path.filename().stem())) {
|
if (extract::isBID(path.filename().stem())) {
|
||||||
cheatsList->addView(new brls::Label(brls::LabelStyle::DESCRIPTION, fmt::format("menus/cheats/cheatfile_label"_i18n, path.filename().string()), true));
|
(*cheatsList)->addView(new brls::Label(brls::LabelStyle::DESCRIPTION, fmt::format("menus/cheats/cheatfile_label"_i18n, path.filename().string()), true));
|
||||||
|
|
||||||
std::string str;
|
std::string str;
|
||||||
std::regex cheats_expr(R"(\[.+\]|\{.+\})");
|
std::regex cheats_expr(R"(\[.+\]|\{.+\})");
|
||||||
|
@ -56,16 +78,13 @@ namespace show_cheats {
|
||||||
while (std::getline(in, str)) {
|
while (std::getline(in, str)) {
|
||||||
if (str.size() > 0) {
|
if (str.size() > 0) {
|
||||||
if (std::regex_search(str, cheats_expr)) {
|
if (std::regex_search(str, cheats_expr)) {
|
||||||
cheatsList->addView(new brls::ListItem(str));
|
(*cheatsList)->addView(new brls::ListItem(str));
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (res) {
|
|
||||||
(*appView)->addTab(util::upperCase(path.filename().stem()), cheatsList);
|
|
||||||
}
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
} // namespace show_cheats
|
} // namespace show_cheats
|
||||||
|
@ -77,8 +96,8 @@ DownloadCheatsPage::DownloadCheatsPage(uint64_t tid, const std::string& name) :
|
||||||
GetBuildID();
|
GetBuildID();
|
||||||
this->setTitle(name);
|
this->setTitle(name);
|
||||||
this->setFooterText("v" + std::to_string(this->version / 0x10000));
|
this->setFooterText("v" + std::to_string(this->version / 0x10000));
|
||||||
this->registerAction("menus/cheats/show_existing"_i18n, brls::Key::X, [this, tid, name] {
|
this->registerAction("menus/cheats/show_existing"_i18n, brls::Key::X, [this, &name] {
|
||||||
show_cheats::ShowCheatFiles(tid, name);
|
show_cheats::ShowCheatSheet(this->tid, this->bid, name);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -172,7 +191,7 @@ DownloadCheatsPage_CheatSlips::DownloadCheatsPage_CheatSlips(uint64_t tid, const
|
||||||
//Something else went wrong
|
//Something else went wrong
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
listItem->registerAction("menus/cheats/cheatslips_see_more"_i18n, brls::Key::Y, [this, cheat] {
|
listItem->registerAction("menus/cheats/cheatslips_see_more"_i18n, brls::Key::Y, [this, &cheat] {
|
||||||
if (cheat.find("titles") != cheat.end()) {
|
if (cheat.find("titles") != cheat.end()) {
|
||||||
ShowCheatsContent(cheat.at("titles"));
|
ShowCheatsContent(cheat.at("titles"));
|
||||||
}
|
}
|
||||||
|
@ -325,7 +344,7 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
|
||||||
for (const auto& p : cheatsJson[this->bid].items()) {
|
for (const auto& p : cheatsJson[this->bid].items()) {
|
||||||
json cheat = p.value();
|
json cheat = p.value();
|
||||||
listItem = new ::brls::ListItem(cheat.at("title"));
|
listItem = new ::brls::ListItem(cheat.at("title"));
|
||||||
listItem->registerAction("menus/cheats/gbatemp_dl_cheatcode"_i18n, brls::Key::A, [this, cheat] {
|
listItem->registerAction("menus/cheats/gbatemp_dl_cheatcode"_i18n, brls::Key::A, [this, &cheat] {
|
||||||
WriteCheats(cheat.at("content"));
|
WriteCheats(cheat.at("content"));
|
||||||
brls::Dialog* dialog = new brls::Dialog(fmt::format("menus/cheats/gbatemp_dl_successful_dl"_i18n, cheat.at("title")));
|
brls::Dialog* dialog = new brls::Dialog(fmt::format("menus/cheats/gbatemp_dl_successful_dl"_i18n, cheat.at("title")));
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ DownloadPayloadPage::DownloadPayloadPage(const nlohmann::ordered_json& payloads)
|
||||||
std::string path = std::string(BOOTLOADER_PL_PATH) + link.first;
|
std::string path = std::string(BOOTLOADER_PL_PATH) + link.first;
|
||||||
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
||||||
listItem = new brls::ListItem(link.first);
|
listItem = new brls::ListItem(link.first);
|
||||||
listItem->getClickEvent()->subscribe([&, text, url, path](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&text, &url, &path](brls::View* view) {
|
||||||
fs::createTree(BOOTLOADER_PL_PATH);
|
fs::createTree(BOOTLOADER_PL_PATH);
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/tools/getting_payload"_i18n);
|
stagedFrame->setTitle("menus/tools/getting_payload"_i18n);
|
||||||
|
@ -48,7 +48,7 @@ DownloadPayloadPage::DownloadPayloadPage(const nlohmann::ordered_json& payloads)
|
||||||
notFound->setHorizontalAlign(NVG_ALIGN_CENTER);
|
notFound->setHorizontalAlign(NVG_ALIGN_CENTER);
|
||||||
list->addView(notFound);
|
list->addView(notFound);
|
||||||
brls::ListItem* back = new brls::ListItem("menus/common/back"_i18n);
|
brls::ListItem* back = new brls::ListItem("menus/common/back"_i18n);
|
||||||
back->getClickEvent()->subscribe([&](brls::View* view) {
|
back->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::popView();
|
brls::Application::popView();
|
||||||
});
|
});
|
||||||
list->addView(back);
|
list->addView(back);
|
||||||
|
|
|
@ -59,7 +59,7 @@ void ListDownloadTab::createList(contentType type)
|
||||||
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
std::string text("menus/common/download"_i18n + link.first + "menus/common/from"_i18n + url);
|
||||||
listItem = new brls::ListItem(link.first);
|
listItem = new brls::ListItem(link.first);
|
||||||
listItem->setHeight(LISTITEM_HEIGHT);
|
listItem->setHeight(LISTITEM_HEIGHT);
|
||||||
listItem->getClickEvent()->subscribe([&, text, url, title, type](brls::View* view) {
|
listItem->getClickEvent()->subscribe([this, &text, &url, &title, &type](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle(fmt::format("menus/main/getting"_i18n, contentTypeNames[(int)type].data()));
|
stagedFrame->setTitle(fmt::format("menus/main/getting"_i18n, contentTypeNames[(int)type].data()));
|
||||||
stagedFrame->addStage(new ConfirmPage(stagedFrame, text));
|
stagedFrame->addStage(new ConfirmPage(stagedFrame, text));
|
||||||
|
@ -157,7 +157,7 @@ void ListDownloadTab::createCheatSlipItem()
|
||||||
this->size += 1;
|
this->size += 1;
|
||||||
cheatslipsItem = new brls::ListItem("menus/cheats/get_cheatslips"_i18n);
|
cheatslipsItem = new brls::ListItem("menus/cheats/get_cheatslips"_i18n);
|
||||||
cheatslipsItem->setHeight(LISTITEM_HEIGHT);
|
cheatslipsItem->setHeight(LISTITEM_HEIGHT);
|
||||||
cheatslipsItem->getClickEvent()->subscribe([&](brls::View* view) {
|
cheatslipsItem->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
if (std::filesystem::exists(TOKEN_PATH)) {
|
if (std::filesystem::exists(TOKEN_PATH)) {
|
||||||
brls::Application::pushView(new AppPage_CheatSlips());
|
brls::Application::pushView(new AppPage_CheatSlips());
|
||||||
return true;
|
return true;
|
||||||
|
@ -165,8 +165,8 @@ void ListDownloadTab::createCheatSlipItem()
|
||||||
else {
|
else {
|
||||||
std::string usr, pwd;
|
std::string usr, pwd;
|
||||||
//Result rc = swkbdCreate(&kbd, 0);
|
//Result rc = swkbdCreate(&kbd, 0);
|
||||||
brls::Swkbd::openForText([&](std::string text) { usr = text; }, "cheatslips.com e-mail", "", 64, "", 0, "Submit", "cheatslips.com e-mail");
|
brls::Swkbd::openForText([&usr](std::string text) { usr = text; }, "cheatslips.com e-mail", "", 64, "", 0, "Submit", "cheatslips.com e-mail");
|
||||||
brls::Swkbd::openForText([&](std::string text) { pwd = text; }, "cheatslips.com password", "", 64, "", 0, "Submit", "cheatslips.com password", true);
|
brls::Swkbd::openForText([&pwd](std::string text) { pwd = text; }, "cheatslips.com password", "", 64, "", 0, "Submit", "cheatslips.com password", true);
|
||||||
std::string body = "{\"email\":\"" + std::string(usr) + "\",\"password\":\"" + std::string(pwd) + "\"}";
|
std::string body = "{\"email\":\"" + std::string(usr) + "\",\"password\":\"" + std::string(pwd) + "\"}";
|
||||||
nlohmann::ordered_json token;
|
nlohmann::ordered_json token;
|
||||||
download::getRequest(CHEATSLIPS_TOKEN_URL, token,
|
download::getRequest(CHEATSLIPS_TOKEN_URL, token,
|
||||||
|
@ -201,7 +201,7 @@ void ListDownloadTab::creategbatempItem()
|
||||||
this->size += 1;
|
this->size += 1;
|
||||||
gbatempItem = new brls::ListItem("menus/cheats/get_gbatemp"_i18n);
|
gbatempItem = new brls::ListItem("menus/cheats/get_gbatemp"_i18n);
|
||||||
gbatempItem->setHeight(LISTITEM_HEIGHT);
|
gbatempItem->setHeight(LISTITEM_HEIGHT);
|
||||||
gbatempItem->getClickEvent()->subscribe([&](brls::View* view) {
|
gbatempItem->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new AppPage_Gbatemp());
|
brls::Application::pushView(new AppPage_Gbatemp());
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
|
@ -35,7 +35,7 @@ NetPage::NetPage() : AppletFrame(true, true)
|
||||||
label = new brls::Label(brls::LabelStyle::DESCRIPTION, labelText, true);
|
label = new brls::Label(brls::LabelStyle::DESCRIPTION, labelText, true);
|
||||||
list->addView(label);
|
list->addView(label);
|
||||||
cancel = new brls::ListItem("menus/common/go_back"_i18n);
|
cancel = new brls::ListItem("menus/common/go_back"_i18n);
|
||||||
cancel->getClickEvent()->subscribe([&](brls::View* view) { brls::Application::pushView(new MainFrame()); });
|
cancel->getClickEvent()->subscribe([](brls::View* view) { brls::Application::pushView(new MainFrame()); });
|
||||||
list->addView(cancel);
|
list->addView(cancel);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -118,9 +118,9 @@ NetPage::NetPage() : AppletFrame(true, true)
|
||||||
listItem = new brls::ListItem(values["name"]);
|
listItem = new brls::ListItem(values["name"]);
|
||||||
else
|
else
|
||||||
listItem = new brls::ListItem("Unnamed");
|
listItem = new brls::ListItem("Unnamed");
|
||||||
listItem->getClickEvent()->subscribe([&, values](brls::View* view) {
|
listItem->getClickEvent()->subscribe([this, &values](brls::View* view) {
|
||||||
brls::Dialog* dialog = new brls::Dialog(values.dump(0).substr(1, values.dump(0).size() - 2));
|
brls::Dialog* dialog = new brls::Dialog(values.dump(0).substr(1, values.dump(0).size() - 2));
|
||||||
brls::GenericEvent::Callback callbackOk = [&, dialog, values](brls::View* view) {
|
brls::GenericEvent::Callback callbackOk = [this, &dialog, &values](brls::View* view) {
|
||||||
nifmInitialize(NifmServiceType_Admin);
|
nifmInitialize(NifmServiceType_Admin);
|
||||||
NifmNetworkProfileData profile;
|
NifmNetworkProfileData profile;
|
||||||
nifmGetCurrentNetworkProfile(&profile);
|
nifmGetCurrentNetworkProfile(&profile);
|
||||||
|
|
|
@ -20,12 +20,12 @@ PayloadPage::PayloadPage() : AppletFrame(true, true)
|
||||||
for (const auto& payload : payloads) {
|
for (const auto& payload : payloads) {
|
||||||
std::string payload_path = payload;
|
std::string payload_path = payload;
|
||||||
listItem = new brls::ListItem(payload_path);
|
listItem = new brls::ListItem(payload_path);
|
||||||
listItem->getClickEvent()->subscribe([&, payload](brls::View* view) {
|
listItem->getClickEvent()->subscribe([&payload](brls::View* view) {
|
||||||
util::rebootToPayload(payload);
|
util::rebootToPayload(payload);
|
||||||
brls::Application::popView();
|
brls::Application::popView();
|
||||||
});
|
});
|
||||||
if (CurrentCfw::running_cfw == CFW::ams) {
|
if (CurrentCfw::running_cfw == CFW::ams) {
|
||||||
listItem->registerAction("menus/payloads/set_reboot_payload"_i18n, brls::Key::X, [this, payload_path] {
|
listItem->registerAction("menus/payloads/set_reboot_payload"_i18n, brls::Key::X, [&payload_path] {
|
||||||
std::string res1;
|
std::string res1;
|
||||||
if (fs::copyFile(payload_path, REBOOT_PAYLOAD_PATH)) {
|
if (fs::copyFile(payload_path, REBOOT_PAYLOAD_PATH)) {
|
||||||
res1 += "menus/payloads/copy_success"_i18n + payload_path + "menus/payloads/to"_i18n + std::string(REBOOT_PAYLOAD_PATH) + "'.";
|
res1 += "menus/payloads/copy_success"_i18n + payload_path + "menus/payloads/to"_i18n + std::string(REBOOT_PAYLOAD_PATH) + "'.";
|
||||||
|
@ -43,7 +43,7 @@ PayloadPage::PayloadPage() : AppletFrame(true, true)
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
listItem->registerAction("menus/payloads/set_update_bin"_i18n, brls::Key::Y, [this, payload] {
|
listItem->registerAction("menus/payloads/set_update_bin"_i18n, brls::Key::Y, [&payload] {
|
||||||
std::string res2;
|
std::string res2;
|
||||||
if (fs::copyFile(payload, UPDATE_BIN_PATH)) {
|
if (fs::copyFile(payload, UPDATE_BIN_PATH)) {
|
||||||
res2 += "menus/payloads/copy_success"_i18n + payload + "menus/payloads/to"_i18n + std::string(UPDATE_BIN_PATH) + "'.";
|
res2 += "menus/payloads/copy_success"_i18n + payload + "menus/payloads/to"_i18n + std::string(UPDATE_BIN_PATH) + "'.";
|
||||||
|
|
|
@ -30,7 +30,7 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
if (!tag.empty() && tag != AppVersion) {
|
if (!tag.empty() && tag != AppVersion) {
|
||||||
updateApp = new brls::ListItem("menus/tools/update_app"_i18n + tag + ")");
|
updateApp = new brls::ListItem("menus/tools/update_app"_i18n + tag + ")");
|
||||||
std::string text("menus/tools/dl_app"_i18n + std::string(APP_URL));
|
std::string text("menus/tools/dl_app"_i18n + std::string(APP_URL));
|
||||||
updateApp->getClickEvent()->subscribe([&, text, tag](brls::View* view) {
|
updateApp->getClickEvent()->subscribe([&text, &tag](brls::View* view) {
|
||||||
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
brls::StagedAppletFrame* stagedFrame = new brls::StagedAppletFrame();
|
||||||
stagedFrame->setTitle("menus/common/updating"_i18n);
|
stagedFrame->setTitle("menus/common/updating"_i18n);
|
||||||
stagedFrame->addStage(
|
stagedFrame->addStage(
|
||||||
|
@ -48,19 +48,19 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
}
|
}
|
||||||
|
|
||||||
cheats = new brls::ListItem("menus/tools/cheats"_i18n);
|
cheats = new brls::ListItem("menus/tools/cheats"_i18n);
|
||||||
cheats->getClickEvent()->subscribe([&](brls::View* view) {
|
cheats->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new CheatsPage());
|
brls::Application::pushView(new CheatsPage());
|
||||||
});
|
});
|
||||||
cheats->setHeight(LISTITEM_HEIGHT);
|
cheats->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
JCcolor = new brls::ListItem("menus/tools/joy_cons"_i18n);
|
JCcolor = new brls::ListItem("menus/tools/joy_cons"_i18n);
|
||||||
JCcolor->getClickEvent()->subscribe([&](brls::View* view) {
|
JCcolor->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new JCPage());
|
brls::Application::pushView(new JCPage());
|
||||||
});
|
});
|
||||||
JCcolor->setHeight(LISTITEM_HEIGHT);
|
JCcolor->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
PCcolor = new brls::ListItem("menus/tools/pro_cons"_i18n);
|
PCcolor = new brls::ListItem("menus/tools/pro_cons"_i18n);
|
||||||
PCcolor->getClickEvent()->subscribe([&](brls::View* view) {
|
PCcolor->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new PCPage());
|
brls::Application::pushView(new PCPage());
|
||||||
});
|
});
|
||||||
PCcolor->setHeight(LISTITEM_HEIGHT);
|
PCcolor->setHeight(LISTITEM_HEIGHT);
|
||||||
|
@ -72,13 +72,13 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
downloadPayload->setHeight(LISTITEM_HEIGHT); */
|
downloadPayload->setHeight(LISTITEM_HEIGHT); */
|
||||||
|
|
||||||
rebootPayload = new brls::ListItem("menus/tools/inject_payloads"_i18n);
|
rebootPayload = new brls::ListItem("menus/tools/inject_payloads"_i18n);
|
||||||
rebootPayload->getClickEvent()->subscribe([&](brls::View* view) {
|
rebootPayload->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::Application::pushView(new PayloadPage());
|
brls::Application::pushView(new PayloadPage());
|
||||||
});
|
});
|
||||||
rebootPayload->setHeight(LISTITEM_HEIGHT);
|
rebootPayload->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
/* ntcp = new brls::ListItem("menus/ntcp"_i18n);
|
/* ntcp = new brls::ListItem("menus/ntcp"_i18n);
|
||||||
ntcp->getClickEvent()->subscribe([&](brls::View* view){
|
ntcp->getClickEvent()->subscribe([](brls::View* view){
|
||||||
std::string res = syncTime();
|
std::string res = syncTime();
|
||||||
brls::Dialog* dialog = new brls::Dialog(res);
|
brls::Dialog* dialog = new brls::Dialog(res);
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
||||||
|
@ -93,15 +93,15 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
this->addView(ntcp); */
|
this->addView(ntcp); */
|
||||||
|
|
||||||
netSettings = new brls::ListItem("menus/tools/internet_settings"_i18n);
|
netSettings = new brls::ListItem("menus/tools/internet_settings"_i18n);
|
||||||
netSettings->getClickEvent()->subscribe([&](brls::View* view) {
|
netSettings->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::PopupFrame::open("menus/tools/internet_settings"_i18n, new NetPage(), "", "");
|
brls::PopupFrame::open("menus/tools/internet_settings"_i18n, new NetPage(), "", "");
|
||||||
});
|
});
|
||||||
netSettings->setHeight(LISTITEM_HEIGHT);
|
netSettings->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
browser = new brls::ListItem("menus/tools/browser"_i18n);
|
browser = new brls::ListItem("menus/tools/browser"_i18n);
|
||||||
browser->getClickEvent()->subscribe([&](brls::View* view) {
|
browser->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
std::string url;
|
std::string url;
|
||||||
if (brls::Swkbd::openForText([&](std::string text) { url = text; }, "cheatslips.com e-mail", "", 64, "https://duckduckgo.com", 0, "Submit", "https://website.tld")) {
|
if (brls::Swkbd::openForText([&url](std::string text) { url = text; }, "cheatslips.com e-mail", "", 64, "https://duckduckgo.com", 0, "Submit", "https://website.tld")) {
|
||||||
std::string error = "";
|
std::string error = "";
|
||||||
int at = appletGetAppletType();
|
int at = appletGetAppletType();
|
||||||
if (at == AppletType_Application) { // Running as a title
|
if (at == AppletType_Application) { // Running as a title
|
||||||
|
@ -135,7 +135,7 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
browser->setHeight(LISTITEM_HEIGHT);
|
browser->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
move = new brls::ListItem("menus/tools/batch_copy"_i18n);
|
move = new brls::ListItem("menus/tools/batch_copy"_i18n);
|
||||||
move->getClickEvent()->subscribe([&](brls::View* view) {
|
move->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
chdir("/");
|
chdir("/");
|
||||||
std::string error = "";
|
std::string error = "";
|
||||||
if (std::filesystem::exists(COPY_FILES_TXT)) {
|
if (std::filesystem::exists(COPY_FILES_TXT)) {
|
||||||
|
@ -155,7 +155,7 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
move->setHeight(LISTITEM_HEIGHT);
|
move->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
cleanUp = new brls::ListItem("menus/tools/clean_up"_i18n);
|
cleanUp = new brls::ListItem("menus/tools/clean_up"_i18n);
|
||||||
cleanUp->getClickEvent()->subscribe([&](brls::View* view) {
|
cleanUp->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
std::filesystem::remove(AMS_ZIP_PATH);
|
std::filesystem::remove(AMS_ZIP_PATH);
|
||||||
std::filesystem::remove(APP_ZIP_PATH);
|
std::filesystem::remove(APP_ZIP_PATH);
|
||||||
std::filesystem::remove(CFW_ZIP_PATH);
|
std::filesystem::remove(CFW_ZIP_PATH);
|
||||||
|
@ -176,7 +176,7 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
cleanUp->setHeight(LISTITEM_HEIGHT);
|
cleanUp->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
language = new brls::ListItem("menus/tools/language"_i18n);
|
language = new brls::ListItem("menus/tools/language"_i18n);
|
||||||
language->getClickEvent()->subscribe([&](brls::View* view) {
|
language->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
std::vector<std::pair<std::string, std::string>> languages{
|
std::vector<std::pair<std::string, std::string>> languages{
|
||||||
std::make_pair("menus/language/en-US"_i18n, "en-US"),
|
std::make_pair("menus/language/en-US"_i18n, "en-US"),
|
||||||
std::make_pair("menus/language/ja"_i18n, "ja"),
|
std::make_pair("menus/language/ja"_i18n, "ja"),
|
||||||
|
@ -194,17 +194,17 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
brls::List* list = new brls::List();
|
brls::List* list = new brls::List();
|
||||||
brls::ListItem* listItem;
|
brls::ListItem* listItem;
|
||||||
listItem = new brls::ListItem(fmt::format("{} ({})", "menus/language/system_default"_i18n, i18n::getCurrentLocale()));
|
listItem = new brls::ListItem(fmt::format("{} ({})", "menus/language/system_default"_i18n, i18n::getCurrentLocale()));
|
||||||
listItem->registerAction("menus/tools/language"_i18n, brls::Key::A, [this] {
|
listItem->registerAction("menus/tools/language"_i18n, brls::Key::A, [] {
|
||||||
std::filesystem::remove(LANGUAGE_JSON);
|
std::filesystem::remove(LANGUAGE_JSON);
|
||||||
brls::Application::quit();
|
brls::Application::quit();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
list->addView(listItem);
|
list->addView(listItem);
|
||||||
for (auto& l : languages) {
|
for (auto& language : languages) {
|
||||||
listItem = new brls::ListItem(l.first);
|
listItem = new brls::ListItem(language.first);
|
||||||
listItem->registerAction("menus/tools/language"_i18n, brls::Key::A, [this, l] {
|
listItem->registerAction("menus/tools/language"_i18n, brls::Key::A, [&language] {
|
||||||
json updatedLanguage = json::object();
|
json updatedLanguage = json::object();
|
||||||
updatedLanguage["language"] = l.second;
|
updatedLanguage["language"] = language.second;
|
||||||
std::ofstream out(LANGUAGE_JSON);
|
std::ofstream out(LANGUAGE_JSON);
|
||||||
out << updatedLanguage.dump();
|
out << updatedLanguage.dump();
|
||||||
brls::Application::quit();
|
brls::Application::quit();
|
||||||
|
@ -218,13 +218,13 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
language->setHeight(LISTITEM_HEIGHT);
|
language->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
hideTabs = new brls::ListItem("menus/tools/hide_tabs"_i18n);
|
hideTabs = new brls::ListItem("menus/tools/hide_tabs"_i18n);
|
||||||
hideTabs->getClickEvent()->subscribe([&](brls::View* view) {
|
hideTabs->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::PopupFrame::open("menus/tools/hide_tabs"_i18n, new HideTabsPage(), "", "");
|
brls::PopupFrame::open("menus/tools/hide_tabs"_i18n, new HideTabsPage(), "", "");
|
||||||
});
|
});
|
||||||
hideTabs->setHeight(LISTITEM_HEIGHT);
|
hideTabs->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
changelog = new brls::ListItem("menus/tools/changelog"_i18n);
|
changelog = new brls::ListItem("menus/tools/changelog"_i18n);
|
||||||
changelog->getClickEvent()->subscribe([&](brls::View* view) {
|
changelog->getClickEvent()->subscribe([](brls::View* view) {
|
||||||
brls::PopupFrame::open("menus/tools/changelog"_i18n, new ChangelogPage(), "", "");
|
brls::PopupFrame::open("menus/tools/changelog"_i18n, new ChangelogPage(), "", "");
|
||||||
});
|
});
|
||||||
changelog->setHeight(LISTITEM_HEIGHT);
|
changelog->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
Loading…
Reference in a new issue