mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
UI: Send prompt results even on back/cancel.
Before, if you went to the GPU backend prompt, and canceled, it would never call the callback, and so the g_Config value never got reset.
This commit is contained in:
parent
d6b7cde718
commit
cde6b3d3e4
2 changed files with 8 additions and 3 deletions
|
@ -275,22 +275,25 @@ void PromptScreen::CreateViews() {
|
||||||
Choice *yesButton = rightColumnItems->Add(new Choice(yesButtonText_));
|
Choice *yesButton = rightColumnItems->Add(new Choice(yesButtonText_));
|
||||||
yesButton->OnClick.Handle(this, &PromptScreen::OnYes);
|
yesButton->OnClick.Handle(this, &PromptScreen::OnYes);
|
||||||
root_->SetDefaultFocusView(yesButton);
|
root_->SetDefaultFocusView(yesButton);
|
||||||
if (noButtonText_ != "")
|
if (!noButtonText_.empty())
|
||||||
rightColumnItems->Add(new Choice(noButtonText_))->OnClick.Handle(this, &PromptScreen::OnNo);
|
rightColumnItems->Add(new Choice(noButtonText_))->OnClick.Handle(this, &PromptScreen::OnNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
UI::EventReturn PromptScreen::OnYes(UI::EventParams &e) {
|
UI::EventReturn PromptScreen::OnYes(UI::EventParams &e) {
|
||||||
callback_(true);
|
|
||||||
TriggerFinish(DR_OK);
|
TriggerFinish(DR_OK);
|
||||||
return UI::EVENT_DONE;
|
return UI::EVENT_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
UI::EventReturn PromptScreen::OnNo(UI::EventParams &e) {
|
UI::EventReturn PromptScreen::OnNo(UI::EventParams &e) {
|
||||||
callback_(false);
|
|
||||||
TriggerFinish(DR_CANCEL);
|
TriggerFinish(DR_CANCEL);
|
||||||
return UI::EVENT_DONE;
|
return UI::EVENT_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PromptScreen::TriggerFinish(DialogResult result) {
|
||||||
|
callback_(result == DR_OK || result == DR_YES);
|
||||||
|
UIDialogScreenWithBackground::TriggerFinish(result);
|
||||||
|
}
|
||||||
|
|
||||||
PostProcScreen::PostProcScreen(const std::string &title) : ListPopupScreen(title) {
|
PostProcScreen::PostProcScreen(const std::string &title) : ListPopupScreen(title) {
|
||||||
I18NCategory *ps = GetI18NCategory("PostShaders");
|
I18NCategory *ps = GetI18NCategory("PostShaders");
|
||||||
ReloadAllPostShaderInfo();
|
ReloadAllPostShaderInfo();
|
||||||
|
|
|
@ -78,6 +78,8 @@ public:
|
||||||
|
|
||||||
void CreateViews() override;
|
void CreateViews() override;
|
||||||
|
|
||||||
|
void TriggerFinish(DialogResult result) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UI::EventReturn OnYes(UI::EventParams &e);
|
UI::EventReturn OnYes(UI::EventParams &e);
|
||||||
UI::EventReturn OnNo(UI::EventParams &e);
|
UI::EventReturn OnNo(UI::EventParams &e);
|
||||||
|
|
Loading…
Add table
Reference in a new issue