Fix a bug in the fullscreen implementation

This commit is contained in:
FearlessTobi 2017-12-04 17:42:23 +01:00
parent e23c3cd7f7
commit 8942bfd759
2 changed files with 31 additions and 15 deletions

View file

@ -583,7 +583,9 @@ void GMainWindow::BootGame(const QString& filename) {
render_window->setFocus();
emulation_running = true;
ToggleFullscreen();
if (ui.action_Fullscreen->isChecked()) {
ShowFullscreen();
}
OnStartGame();
}
@ -812,21 +814,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);
}
}

View file

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