1
0
Fork 0
mirror of https://github.com/HamletDuFromage/aio-switch-updater.git synced 2024-11-24 18:42:05 +00:00
AIO-switch-updater/source/changelog_page.cpp
2021-04-30 23:33:36 +02:00

173 lines
No EOL
8.7 KiB
C++

#include "changelog_page.hpp"
namespace i18n = brls::i18n;
using namespace i18n::literals;
ChangelogPage::ChangelogPage() : AppletFrame(true, true)
{
this->setTitle("menus/changelog/changelog"_i18n);
list = new brls::List();
std::vector<std::string> verTitles;
std::string change;
std::vector<std::string> changes;
verTitles.push_back("v1.0.1");
changes.push_back("\uE016 Added dialogue box asking about ini files.\n\uE016 Fixed update app link when not connected to the internet.\n\uE016 Minor fixes here and there.");
verTitles.push_back("v1.0.2");
changes.push_back("\uE016 Fixed .ini files being handled poorly when installing sigpatches. Now prompts the user if they want to replace hetake_ipl.ini.");
verTitles.push_back("v1.0.3");
changes.push_back("\uE016 Fixed progress bar sometimes being stuck when extracting.");
verTitles.push_back("v1.1.0");
changes.push_back("\uE016 Added an option to download payloads to '/bootloader/payloads'.\n\uE016 Cleaned up some stuff, made .ini overwriting cleaner.\n");
verTitles.push_back("v1.1.1");
changes.push_back("\uE016 Added some safety checks before downloading/extracting.\n\uE016 Added the possibility to copy a payload to '/atmosphere/reboot_payload.bin'\n\uE016 Added changelog in 'Tools'\n");
verTitles.push_back("v1.1.2" );
changes.push_back("\uE016 Added GUI to disable cheat updates for specific titles.");
verTitles.push_back("v1.1.3");
changes.push_back("\uE016 Now displays the latest installed cheat version.\n\uE016 Now warns in the app title if a new update is available.");
verTitles.push_back("v1.2.3");
changes.push_back("\uE016 Now multilingual (thanks to 'github.com/tiansongyu').\n\uE016 Chinese and French are currently supported.");
verTitles.push_back("v1.2.1");
changes.push_back("\uE016 Added option to set a payload to /bootloader/update.bin");
verTitles.push_back("v1.2.2");
changes.push_back("\uE016 Added japanese localisation (thanks to github.com/yyoossk).");
verTitles.push_back("v1.2.4");
changes.push_back("\uE016 Fixed app self-update");
verTitles.push_back("v1.2.5");
changes.push_back("\uE016 Improved japanese translation");
verTitles.push_back("v1.2.6");
changes.push_back("\uE016 Added spanish translation (thanks to 'https://github.com/sergiou87'");
verTitles.push_back("v1.3.0");
changes.push_back("\uE016 Added back the ability to update CFWs");
verTitles.push_back("v1.3.1");
changes.push_back("\uE016 Small fixes for bugs causing hangs.");
verTitles.push_back("v1.3.2");
changes.push_back("\uE016 Added ability to change the internet color of Pro Controllers.\n\uE016 Added the ability to preserve specific files when updating.\n\uE016 Added the ability to clean up downloaded archives.");
verTitles.push_back("v1.4.0");
changes.push_back("\uE016 Added possibility to use pre-set network settings. Add your own in `config/aio-switch-updater/internet.json.\n\uE016 Added web browser.");
verTitles.push_back("v1.4.1");
changes.push_back("\uE016 Fixed misleading display in internet settings page.");
verTitles.push_back("v1.4.2");
changes.push_back("\uE016 (hopefully) fixed unreliable copy of payloads.");
verTitles.push_back("v1.4.3");
changes.push_back("\uE016 Fixed switch not rebooting to hekate payload after updating.");
verTitles.push_back("v1.5.0");
changes.push_back("\uE016 Overhauled the app update feature.");
verTitles.push_back("v1.5.1");
changes.push_back("\uE016 A few graphical tweaks.");
verTitles.push_back("v1.5.2");
changes.push_back("\uE016 Added support for Traditional Chinese (thanks to 'https://github.com/qazrfv1234')");
verTitles.push_back("v2.0.0");
changes.push_back("\uE016 Added ability to download cheatslips cheats.\n\uE016 Added way to toggle out tabs.\n\uE016 Various code improvements.");
verTitles.push_back("v2.0.1");
changes.push_back("\uE016 Fixed a bug not letting the user click no when asked if they want to install hekate.\n\uE016 Correct a bunch of typos.");
verTitles.push_back("v2.1.0");
changes.push_back("\uE016 Switched to a better way to get links.");
verTitles.push_back("v2.1.1");
changes.push_back("\uE016 Added a friendly reminder to reboot for new sigpatches to apply.\n\uE016 Changed the cheatslips cheatsheet view.");
verTitles.push_back("v2.1.2");
changes.push_back("\uE016 Fixed wronge hekate link.");
verTitles.push_back("v2.2.0");
changes.push_back("\uE016 For cheatslips.com, the build ID of a running game will now be fetched, allowing you to access cheatsheets even if the build ID isn't listed in the versions database.");
verTitles.push_back("v2.2.1");
changes.push_back("\uE016 Fixed non Atmosphere CFW being wrongly categorised as ams.");
verTitles.push_back("v2.3.0");
changes.push_back("\uE016 Added possibility to copy a list of files to custom locations. This may come in handy for trinket/esoteric bootloader users.\n\uE016 Added warning screen on launch.\n\uE016 Few UI tweaks.\n\uE016 Traditional Chinese translation updated (qazrfv1234)");
verTitles.push_back("v2.3.1");
changes.push_back("\uE016 Files for batch copy are now copied according to the json order (formerly alphabetical order).");
verTitles.push_back("v2.3.2");
changes.push_back("\uE016 Fixed batch copy not copying :^)");
verTitles.push_back("v2.3.3");
changes.push_back("\uE016 Hide unsupported features for Mariko Switches");
verTitles.push_back("v2.3.4");
changes.push_back("\uE016 Minor fixes, refactored old switch-cheats updater code and changed way to detect CFW");
verTitles.push_back("v2.4.0");
changes.push_back("\uE016 Added option to extract the entire gbatemp cheats archive.\n\uE016 Shortened load times.\n\uE016 Added German localisation (thanks to github.com/Slluxx).\n\uE016 Added option to disable sysmodules prior to updating.\n\uE016 Improved Japanese localisation (thanks to github.com/yyoossk).\n\uE016 Added current AMS version display.");
verTitles.push_back("v2.4.1");
changes.push_back("\uE016 Added information about download progress.");
verTitles.push_back("v2.4.2");
changes.push_back("\uE016 Added option to manually change language.\n\uE016 Fixed broken strings.\n\uE016 Few visual tweaks.");
verTitles.push_back("v2.4.3");
changes.push_back("\uE016 Added way to select system default in language selection.\n\uE016 Display local IP in internet settings.\n\uE016 Added Polish localisation (thanks to https://github.com/teddy74eva).\n\uE016 Updated Traditional Chinese localisation (thanks to https://github.com/qazrfv1234).\n\uE016 Minor code changes.");
verTitles.push_back("v2.4.4");
changes.push_back("\uE016 Significantly reduced time to retrieve build IDs.\n\uE016 Updated Polish localisation (thanks to https://github.com/teddy74eva).");
verTitles.push_back("v2.4.5-fix_ams");
changes.push_back("\uE016 Atmosphère 0.19+ support. Note that this version assumes your switch is running Atmosphère. I should fix this soon, but if you're on SXOS, please stay on 2.4.4.");
verTitles.push_back("v2.4.6");
changes.push_back("\uE016 Added back support for SXOS. \uE016 Removed dialogue asking to update Hekate if downloading DeepSea.\uE016 Fixed incorrect description in inject payload menu.");
verTitles.push_back("v2.4.7");
changes.push_back("\uE016 Fixed app only working on 0.19 AMS.\uE016 Proper replacement of stratosphere.romfs when updating.");
verTitles.push_back("v2.4.8");
changes.push_back("\uE016 Fixed crashes when trying to focus empty lists (typically when in airplane mode).");
verTitles.push_back("v2.4.9");
changes.push_back("\uE016 Fixed some read-only files not being properly extracted thus preventing updating.");
for(int i = verTitles.size() -1 ; i >= 0; i--){
listItem = new brls::ListItem(verTitles[i]);
change = changes[i];
listItem->getClickEvent()->subscribe([&, change](brls::View* view){
brls::Dialog* dialog = new brls::Dialog(change);
brls::GenericEvent::Callback callback = [dialog](brls::View* view) {
dialog->close();
};
dialog->addButton("menus/common/ok"_i18n, callback);
dialog->setCancelable(true);
dialog->open();
});
list->addView(listItem);
}
this->setContentView(list);
}
void ChangelogPage::ShowChangelogContent(const std::string version, const std::string content) {
listItem = new brls::ListItem(version);
listItem->getClickEvent()->subscribe([&, content](brls::View* view) {
brls::AppletFrame* appView = new brls::AppletFrame(true, true);
brls::PopupFrame::open(version, appView, "", "");
});
list->addView(listItem);
}