Settings: Show a chevron on choices that open another screen

Links to other pages already had one. SettingItem::OpensScreen() gives the same to
choices (and custom items that are choices) that open a full screen, like control
mapping or the savedata manager. Ones that open popups don't get it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-10-26 23:01:21 +01:00
1 parent 7b96bbfbc2
commit 8e72082d3e
7 files changed
+25 -17

No files matched your search

+6 -6
View File
@@ -182,7 +182,7 @@ static void BuildGeneralPage(SettingsPage *page) {
// Experimental, so not translated yet.
page->Setting(&g_Config.bEmulateMediaEngine);
page->Choice("JIT debug tools").OnClick([host](UI::EventParams &e) {
page->Choice("JIT debug tools").OpensScreen().OnClick([host](UI::EventParams &e) {
OnJitDebugTools(host);
});
page->Setting(&g_Config.bShowDeveloperMenu);
@@ -195,7 +195,7 @@ static void BuildGeneralPage(SettingsPage *page) {
page->Header({ I18NCat::MAINSETTINGS, "General" });
page->Bool(&g_Config.bEnableLogging, "Enable Logging").OnChange(&OnLoggingChanged);
page->Choice("Logging Channels").OnClick([host](UI::EventParams &e) {
page->Choice("Logging Channels").OpensScreen().OnClick([host](UI::EventParams &e) {
host->PageScreenManager()->push(new LogConfigScreen());
});
page->Setting(&g_Config.bEnableFileLogging).Enabled(&g_Config.bEnableLogging);
@@ -283,10 +283,10 @@ static void BuildTestsPage(SettingsPage *page) {
using namespace UI;
SettingsPageHost *host = page->Host();
page->Choice("Touchscreen Test").OnClick([host](UI::EventParams &e) {
page->Choice("Touchscreen Test").OpensScreen().OnClick([host](UI::EventParams &e) {
host->PageScreenManager()->push(new TouchTestScreen(host->PageGamePath()));
});
page->Choice("Framedump tests").OnClick([host](UI::EventParams &e) {
page->Choice("Framedump tests").OpensScreen().OnClick([host](UI::EventParams &e) {
host->PageScreenManager()->push(new FrameDumpTestScreen());
}).EnabledFunc([] {
return !PSP_IsInited();
@@ -294,7 +294,7 @@ static void BuildTestsPage(SettingsPage *page) {
// For now, we only implement GPU driver tests for Vulkan and OpenGL. This is simply
// because the D3D drivers are generally solid enough to not need this type of investigation.
if (g_Config.iGPUBackend == (int)GPUBackend::VULKAN || g_Config.iGPUBackend == (int)GPUBackend::OPENGL) {
page->Choice("GPU Driver Test").OnClick([host](UI::EventParams &e) {
page->Choice("GPU Driver Test").OpensScreen().OnClick([host](UI::EventParams &e) {
OnGPUDriverTest(host);
});
}
@@ -541,7 +541,7 @@ static void BuildGraphicsPage(SettingsPage *page) {
}
if (GetGPUBackend() == GPUBackend::VULKAN && SupportsCustomDriver()) {
page->Choice({ I18NCat::GRAPHICS, "AdrenoTools driver manager" }).OnClick([host](UI::EventParams &e) {
page->Choice({ I18NCat::GRAPHICS, "AdrenoTools driver manager" }).OpensScreen().OnClick([host](UI::EventParams &e) {
host->PageScreenManager()->push(new DriverManagerScreen(host->PageGamePath()));
});
}