1
0
Fork 0

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