diff --git a/UI/FirmwareScreen.cpp b/UI/FirmwareScreen.cpp index 089f44d1d6..0eae28db27 100644 --- a/UI/FirmwareScreen.cpp +++ b/UI/FirmwareScreen.cpp @@ -118,8 +118,14 @@ void FirmwareScreen::CreateSettingsViews(UI::ViewGroup *parent) { sy->T("XMBUnsupportedVersion", "Only firmware 6.61 can boot the XMB so far"))); } + ChoiceGroup *launchGroup = parent->Add(new ChoiceGroup("")); + Choice *launch = launchGroup->Add(new Choice(sy->T("Launch XMB"), ImageID("I_PLAY"))); + + ChoiceGroup *settings = parent->Add(new ChoiceGroup("")); + settings->Add(new CheckBox(&g_Config.bAutoUpgradeFirmware, sy->T("Install or upgrade firmware from game discs"), + sy->T("AutoUpgradeFirmwareDesc", "Most game discs carry a firmware updater. Install it when there's no firmware yet, or when the disc's is newer."))); + ChoiceGroup *actions = parent->Add(new ChoiceGroup("")); - Choice *launch = actions->Add(new Choice(sy->T("Launch XMB"), ImageID("I_PLAY"))); launch->OnClick.Add([this](UI::EventParams &) { LaunchVSH(); }); @@ -133,9 +139,6 @@ void FirmwareScreen::CreateSettingsViews(UI::ViewGroup *parent) { install->SetEnabled(!gameRunning); } - actions->Add(new CheckBox(&g_Config.bAutoUpgradeFirmware, sy->T("Install or upgrade firmware from game discs"), - sy->T("AutoUpgradeFirmwareDesc", "Most game discs carry a firmware updater. Install it when there's no firmware yet, or when the disc's is newer."))); - if (info_.anythingInstalled) { Choice *erase = actions->Add(new Choice(sy->T("Uninstall firmware"), ImageID("I_TRASHCAN"))); erase->OnClick.Add([this](UI::EventParams &) { diff --git a/UI/GameBrowser.cpp b/UI/GameBrowser.cpp index e9d886fcff..89eac6edf0 100644 --- a/UI/GameBrowser.cpp +++ b/UI/GameBrowser.cpp @@ -1041,9 +1041,13 @@ void GameBrowser::Refresh() { topBar->Add(new Spacer(2.0f)); topBar->Add(new TextView(pathStr, ALIGN_VCENTER | FLAG_WRAP_TEXT, true, new LinearLayoutParams(FILL_PARENT, 64.0f, 1.0f))); } - topBar->Add(new Choice(ImageID("I_HOME"), new LayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Handle(this, &GameBrowser::OnHomeClick); + Choice *homeChoice = topBar->Add(new Choice(ImageID("I_HOME"), new LayoutParams(WRAP_CONTENT, 64.0f))); + homeChoice->SetRoundCorners(RoundCorners::All); + homeChoice->OnClick.Handle(this, &GameBrowser::OnHomeClick); if (System_GetPropertyBool(SYSPROP_HAS_ADDITIONAL_STORAGE)) { - topBar->Add(new Choice(ImageID("I_SDCARD"), new LayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Handle(this, &GameBrowser::StorageClick); + Choice *sdCardChoice = topBar->Add(new Choice(ImageID("I_SDCARD"), new LayoutParams(WRAP_CONTENT, 64.0f))); + sdCardChoice->SetRoundCorners(RoundCorners::All); + sdCardChoice->OnClick.Handle(this, &GameBrowser::StorageClick); } #if PPSSPP_PLATFORM(IOS_APP_STORE) // Don't show a browse button, not meaningful to browse outside the documents folder it seems, @@ -1054,16 +1058,22 @@ void GameBrowser::Refresh() { // we show just the image, because we don't need to emphasize the button on Darwin // (tvOS has no folder browser.) if (System_GetPropertyBool(SYSPROP_HAS_FOLDER_BROWSER)) { - topBar->Add(new Choice(ImageID("I_FOLDER_OPEN"), new LayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Handle(this, &GameBrowser::BrowseClick); + Choice *browseChoice = topBar->Add(new Choice(ImageID("I_FOLDER_OPEN"), new LayoutParams(WRAP_CONTENT, 64.0f))); + browseChoice->SetRoundCorners(RoundCorners::All); + browseChoice->OnClick.Handle(this, &GameBrowser::BrowseClick); } #else if ((browseFlags_ & BrowseFlags::BROWSE) && System_GetPropertyBool(SYSPROP_HAS_FOLDER_BROWSER)) { // Collapse the button title on very small screens (Retroid Pocket) or portrait mode. std::string_view browseTitle = (g_display.dp_xres <= 550 || portrait_) ? "" : mm->T("Browse"); - topBar->Add(new Choice(browseTitle, ImageID("I_FOLDER_OPEN"), new LayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Handle(this, &GameBrowser::BrowseClick); + Choice *browseChoice = topBar->Add(new Choice(browseTitle, ImageID("I_FOLDER_OPEN"), new LayoutParams(WRAP_CONTENT, 64.0f))); + browseChoice->SetRoundCorners(RoundCorners::All); + browseChoice->OnClick.Handle(this, &GameBrowser::BrowseClick); } if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_TV) { - topBar->Add(new Choice(mm->T("Enter Path"), new LayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Add([=](UI::EventParams &) { + Choice *enterPathChoice = topBar->Add(new Choice(mm->T("Enter Path"), new LayoutParams(WRAP_CONTENT, 64.0f))); + enterPathChoice->SetRoundCorners(RoundCorners::All); + enterPathChoice->OnClick.Add([=](UI::EventParams &) { auto mm = GetI18NCategory(I18NCat::MAINMENU); System_InputBoxGetString(token_, mm->T("Enter Path"), path_.GetPath().ToString(), false, [=](std::string_view responseString, int responseValue) { this->SetPath(Path(responseString)); @@ -1076,7 +1086,9 @@ void GameBrowser::Refresh() { } if (browseFlags_ & BrowseFlags::HOMEBREW_STORE) { - topBar->Add(new Choice(mm->T("Homebrew store"), ImageID("I_HOMEBREW_STORE"), new UI::LinearLayoutParams(WRAP_CONTENT, 64.0f)))->OnClick.Handle(this, &GameBrowser::OnHomebrewStore); + Choice *hbStore = topBar->Add(new Choice(mm->T("Homebrew store"), ImageID("I_HOMEBREW_STORE"), new UI::LinearLayoutParams(WRAP_CONTENT, 64.0f))); + hbStore->OnClick.Handle(this, &GameBrowser::OnHomebrewStore); + hbStore->SetRoundCorners(RoundCorners::All); } if (browseFlags_ & BrowseFlags::UPLOAD_BUTTON) { @@ -1088,6 +1100,7 @@ void GameBrowser::Refresh() { uploadChoice->SetEnabledFunc([this]() { return !path_.GetPath().empty(); }); + uploadChoice->SetRoundCorners(RoundCorners::All); } ChoiceStrip *layoutChoice = topBar->Add(new ChoiceStrip(ORIENT_HORIZONTAL)); @@ -1098,12 +1111,17 @@ void GameBrowser::Refresh() { layoutChoice->ApplyRoundCorners(); layoutChoice->OnChoice.Handle(this, &GameBrowser::LayoutChange); if (!isRecent) { - topBar->Add(new Choice(ImageID("I_ROTATE_LEFT"), new LayoutParams(64.0f, 64.0f)))->OnClick.Add([=](UI::EventParams &e) { + Choice *rotateChoice = topBar->Add(new Choice(ImageID("I_ROTATE_LEFT"), new LayoutParams(64.0f, 64.0f))); + rotateChoice->SetRoundCorners(RoundCorners::All); + rotateChoice->OnClick.Add([=](UI::EventParams &e) { path_.Refresh(); refreshPending_ = true; }); } - topBar->Add(new Choice(ImageID("I_GEAR"), new LayoutParams(64.0f, 64.0f)))->OnClick.Handle(this, &GameBrowser::GridSettingsClick); + + Choice *gridSettingsChoice = topBar->Add(new Choice(ImageID("I_GEAR"), new LayoutParams(64.0f, 64.0f))); + gridSettingsChoice->SetRoundCorners(RoundCorners::All); + gridSettingsChoice->OnClick.Handle(this, &GameBrowser::GridSettingsClick); if (gridStyle) { gameList_ = new UI::GridLayoutList(UI::GridLayoutSettings(150 * g_Config.fGameGridScale, 85 * g_Config.fGameGridScale), new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT, Margins(10, 0, 6, 0))); diff --git a/UI/RemoteISOScreen.cpp b/UI/RemoteISOScreen.cpp index b349a0bf75..fe0f0958b8 100644 --- a/UI/RemoteISOScreen.cpp +++ b/UI/RemoteISOScreen.cpp @@ -403,11 +403,13 @@ void RemoteISOScreen::CreateSettingsTab(UI::ViewGroup *remoteisoSettings) { g_Config.iRemoteISOShareType = (int)RemoteISOShareType::RECENT; } + ChoiceGroup *remoteSettings = new ChoiceGroup(""); + UI::Choice *remoteServer = new PopupTextInputChoice(GetRequesterToken(), &g_Config.sLastRemoteISOServer, ri->T("Remote Server"), "", 255, screenManager()); - streamingSettings->Add(remoteServer); + remoteSettings->Add(remoteServer); remoteServer->SetEnabledPtr(&g_Config.bRemoteISOManual); - PopupSliderChoice *remotePort = streamingSettings->Add(new PopupSliderChoice(&g_Config.iLastRemoteISOPort, 0, 65535, 0, ri->T("Remote Port"), 1, screenManager())); + PopupSliderChoice *remotePort = remoteSettings->Add(new PopupSliderChoice(&g_Config.iLastRemoteISOPort, 0, 65535, 0, ri->T("Remote Port"), 1, screenManager())); remotePort->SetEnabledPtr(&g_Config.bRemoteISOManual); UI::Choice *remoteSubdir; @@ -416,11 +418,13 @@ void RemoteISOScreen::CreateSettingsTab(UI::ViewGroup *remoteisoSettings) { remoteSubdirInput->OnChange.Handle(this, &RemoteISOScreen::OnChangeRemoteISOSubdir); remoteSubdir = remoteSubdirInput; } - streamingSettings->Add(remoteSubdir); + remoteSettings->Add(remoteSubdir); remoteSubdir->SetEnabledPtr(&g_Config.bRemoteISOManual); + ChoiceGroup *serverSettings = new ChoiceGroup(""); + PopupSliderChoice *portChoice = new PopupSliderChoice(&g_Config.iRemoteISOPort, 0, 65535, 0, ri->T("Local Server Port", "Local Server Port"), 100, screenManager()); - streamingSettings->Add(portChoice); + serverSettings->Add(portChoice); portChoice->SetDisabledPtr(&serverRunning_); }