summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/yuzu/main.cpp44
-rw-r--r--src/yuzu/main.h2
2 files changed, 31 insertions, 15 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 5e321095d..51d7f9418 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -420,7 +420,9 @@ void GMainWindow::BootGame(const QString& filename) {
render_window->setFocus();
emulation_running = true;
- ToggleFullscreen();
+ if (ui.action_Fullscreen->isChecked()) {
+ ShowFullscreen();
+ }
OnStartGame();
}
@@ -572,21 +574,33 @@ void GMainWindow::ToggleFullscreen() {
return;
}
if (ui.action_Fullscreen->isChecked()) {
- if (ui.action_Single_Window_Mode->isChecked()) {
- ui.menubar->hide();
- statusBar()->hide();
- showFullScreen();
- } else {
- render_window->showFullScreen();
- }
+ ShowFullscreen();
} else {
- if (ui.action_Single_Window_Mode->isChecked()) {
- statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked());
- ui.menubar->show();
- showNormal();
- } else {
- render_window->showNormal();
- }
+ HideFullscreen();
+ }
+}
+
+void GMainWindow::ShowFullscreen() {
+ if (ui.action_Single_Window_Mode->isChecked()) {
+ UISettings::values.geometry = saveGeometry();
+ ui.menubar->hide();
+ statusBar()->hide();
+ showFullScreen();
+ } else {
+ UISettings::values.renderwindow_geometry = render_window->saveGeometry();
+ render_window->showFullScreen();
+ }
+}
+
+void GMainWindow::HideFullscreen() {
+ if (ui.action_Single_Window_Mode->isChecked()) {
+ statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked());
+ ui.menubar->show();
+ showNormal();
+ restoreGeometry(UISettings::values.geometry);
+ } else {
+ render_window->showNormal();
+ render_window->restoreGeometry(UISettings::values.renderwindow_geometry);
}
}
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 04bb887ae..4a0d912bb 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -128,6 +128,8 @@ private slots:
void OnToggleFilterBar();
void OnDisplayTitleBars(bool);
void ToggleFullscreen();
+ void ShowFullscreen();
+ void HideFullscreen();
void ToggleWindowMode();
void OnCoreError(Core::System::ResultStatus, std::string);