1
0
Fork 0
mirror of https://github.com/DarkMatterCore/nxdumptool.git synced 2024-11-22 18:26:39 +00:00

AboutTab: improve scrolling.

This commit is contained in:
Pablo Curiel 2021-06-18 00:47:41 -04:00
parent 601cae399f
commit 18a7fad3bb
3 changed files with 32 additions and 17 deletions

View file

@ -36,7 +36,7 @@ namespace nxdt::views
void onFocusGained(void) override; void onFocusGained(void) override;
public: public:
AboutTabLabel(brls::LabelStyle labelStyle, std::string text, bool center = false, bool multiline = true); AboutTabLabel(brls::LabelStyle labelStyle, std::string text, bool center = false);
}; };
class AboutTab: public brls::List class AboutTab: public brls::List

View file

@ -5,16 +5,30 @@
"dependencies": { "dependencies": {
"header": "Dependencies", "header": "Dependencies",
"value": "\uE016 {0} is powered by Borealis, a hardware-accelerated UI library: {1}.\n\uE016 USB Mass Storage device support is powered by libusbhsfs: {2}.\n\uE016 FatFs is used to mount FAT volumes from the eMMC storage: {3}.\n\uE016 LZ4 is used to decompress NSO binaries: {4}." "line_00": "\uE016 {0} is powered by Borealis, a hardware-accelerated UI library: {1}.",
"line_01": "\uE016 USB Mass Storage device support is powered by libusbhsfs: {0}.",
"line_02": "\uE016 FatFs is used to mount FAT volumes from the eMMC storage: {0}.",
"line_03": "\uE016 LZ4 is used to decompress NSO binaries: {0}."
}, },
"acknowledgments": { "acknowledgments": {
"header": "Acknowledgments", "header": "Acknowledgments",
"value": "\uE016 Switchbrew and libnx contributors.\n\uE016 SciresM, for hactool and Atmosphère-NX.\n\uE016 shchmue, for Lockpick and its runtime key-collection algorithm, as well as helping in reverse engineering tasks.\n\uE016 Adubbz, for Tinfoil and its ES service bindings.\n\uE016 RattletraPM, for the awesome icon.\n\uE016 Whovian9369, for being a key piece throughout the whole development by providing with lots of testing and cool ideas.\n\uE016 0Liam and Shadów, for their tremendous help in understanding Nintendo Switch file and data formats.\n\uE016 The folks from NSWDB.COM and No-Intro.org, for being kind enough to put up public APIs to perform online checksum lookups.\n\uE016 The folks at the nxdumptool Discord server.\n\uE016 The Comfy Boyes, for always being awesome and supportive. You know who you are.\n\uE016 My girlfriend, for always being by my side and motivating me to keep working on all my projects. I love you. \u2665\n\uE016 And, at last but not least, you! Thank you for using my work!" "line_00": "\uE016 Switchbrew and libnx contributors.",
"line_01": "\uE016 SciresM, for hactool and Atmosphère-NX.",
"line_02": "\uE016 shchmue, for Lockpick and its runtime key-collection algorithm, as well as helping in reverse engineering tasks.",
"line_03": "\uE016 Adubbz, for Tinfoil and its ES service bindings.",
"line_04": "\uE016 RattletraPM, for the awesome icon.",
"line_05": "\uE016 Whovian9369, for being a key piece throughout the whole development by providing with lots of testing and cool ideas.",
"line_06": "\uE016 0Liam, Shadów and SimonTime, for their tremendous help in understanding Nintendo Switch file and data formats.",
"line_07": "\uE016 The folks from NSWDB.COM and No-Intro.org, for being kind enough to put up public APIs to perform online checksum lookups.",
"line_08": "\uE016 The folks at the nxdumptool Discord server.",
"line_09": "\uE016 The Comfy Boyes, for always being awesome and supportive. You know who you are.",
"line_10": "\uE016 My girlfriend, for always being by my side and motivating me to keep working on all my projects. I love you. \u2665",
"line_11": "\uE016 And, at last but not least, you! Thank you for using my work!"
}, },
"links": { "links": {
"header": "Additional links and resources", "header": "Additional links and resources",
"value": "\uE016 Discord server: {0}." "line_00": "\uE016 Discord server: {0}."
} }
} }

View file

@ -29,7 +29,7 @@ using namespace i18n::literals; /* For _i18n. */
namespace nxdt::views namespace nxdt::views
{ {
AboutTabLabel::AboutTabLabel(brls::LabelStyle labelStyle, std::string text, bool center, bool multiline) : brls::Label(labelStyle, text, multiline) AboutTabLabel::AboutTabLabel(brls::LabelStyle labelStyle, std::string text, bool center) : brls::Label(labelStyle, text, true)
{ {
if (center) this->setHorizontalAlign(NVG_ALIGN_CENTER); if (center) this->setHorizontalAlign(NVG_ALIGN_CENTER);
} }
@ -48,6 +48,7 @@ namespace nxdt::views
AboutTab::AboutTab(void) : brls::List() AboutTab::AboutTab(void) : brls::List()
{ {
/* Set custom spacing. */
this->setSpacing(this->getSpacing() / 2); this->setSpacing(this->getSpacing() / 2);
this->setMarginBottom(20); this->setMarginBottom(20);
@ -59,28 +60,28 @@ namespace nxdt::views
this->logo->setOpacity(0.3F); this->logo->setOpacity(0.3F);
/* Description. */ /* Description. */
AboutTabLabel* description = new AboutTabLabel(brls::LabelStyle::CRASH, "about_tab/description"_i18n, true); this->addView(new AboutTabLabel(brls::LabelStyle::CRASH, "about_tab/description"_i18n, true));
this->addView(description);
/* Copyright. */ /* Copyright. */
brls::Label* copyright = new brls::Label(brls::LabelStyle::DESCRIPTION, i18n::getStr("about_tab/copyright"_i18n, APP_AUTHOR, GITHUB_REPOSITORY_URL), true); brls::Label *copyright = new brls::Label(brls::LabelStyle::DESCRIPTION, i18n::getStr("about_tab/copyright"_i18n, APP_AUTHOR, GITHUB_REPOSITORY_URL), true);
copyright->setHorizontalAlign(NVG_ALIGN_CENTER); copyright->setHorizontalAlign(NVG_ALIGN_CENTER);
this->addView(copyright); this->addView(copyright);
/* Dependencies. */ /* Dependencies. */
this->addView(new brls::Header("about_tab/dependencies/header"_i18n)); this->addView(new brls::Header("about_tab/dependencies/header"_i18n));
brls::Label* dependencies = new brls::Label(brls::LabelStyle::SMALL, i18n::getStr("about_tab/dependencies/value"_i18n, APP_TITLE, BOREALIS_URL, LIBUSBHSFS_URL, FATFS_URL, LZ4_URL), true); this->addView(new brls::Label(brls::LabelStyle::SMALL, i18n::getStr("about_tab/dependencies/line_00"_i18n, APP_TITLE, BOREALIS_URL), true));
this->addView(dependencies); this->addView(new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr("about_tab/dependencies/line_01"_i18n, LIBUSBHSFS_URL)));
this->addView(new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr("about_tab/dependencies/line_02"_i18n, FATFS_URL)));
this->addView(new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr("about_tab/dependencies/line_03"_i18n, LZ4_URL)));
/* Acknowledgments. */ /* Acknowledgments. */
this->addView(new brls::Header("about_tab/acknowledgments/header"_i18n)); this->addView(new brls::Header("about_tab/acknowledgments/header"_i18n));
AboutTabLabel* acknowledgments = new AboutTabLabel(brls::LabelStyle::SMALL, "about_tab/acknowledgments/value"_i18n); for(int i = 0; i < 8; i++) this->addView(new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr(fmt::format("about_tab/acknowledgments/line_{:02d}", i)), false));
this->addView(acknowledgments); for(int i = 8; i < 12; i++) this->addView(new brls::Label(brls::LabelStyle::SMALL, i18n::getStr(fmt::format("about_tab/acknowledgments/line_{:02d}", i)), true));
/* Additional links and resources. */ /* Additional links and resources. */
this->addView(new brls::Header("about_tab/links/header"_i18n)); this->addView(new brls::Header("about_tab/links/header"_i18n));
AboutTabLabel* links = new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr("about_tab/links/value"_i18n, DISCORD_SERVER_URL)); this->addView(new AboutTabLabel(brls::LabelStyle::SMALL, i18n::getStr("about_tab/links/line_00"_i18n, DISCORD_SERVER_URL)));
this->addView(links);
} }
AboutTab::~AboutTab(void) AboutTab::~AboutTab(void)