mirror of
https://github.com/HamletDuFromage/aio-switch-updater.git
synced 2025-01-01 12:16:02 +00:00
Small UX tweaks
This commit is contained in:
parent
c3fd0c2726
commit
62b0a162be
17 changed files with 50 additions and 80 deletions
|
@ -24,6 +24,7 @@ protected:
|
||||||
brls::ListItem* del;
|
brls::ListItem* del;
|
||||||
uint64_t tid = 0;
|
uint64_t tid = 0;
|
||||||
std::string bid = "";
|
std::string bid = "";
|
||||||
|
std::string name;
|
||||||
u32 version = 0;
|
u32 version = 0;
|
||||||
|
|
||||||
DownloadCheatsPage(uint64_t tid, const std::string& name);
|
DownloadCheatsPage(uint64_t tid, const std::string& name);
|
||||||
|
@ -32,6 +33,7 @@ protected:
|
||||||
void GetVersion();
|
void GetVersion();
|
||||||
void GetBuildIDFromFile();
|
void GetBuildIDFromFile();
|
||||||
void WriteCheats(const std::string& cheatContent);
|
void WriteCheats(const std::string& cheatContent);
|
||||||
|
void AddCheatsfileListItem();
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7c6ed9fae4f14f3bf5b31e53d57e2c230bd5fccc
|
Subproject commit b055712a92a176258dcabc516ce1056bdf3a4730
|
|
@ -64,7 +64,6 @@
|
||||||
"dl_payloads": "Payloads herunterladen",
|
"dl_payloads": "Payloads herunterladen",
|
||||||
"select": " Wähle ein Payload zum neustarten aus.",
|
"select": " Wähle ein Payload zum neustarten aus.",
|
||||||
"not_found": "Konnte keinen Downloadlink finden. Stelle sicher, dass deine Switch Internetzugriff hat.\nWenn das Problem bestehen bleibt, öffne bitte ein issue auf Github.",
|
"not_found": "Konnte keinen Downloadlink finden. Stelle sicher, dass deine Switch Internetzugriff hat.\nWenn das Problem bestehen bleibt, öffne bitte ein issue auf Github.",
|
||||||
"reboot_title": "Neustart Menü",
|
|
||||||
"set_reboot_payload": "Setze als reboot_payload.bin",
|
"set_reboot_payload": "Setze als reboot_payload.bin",
|
||||||
"set_update_bin": "Setze als /bootloader/update.bin",
|
"set_update_bin": "Setze als /bootloader/update.bin",
|
||||||
"copy_success": "Erfolgreich kopiert '",
|
"copy_success": "Erfolgreich kopiert '",
|
||||||
|
|
|
@ -45,7 +45,8 @@
|
||||||
"not_found": "No proper cheat codes could be found for this game",
|
"not_found": "No proper cheat codes could be found for this game",
|
||||||
"show_existing": "Show existing",
|
"show_existing": "Show existing",
|
||||||
"delete_cheats": "Delete cheats for this game",
|
"delete_cheats": "Delete cheats for this game",
|
||||||
"deletion_error": "Couldn't delete the cheat files for game with id:\n{}"
|
"deletion_error": "Couldn't delete the cheat files for game with id:\n{}",
|
||||||
|
"show_cheat_files": "Show all cheat files"
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
"downloading": "Downloading…",
|
"downloading": "Downloading…",
|
||||||
|
@ -78,7 +79,6 @@
|
||||||
"dl_payloads": "Download payloads",
|
"dl_payloads": "Download payloads",
|
||||||
"select": " Select a payload to reboot to.",
|
"select": " Select a payload to reboot to.",
|
||||||
"not_found": "Could not find a download link, make sure the Switch has access to the internet.\nIf this problem persists, please open an issue on Github.",
|
"not_found": "Could not find a download link, make sure the Switch has access to the internet.\nIf this problem persists, please open an issue on Github.",
|
||||||
"reboot_title": "Reboot menu",
|
|
||||||
"set_reboot_payload": "Set as reboot_payload.bin",
|
"set_reboot_payload": "Set as reboot_payload.bin",
|
||||||
"set_update_bin": "Set as /bootloader/update.bin",
|
"set_update_bin": "Set as /bootloader/update.bin",
|
||||||
"copy_success": "Successfully copied '",
|
"copy_success": "Successfully copied '",
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
"dl_payloads": "Descargar payloads",
|
"dl_payloads": "Descargar payloads",
|
||||||
"select": " Selecciona el payload al que reiniciar.",
|
"select": " Selecciona el payload al que reiniciar.",
|
||||||
"not_found": "No se pudo encontrar un enlace de descarga, asegúrate de que tu Switch tiene acceso a internet.\nSi el problema persiste, por favor abre un issue en Github.",
|
"not_found": "No se pudo encontrar un enlace de descarga, asegúrate de que tu Switch tiene acceso a internet.\nSi el problema persiste, por favor abre un issue en Github.",
|
||||||
"reboot_title": "Menú de reinicio",
|
|
||||||
"set_reboot_payload": "Poner como reboot_payload.bin",
|
"set_reboot_payload": "Poner como reboot_payload.bin",
|
||||||
"set_update_bin": "Poner como /bootloader/update.bin",
|
"set_update_bin": "Poner como /bootloader/update.bin",
|
||||||
"copy_success": "Éxito al copiar '",
|
"copy_success": "Éxito al copiar '",
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
"dl_payloads": "Télécharger des payloads",
|
"dl_payloads": "Télécharger des payloads",
|
||||||
"select": "Selectionner un payload à injecter.",
|
"select": "Selectionner un payload à injecter.",
|
||||||
"not_found": "Impossible de trouver un lien de téléchargement, assurez vous que la Switch soit connectée à internet.\nSi ce problème persiste, veuillez ouvrir une issue sur GitHub.",
|
"not_found": "Impossible de trouver un lien de téléchargement, assurez vous que la Switch soit connectée à internet.\nSi ce problème persiste, veuillez ouvrir une issue sur GitHub.",
|
||||||
"reboot_title": "Menu des payloads",
|
|
||||||
"set_reboot_payload": "Déf comme reboot_payload.bin",
|
"set_reboot_payload": "Déf comme reboot_payload.bin",
|
||||||
"set_update_bin": "Déf comme bootloader/update.bin",
|
"set_update_bin": "Déf comme bootloader/update.bin",
|
||||||
"copy_success": "Copié avec succès '",
|
"copy_success": "Copié avec succès '",
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
"dl_payloads": "Scarica payloads",
|
"dl_payloads": "Scarica payloads",
|
||||||
"select": " Seleziona un payload da riavviare.",
|
"select": " Seleziona un payload da riavviare.",
|
||||||
"not_found": "Non riesco a trova un link di download, accertati che la Switch abbia accesso a internet.\nSe il problema persiste, apri una issue su Github.",
|
"not_found": "Non riesco a trova un link di download, accertati che la Switch abbia accesso a internet.\nSe il problema persiste, apri una issue su Github.",
|
||||||
"reboot_title": "Menu di riavvio",
|
|
||||||
"set_reboot_payload": "Imposta come reboot_payload.bin",
|
"set_reboot_payload": "Imposta come reboot_payload.bin",
|
||||||
"set_update_bin": "Imposta come /bootloader/update.bin",
|
"set_update_bin": "Imposta come /bootloader/update.bin",
|
||||||
"copy_success": "Copiato con successo '",
|
"copy_success": "Copiato con successo '",
|
||||||
|
|
|
@ -76,7 +76,6 @@
|
||||||
"dl_payloads": "ペイロードをダウンロード",
|
"dl_payloads": "ペイロードをダウンロード",
|
||||||
"select": " 再起動するペイロードを選択します。",
|
"select": " 再起動するペイロードを選択します。",
|
||||||
"not_found": "ダウンロードリンクが見つかりませんでした。スイッチがインターネットにアクセスできることを確認してください。\nこの問題が解決しない場合は、Githubで問題を開いてください。",
|
"not_found": "ダウンロードリンクが見つかりませんでした。スイッチがインターネットにアクセスできることを確認してください。\nこの問題が解決しない場合は、Githubで問題を開いてください。",
|
||||||
"reboot_title": "メニューを再起動",
|
|
||||||
"set_reboot_payload": "reboot_payload.binにセットする",
|
"set_reboot_payload": "reboot_payload.binにセットする",
|
||||||
"set_update_bin": "/bootloader/update.binにセットする",
|
"set_update_bin": "/bootloader/update.binにセットする",
|
||||||
"copy_success": "コピー完了 '",
|
"copy_success": "コピー完了 '",
|
||||||
|
|
|
@ -64,7 +64,6 @@
|
||||||
"dl_payloads": "Pobierz payloady",
|
"dl_payloads": "Pobierz payloady",
|
||||||
"select": " Wybierz payload do ponownego uruchomienia.",
|
"select": " Wybierz payload do ponownego uruchomienia.",
|
||||||
"not_found": "Nie można było uzyskać linku pobierania. Upewnij się, że Switch ma połączenie z internetem.\nJeśli problem nie ustąpi, utwórz nowy problem na Githubie.",
|
"not_found": "Nie można było uzyskać linku pobierania. Upewnij się, że Switch ma połączenie z internetem.\nJeśli problem nie ustąpi, utwórz nowy problem na Githubie.",
|
||||||
"reboot_title": "Menu ponownego uruchomienia",
|
|
||||||
"set_reboot_payload": "Ustaw jako reboot_payload.bin",
|
"set_reboot_payload": "Ustaw jako reboot_payload.bin",
|
||||||
"set_update_bin": "Ustaw jako /bootloader/update.bin",
|
"set_update_bin": "Ustaw jako /bootloader/update.bin",
|
||||||
"copy_success": "Skopiowano pomyślnie '",
|
"copy_success": "Skopiowano pomyślnie '",
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
"dl_payloads": "Baixar payloads",
|
"dl_payloads": "Baixar payloads",
|
||||||
"select": " Selecione a payload que deseja.",
|
"select": " Selecione a payload que deseja.",
|
||||||
"not_found": "Não foi possível encontrar um link de download, certifique-se de que seu Switch tenha acesso à Internet.\nSe o problema persistir, abra um 'issue' no Github.",
|
"not_found": "Não foi possível encontrar um link de download, certifique-se de que seu Switch tenha acesso à Internet.\nSe o problema persistir, abra um 'issue' no Github.",
|
||||||
"reboot_title": "Menu de reinicio",
|
|
||||||
"set_reboot_payload": "Colocar como reboot_payload.bin",
|
"set_reboot_payload": "Colocar como reboot_payload.bin",
|
||||||
"set_update_bin": "Colocar como /bootloader/update.bin",
|
"set_update_bin": "Colocar como /bootloader/update.bin",
|
||||||
"copy_success": "Cópia realizada '",
|
"copy_success": "Cópia realizada '",
|
||||||
|
|
|
@ -44,7 +44,6 @@
|
||||||
"dl_payloads": "下载注入程序",
|
"dl_payloads": "下载注入程序",
|
||||||
"select": "选择一个注入文件重启.",
|
"select": "选择一个注入文件重启.",
|
||||||
"not_found": "如果点击后界面没有反应,请确认switch是否连接网络\n如果检查后问题依然存在,请到github上给我提交issue",
|
"not_found": "如果点击后界面没有反应,请确认switch是否连接网络\n如果检查后问题依然存在,请到github上给我提交issue",
|
||||||
"reboot_title": "重启菜单",
|
|
||||||
"set_reboot_payload": "设置 reboot_payload.bin",
|
"set_reboot_payload": "设置 reboot_payload.bin",
|
||||||
"set_update_bin": "设置 bootloader/update.bin",
|
"set_update_bin": "设置 bootloader/update.bin",
|
||||||
"copy_success": "成功复制 '",
|
"copy_success": "成功复制 '",
|
||||||
|
|
|
@ -78,7 +78,6 @@
|
||||||
"dl_payloads": "下載注入檔案",
|
"dl_payloads": "下載注入檔案",
|
||||||
"select": " 選擇重開機時的注入檔案",
|
"select": " 選擇重開機時的注入檔案",
|
||||||
"not_found": "無法使用下載連結,請檢查Switch是否可正常存取網路連線。\n如果網路正常仍無法使用,請使用Github提出問題來進行回報。",
|
"not_found": "無法使用下載連結,請檢查Switch是否可正常存取網路連線。\n如果網路正常仍無法使用,請使用Github提出問題來進行回報。",
|
||||||
"reboot_title": "重開機選單",
|
|
||||||
"set_reboot_payload": "設定為 reboot_payload.bin",
|
"set_reboot_payload": "設定為 reboot_payload.bin",
|
||||||
"set_update_bin": "設定為 /bootloader/update.bin",
|
"set_update_bin": "設定為 /bootloader/update.bin",
|
||||||
"copy_success": "成功複製 '",
|
"copy_success": "成功複製 '",
|
||||||
|
|
|
@ -105,15 +105,15 @@ namespace show_cheats {
|
||||||
}
|
}
|
||||||
} // namespace show_cheats
|
} // namespace show_cheats
|
||||||
|
|
||||||
DownloadCheatsPage::DownloadCheatsPage(uint64_t tid, const std::string& name) : AppletFrame(true, true), tid(tid)
|
DownloadCheatsPage::DownloadCheatsPage(uint64_t tid, const std::string& name) : AppletFrame(true, true), tid(tid), name(name)
|
||||||
{
|
{
|
||||||
this->list = new brls::List();
|
this->list = new brls::List();
|
||||||
this->GetVersion();
|
this->GetVersion();
|
||||||
this->GetBuildID();
|
this->GetBuildID();
|
||||||
this->setTitle(name);
|
this->setTitle(this->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, name] { // TODO: figure out why that doesn't show up for empty lists
|
this->brls::AppletFrame::registerAction("menus/cheats/show_existing"_i18n, brls::Key::X, [this] {
|
||||||
show_cheats::ShowCheatSheet(this->tid, this->bid, name);
|
show_cheats::ShowCheatSheet(this->tid, this->bid, this->name);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
this->rebuildHints();
|
this->rebuildHints();
|
||||||
|
@ -168,24 +168,29 @@ void DownloadCheatsPage::GetBuildIDFromFile()
|
||||||
|
|
||||||
void DownloadCheatsPage::WriteCheats(const std::string& cheatContent)
|
void DownloadCheatsPage::WriteCheats(const std::string& cheatContent)
|
||||||
{
|
{
|
||||||
std::string path = util::getContentsPath();
|
std::string path = util::getContentsPath() + util::formatApplicationId(this->tid) + "/cheats/";
|
||||||
std::string tidstr = util::formatApplicationId(this->tid);
|
|
||||||
path += tidstr + "/cheats/";
|
|
||||||
fs::createTree(path);
|
fs::createTree(path);
|
||||||
path += this->bid + ".txt";
|
std::ofstream cheatFile(path + this->bid + ".txt", std::ios::app);
|
||||||
std::ofstream cheatFile;
|
|
||||||
cheatFile.open(path, std::ios::app);
|
|
||||||
cheatFile << "\n\n"
|
cheatFile << "\n\n"
|
||||||
<< cheatContent;
|
<< cheatContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DownloadCheatsPage::AddCheatsfileListItem()
|
||||||
|
{
|
||||||
|
brls::ListItem* item = new brls::ListItem("menus/cheats/show_cheat_files"_i18n);
|
||||||
|
item->getClickEvent()->subscribe([this](brls::View* view) {
|
||||||
|
show_cheats::ShowCheatFiles(this->tid, this->name);
|
||||||
|
});
|
||||||
|
this->list->addView(item);
|
||||||
|
}
|
||||||
|
|
||||||
DownloadCheatsPage_CheatSlips::DownloadCheatsPage_CheatSlips(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name)
|
DownloadCheatsPage_CheatSlips::DownloadCheatsPage_CheatSlips(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name)
|
||||||
{
|
{
|
||||||
label = new brls::Label(
|
this->label = new brls::Label(
|
||||||
brls::LabelStyle::DESCRIPTION,
|
brls::LabelStyle::DESCRIPTION,
|
||||||
"menus/cheats/cheatslips_dl"_i18n + "\n\uE016 Build ID: " + this->bid,
|
"menus/cheats/cheatslips_dl"_i18n + "\n\uE016 Build ID: " + this->bid,
|
||||||
true);
|
true);
|
||||||
list->addView(label);
|
this->list->addView(this->label);
|
||||||
|
|
||||||
if (this->bid != "") {
|
if (this->bid != "") {
|
||||||
std::vector<std::string> headers = {"accept: application/json"};
|
std::vector<std::string> headers = {"accept: application/json"};
|
||||||
|
@ -194,38 +199,30 @@ DownloadCheatsPage_CheatSlips::DownloadCheatsPage_CheatSlips(uint64_t tid, const
|
||||||
if (cheatsInfo.find("cheats") != cheatsInfo.end()) {
|
if (cheatsInfo.find("cheats") != cheatsInfo.end()) {
|
||||||
for (const auto& p : cheatsInfo.at("cheats").items()) {
|
for (const auto& p : cheatsInfo.at("cheats").items()) {
|
||||||
json cheat = p.value();
|
json cheat = p.value();
|
||||||
try {
|
listItem = new brls::ToggleListItem(GetCheatsTitle(cheat), 0, "", "\uE016", "o");
|
||||||
listItem = new ::brls::ToggleListItem(GetCheatsTitle(cheat), 0, "", "\uE016", "o");
|
this->listItem->registerAction("menus/cheats/cheatslips_see_more"_i18n, brls::Key::Y, [this, cheat] {
|
||||||
} catch (const std::out_of_range& e) {
|
|
||||||
//Empty titles
|
|
||||||
continue;
|
|
||||||
} catch (...) {
|
|
||||||
//Something else went wrong
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
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"));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
toggles.push_back(std::make_pair(listItem, cheat.at("id")));
|
this->toggles.push_back(std::make_pair(listItem, cheat.at("id")));
|
||||||
list->addView(listItem);
|
list->addView(listItem);
|
||||||
}
|
}
|
||||||
if (list->getViewsCount() > 1)
|
if (this->list->getViewsCount() > 1)
|
||||||
list->addView(new brls::ListItemGroupSpacing(true));
|
this->list->addView(new brls::ListItemGroupSpacing(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
label = new brls::Label(
|
this->label = new brls::Label(
|
||||||
brls::LabelStyle::REGULAR,
|
brls::LabelStyle::REGULAR,
|
||||||
"menus/cheats/bid_not_found"_i18n,
|
"menus/cheats/bid_not_found"_i18n,
|
||||||
true);
|
true);
|
||||||
list->addView(label);
|
this->list->addView(label);
|
||||||
}
|
}
|
||||||
|
|
||||||
list->registerAction((this->bid != "") ? "menus/cheats/cheatslips_dl_cheats"_i18n : "brls/hints/back"_i18n, brls::Key::B, [this] {
|
this->list->registerAction((this->bid != "") ? "menus/cheats/cheatslips_dl_cheats"_i18n : "brls/hints/back"_i18n, brls::Key::B, [this] {
|
||||||
std::vector<int> ids;
|
std::vector<int> ids;
|
||||||
for (auto& e : toggles) {
|
for (auto& e : toggles) {
|
||||||
if (e.first->getToggleState()) {
|
if (e.first->getToggleState()) {
|
||||||
|
@ -298,7 +295,7 @@ DownloadCheatsPage_CheatSlips::DownloadCheatsPage_CheatSlips(uint64_t tid, const
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
this->AddCheatsfileListItem();
|
||||||
this->setContentView(list);
|
this->setContentView(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,7 +304,7 @@ std::string DownloadCheatsPage_CheatSlips::GetCheatsTitle(json cheat)
|
||||||
std::string res = "";
|
std::string res = "";
|
||||||
if (cheat.find("titles") != cheat.end()) {
|
if (cheat.find("titles") != cheat.end()) {
|
||||||
for (auto& p : cheat.at("titles")) {
|
for (auto& p : cheat.at("titles")) {
|
||||||
res += ".at(" + p.get<std::string>() + ")" + " - ";
|
res += "[" + p.get<std::string>() + "]" + " - ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
@ -317,13 +314,13 @@ void DownloadCheatsPage_CheatSlips::ShowCheatsContent(nlohmann::ordered_json tit
|
||||||
{
|
{
|
||||||
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
|
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
|
||||||
brls::List* list = new brls::List();
|
brls::List* list = new brls::List();
|
||||||
brls::ListItem* listItem;
|
brls::ListItem* titlesItem;
|
||||||
for (auto& p : titles) {
|
for (auto& p : titles) {
|
||||||
listItem = new brls::ListItem(p.get<std::string>());
|
titlesItem = new brls::ListItem(p.get<std::string>());
|
||||||
listItem->registerAction("", brls::Key::A, [this] {
|
titlesItem->registerAction("", brls::Key::A, [this] {
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
list->addView(listItem);
|
list->addView(titlesItem);
|
||||||
}
|
}
|
||||||
appView->setContentView(list);
|
appView->setContentView(list);
|
||||||
brls::PopupFrame::open("menus/cheats/sheet_content"_i18n, appView, "", "");
|
brls::PopupFrame::open("menus/cheats/sheet_content"_i18n, appView, "", "");
|
||||||
|
@ -331,11 +328,11 @@ void DownloadCheatsPage_CheatSlips::ShowCheatsContent(nlohmann::ordered_json tit
|
||||||
|
|
||||||
DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name)
|
DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name)
|
||||||
{
|
{
|
||||||
label = new brls::Label(
|
this->label = new brls::Label(
|
||||||
brls::LabelStyle::DESCRIPTION,
|
brls::LabelStyle::DESCRIPTION,
|
||||||
fmt::format("menus/cheats/gbatemp_dl"_i18n, this->bid),
|
fmt::format("menus/cheats/gbatemp_dl"_i18n, this->bid),
|
||||||
true);
|
true);
|
||||||
list->addView(label);
|
this->list->addView(label);
|
||||||
|
|
||||||
if (this->bid != "") {
|
if (this->bid != "") {
|
||||||
nlohmann::ordered_json cheatsJson;
|
nlohmann::ordered_json cheatsJson;
|
||||||
|
@ -343,7 +340,7 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
|
||||||
if (cheatsJson.find(this->bid) != cheatsJson.end()) {
|
if (cheatsJson.find(this->bid) != cheatsJson.end()) {
|
||||||
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"));
|
this->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")));
|
||||||
|
@ -355,9 +352,9 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
|
||||||
dialog->open();
|
dialog->open();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
list->addView(listItem);
|
this->list->addView(listItem);
|
||||||
}
|
}
|
||||||
list->addView(new brls::ListItemGroupSpacing(true));
|
this->list->addView(new brls::ListItemGroupSpacing(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,6 +365,6 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
|
||||||
true);
|
true);
|
||||||
list->addView(label);
|
list->addView(label);
|
||||||
}
|
}
|
||||||
|
this->AddCheatsfileListItem();
|
||||||
this->setContentView(list);
|
this->setContentView(this->list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "download.hpp"
|
#include "download.hpp"
|
||||||
|
#include "current_cfw.hpp"
|
||||||
#include "fs.hpp"
|
#include "fs.hpp"
|
||||||
#include "main_frame.hpp"
|
#include "main_frame.hpp"
|
||||||
#include "progress_event.hpp"
|
#include "progress_event.hpp"
|
||||||
|
@ -79,7 +80,7 @@ namespace extract {
|
||||||
unzipper.extractEntry(entry.name);
|
unzipper.extractEntry(entry.name);
|
||||||
if (entry.name.substr(0, 13) == "hekate_ctcaer") {
|
if (entry.name.substr(0, 13) == "hekate_ctcaer") {
|
||||||
fs::copyFile("/" + entry.name, UPDATE_BIN_PATH);
|
fs::copyFile("/" + entry.name, UPDATE_BIN_PATH);
|
||||||
if (util::showDialogBox(fmt::format("menus/utils/set_hekate_reboot_payload"_i18n, UPDATE_BIN_PATH, REBOOT_PAYLOAD_PATH), "menus/common/yes"_i18n, "menus/common/no"_i18n) == 0) {
|
if (CurrentCfw::running_cfw == CFW::ams && util::showDialogBox(fmt::format("menus/utils/set_hekate_reboot_payload"_i18n, UPDATE_BIN_PATH, REBOOT_PAYLOAD_PATH), "menus/common/yes"_i18n, "menus/common/no"_i18n) == 0) {
|
||||||
fs::copyFile(UPDATE_BIN_PATH, REBOOT_PAYLOAD_PATH);
|
fs::copyFile(UPDATE_BIN_PATH, REBOOT_PAYLOAD_PATH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@ void ListDownloadTab::setDescription(contentType type)
|
||||||
description->setText("menus/main/cheats_text"_i18n + this->currentCheatsVer);
|
description->setText("menus/main/cheats_text"_i18n + this->currentCheatsVer);
|
||||||
break;
|
break;
|
||||||
case contentType::payloads:
|
case contentType::payloads:
|
||||||
description->setText("menus/main/payloads_label"_i18n);
|
description->setText(fmt::format("menus/main/payloads_label"_i18n, BOOTLOADER_PL_PATH));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -9,7 +9,9 @@ using namespace i18n::literals;
|
||||||
|
|
||||||
PayloadPage::PayloadPage() : AppletFrame(true, true)
|
PayloadPage::PayloadPage() : AppletFrame(true, true)
|
||||||
{
|
{
|
||||||
this->setTitle("menus/payloads/reboot_title"_i18n);
|
this->updateActionHint(brls::Key::B, "");
|
||||||
|
this->updateActionHint(brls::Key::PLUS, "");
|
||||||
|
|
||||||
list = new brls::List();
|
list = new brls::List();
|
||||||
label = new brls::Label(
|
label = new brls::Label(
|
||||||
brls::LabelStyle::DESCRIPTION,
|
brls::LabelStyle::DESCRIPTION,
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "changelog_page.hpp"
|
#include "changelog_page.hpp"
|
||||||
#include "cheats_page.hpp"
|
#include "cheats_page.hpp"
|
||||||
#include "confirm_page.hpp"
|
#include "confirm_page.hpp"
|
||||||
/* #include "download_payload_page.hpp" */
|
|
||||||
#include "extract.hpp"
|
#include "extract.hpp"
|
||||||
#include "fs.hpp"
|
#include "fs.hpp"
|
||||||
#include "hide_tabs_page.hpp"
|
#include "hide_tabs_page.hpp"
|
||||||
|
@ -65,33 +64,12 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
});
|
});
|
||||||
PCcolor->setHeight(LISTITEM_HEIGHT);
|
PCcolor->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
/* downloadPayload = new brls::ListItem("menus/tools/dl_payloads"_i18n + std::string(BOOTLOADER_PL_PATH));
|
|
||||||
downloadPayload->getClickEvent()->subscribe([&, payloads](brls::View* view) {
|
|
||||||
brls::Application::pushView(new DownloadPayloadPage(payloads));
|
|
||||||
});
|
|
||||||
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::PopupFrame::open("menus/tools/inject_payloads"_i18n, new PayloadPage(), "", "");
|
||||||
});
|
});
|
||||||
rebootPayload->setHeight(LISTITEM_HEIGHT);
|
rebootPayload->setHeight(LISTITEM_HEIGHT);
|
||||||
|
|
||||||
/* ntcp = new brls::ListItem("menus/ntcp"_i18n);
|
|
||||||
ntcp->getClickEvent()->subscribe([](brls::View* view){
|
|
||||||
std::string res = syncTime();
|
|
||||||
brls::Dialog* dialog = new brls::Dialog(res);
|
|
||||||
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
|
|
||||||
dialog->close();
|
|
||||||
};
|
|
||||||
dialog->addButton("menus/common/ok"_i18n, callback);
|
|
||||||
dialog->setCancelable(true);
|
|
||||||
dialog->open();
|
|
||||||
|
|
||||||
});
|
|
||||||
ntcp->setHeight(LISTITEM_HEIGHT);
|
|
||||||
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(), "", "");
|
||||||
|
@ -232,7 +210,6 @@ ToolsTab::ToolsTab(const std::string& tag, const nlohmann::ordered_json& payload
|
||||||
if (!util::getBoolValue(hideStatus, "cheats")) this->addView(cheats);
|
if (!util::getBoolValue(hideStatus, "cheats")) this->addView(cheats);
|
||||||
if (!util::getBoolValue(hideStatus, "jccolor")) this->addView(JCcolor);
|
if (!util::getBoolValue(hideStatus, "jccolor")) this->addView(JCcolor);
|
||||||
if (!util::getBoolValue(hideStatus, "pccolor")) this->addView(PCcolor);
|
if (!util::getBoolValue(hideStatus, "pccolor")) this->addView(PCcolor);
|
||||||
/* if (!util::getBoolValue(hideStatus, "downloadpayload")) this->addView(downloadPayload); */
|
|
||||||
if (erista && !util::getBoolValue(hideStatus, "rebootpayload")) this->addView(rebootPayload);
|
if (erista && !util::getBoolValue(hideStatus, "rebootpayload")) this->addView(rebootPayload);
|
||||||
if (!util::getBoolValue(hideStatus, "netsettings")) this->addView(netSettings);
|
if (!util::getBoolValue(hideStatus, "netsettings")) this->addView(netSettings);
|
||||||
if (!util::getBoolValue(hideStatus, "browser")) this->addView(browser);
|
if (!util::getBoolValue(hideStatus, "browser")) this->addView(browser);
|
||||||
|
|
Loading…
Reference in a new issue