diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-12-19 08:02:09 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-12-19 08:09:37 +0100 |
commit | 3074b2eb9393aeb366d334d0dbebc54b3024673a (patch) | |
tree | da4ecae37dc43b3f4ccc64df5c807b1675d268fa | |
parent | main: Make render window borderless fullscreen toggle on the monitor it resides in (diff) | |
download | yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar.gz yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar.bz2 yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar.lz yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar.xz yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.tar.zst yuzu-3074b2eb9393aeb366d334d0dbebc54b3024673a.zip |
-rw-r--r-- | src/yuzu/main.cpp | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 2daf191b3..a7271e075 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -2546,39 +2546,30 @@ void GMainWindow::ToggleFullscreen() { } void GMainWindow::ShowFullscreen() { + const auto show_fullscreen = [](QWidget* window) { + if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { + window->showFullScreen(); + return; + } + window->hide(); + window->setWindowFlags(window->windowFlags() | Qt::FramelessWindowHint); + const auto screen_geometry = QApplication::desktop()->screenGeometry(window); + window->setGeometry(screen_geometry.x(), screen_geometry.y(), screen_geometry.width(), + screen_geometry.height() + 1); + window->raise(); + window->showNormal(); + }; + if (ui->action_Single_Window_Mode->isChecked()) { UISettings::values.geometry = saveGeometry(); ui->menubar->hide(); statusBar()->hide(); - if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { - showFullScreen(); - return; - } - - hide(); - setWindowFlags(windowFlags() | Qt::FramelessWindowHint); - const auto screen_geometry = QApplication::desktop()->screenGeometry(this); - setGeometry(screen_geometry.x(), screen_geometry.y(), screen_geometry.width(), - screen_geometry.height() + 1); - raise(); - showNormal(); + show_fullscreen(this); } else { UISettings::values.renderwindow_geometry = render_window->saveGeometry(); - - if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { - render_window->showFullScreen(); - return; - } - - render_window->hide(); - render_window->setWindowFlags(windowFlags() | Qt::FramelessWindowHint); - const auto screen_geometry = QApplication::desktop()->screenGeometry(render_window); - render_window->setGeometry(screen_geometry.x(), screen_geometry.y(), - screen_geometry.width(), screen_geometry.height() + 1); - render_window->raise(); - render_window->showNormal(); + show_fullscreen(render_window); } } |