Merge citra-emu PR#3159 by FearlessTobi(citra-qt : Fix a bug in our fullscreen implementation)

This commit is contained in:
goaaats 2018-01-16 15:59:30 +01:00
parent f473780c52
commit 8cdc1be0df
2 changed files with 31 additions and 15 deletions

View File

@ -420,7 +420,9 @@ void GMainWindow::BootGame(const QString& filename) {
render_window->setFocus(); render_window->setFocus();
emulation_running = true; emulation_running = true;
ToggleFullscreen(); if (ui.action_Fullscreen->isChecked()) {
ShowFullscreen();
}
OnStartGame(); OnStartGame();
} }
@ -572,21 +574,33 @@ void GMainWindow::ToggleFullscreen() {
return; return;
} }
if (ui.action_Fullscreen->isChecked()) { if (ui.action_Fullscreen->isChecked()) {
ShowFullscreen();
} else {
HideFullscreen();
}
}
void GMainWindow::ShowFullscreen() {
if (ui.action_Single_Window_Mode->isChecked()) { if (ui.action_Single_Window_Mode->isChecked()) {
UISettings::values.geometry = saveGeometry();
ui.menubar->hide(); ui.menubar->hide();
statusBar()->hide(); statusBar()->hide();
showFullScreen(); showFullScreen();
} else { } else {
UISettings::values.renderwindow_geometry = render_window->saveGeometry();
render_window->showFullScreen(); render_window->showFullScreen();
} }
} else { }
void GMainWindow::HideFullscreen() {
if (ui.action_Single_Window_Mode->isChecked()) { if (ui.action_Single_Window_Mode->isChecked()) {
statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked()); statusBar()->setVisible(ui.action_Show_Status_Bar->isChecked());
ui.menubar->show(); ui.menubar->show();
showNormal(); showNormal();
restoreGeometry(UISettings::values.geometry);
} else { } else {
render_window->showNormal(); render_window->showNormal();
} render_window->restoreGeometry(UISettings::values.renderwindow_geometry);
} }
} }

View File

@ -128,6 +128,8 @@ private slots:
void OnToggleFilterBar(); void OnToggleFilterBar();
void OnDisplayTitleBars(bool); void OnDisplayTitleBars(bool);
void ToggleFullscreen(); void ToggleFullscreen();
void ShowFullscreen();
void HideFullscreen();
void ToggleWindowMode(); void ToggleWindowMode();
void OnCoreError(Core::System::ResultStatus, std::string); void OnCoreError(Core::System::ResultStatus, std::string);