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();
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);
}
}

View File

@ -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);