RemoteISO screens: Make them dialogs so ESC works to exit them on PC.

Also fix the background on the main one, and in savedata manager.

See #16605
This commit is contained in:
Henrik Rydgård 2023-01-01 21:33:11 +01:00
parent 9f85323b8a
commit 360de9a372
4 changed files with 14 additions and 13 deletions

View File

@ -106,8 +106,10 @@ private:
void OnCompleted(DialogResult result) override;
};
class SystemInfoScreen : public UIDialogScreenWithBackground {
class SystemInfoScreen : public UIDialogScreenWithGameBackground {
public:
SystemInfoScreen(const Path &filename) : UIDialogScreenWithGameBackground(filename) {}
const char *tag() const override { return "SystemInfo"; }
void CreateViews() override;

View File

@ -1635,7 +1635,7 @@ UI::EventReturn GameSettingsScreen::OnDeveloperTools(UI::EventParams &e) {
}
UI::EventReturn GameSettingsScreen::OnRemoteISO(UI::EventParams &e) {
screenManager()->push(new RemoteISOScreen());
screenManager()->push(new RemoteISOScreen(gamePath_));
return UI::EVENT_DONE;
}
@ -1667,13 +1667,13 @@ UI::EventReturn GameSettingsScreen::OnTiltCustomize(UI::EventParams &e) {
};
UI::EventReturn GameSettingsScreen::OnSavedataManager(UI::EventParams &e) {
auto saveData = new SavedataScreen(Path());
auto saveData = new SavedataScreen(gamePath_);
screenManager()->push(saveData);
return UI::EVENT_DONE;
}
UI::EventReturn GameSettingsScreen::OnSysInfo(UI::EventParams &e) {
screenManager()->push(new SystemInfoScreen());
screenManager()->push(new SystemInfoScreen(gamePath_));
return UI::EVENT_DONE;
}

View File

@ -263,11 +263,10 @@ static bool LoadGameList(const Path &url, std::vector<Path> &games) {
return !games.empty();
}
RemoteISOScreen::RemoteISOScreen() {
}
RemoteISOScreen::RemoteISOScreen(const Path &filename) : UIDialogScreenWithGameBackground(filename) {}
void RemoteISOScreen::update() {
UIScreenWithBackground::update();
UIDialogScreenWithBackground::update();
if (!WebServerStopped(WebServerFlags::DISCS)) {
auto result = IsServerAllowed(g_Config.iRemoteISOPort);
@ -414,7 +413,7 @@ void RemoteISOConnectScreen::CreateViews() {
void RemoteISOConnectScreen::update() {
auto ri = GetI18NCategory("RemoteISO");
UIScreenWithBackground::update();
UIDialogScreenWithBackground::update();
ScanStatus s = GetStatus();
switch (s) {

View File

@ -25,9 +25,9 @@
#include "UI/MiscScreens.h"
#include "UI/MainScreen.h"
class RemoteISOScreen : public UIScreenWithBackground {
class RemoteISOScreen : public UIDialogScreenWithGameBackground {
public:
RemoteISOScreen();
RemoteISOScreen(const Path &filename);
const char *tag() const override { return "RemoteISO"; }
@ -54,7 +54,7 @@ enum class ScanStatus {
LOADED,
};
class RemoteISOConnectScreen : public UIScreenWithBackground {
class RemoteISOConnectScreen : public UIDialogScreenWithBackground {
public:
RemoteISOConnectScreen();
~RemoteISOConnectScreen();
@ -70,7 +70,7 @@ protected:
void ExecuteLoad();
bool FindServer(std::string &resultHost, int &resultPort);
UI::TextView *statusView_;
UI::TextView *statusView_ = nullptr;
ScanStatus status_ = ScanStatus::SCANNING;
std::string statusMessage_;
@ -78,7 +78,7 @@ protected:
std::thread *scanThread_;
std::mutex statusLock_;
std::string host_;
int port_;
int port_ = -1;
std::string url_;
std::vector<Path> games_;
};