summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-12-19 08:02:09 +0100
committerameerj <52414509+ameerj@users.noreply.github.com>2021-12-19 08:09:37 +0100
commit3074b2eb9393aeb366d334d0dbebc54b3024673a (patch)
treeda4ecae37dc43b3f4ccc64df5c807b1675d268fa
parentmain: Make render window borderless fullscreen toggle on the monitor it resides in (diff)
downloadyuzu-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.cpp41
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);
}
}