Merge pull request #3159 from FearlessTobi/really-fix-fullscreen

citra-qt : Fix a bug in our fullscreen implementation
This commit is contained in:
bunnei 2017-12-07 11:32:28 -05:00 committed by GitHub
commit 040006fa6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 15 deletions

View File

@ -583,7 +583,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();
} }
@ -812,21 +814,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

@ -141,6 +141,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 OnCreateGraphicsSurfaceViewer(); void OnCreateGraphicsSurfaceViewer();
void OnCoreError(Core::System::ResultStatus, std::string); void OnCoreError(Core::System::ResultStatus, std::string);