diff options
Diffstat (limited to 'src')
| -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() { | |||
| 2546 | } | 2546 | } |
| 2547 | 2547 | ||
| 2548 | void GMainWindow::ShowFullscreen() { | 2548 | void GMainWindow::ShowFullscreen() { |
| 2549 | const auto show_fullscreen = [](QWidget* window) { | ||
| 2550 | if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { | ||
| 2551 | window->showFullScreen(); | ||
| 2552 | return; | ||
| 2553 | } | ||
| 2554 | window->hide(); | ||
| 2555 | window->setWindowFlags(window->windowFlags() | Qt::FramelessWindowHint); | ||
| 2556 | const auto screen_geometry = QApplication::desktop()->screenGeometry(window); | ||
| 2557 | window->setGeometry(screen_geometry.x(), screen_geometry.y(), screen_geometry.width(), | ||
| 2558 | screen_geometry.height() + 1); | ||
| 2559 | window->raise(); | ||
| 2560 | window->showNormal(); | ||
| 2561 | }; | ||
| 2562 | |||
| 2549 | if (ui->action_Single_Window_Mode->isChecked()) { | 2563 | if (ui->action_Single_Window_Mode->isChecked()) { |
| 2550 | UISettings::values.geometry = saveGeometry(); | 2564 | UISettings::values.geometry = saveGeometry(); |
| 2551 | 2565 | ||
| 2552 | ui->menubar->hide(); | 2566 | ui->menubar->hide(); |
| 2553 | statusBar()->hide(); | 2567 | statusBar()->hide(); |
| 2554 | 2568 | ||
| 2555 | if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { | 2569 | show_fullscreen(this); |
| 2556 | showFullScreen(); | ||
| 2557 | return; | ||
| 2558 | } | ||
| 2559 | |||
| 2560 | hide(); | ||
| 2561 | setWindowFlags(windowFlags() | Qt::FramelessWindowHint); | ||
| 2562 | const auto screen_geometry = QApplication::desktop()->screenGeometry(this); | ||
| 2563 | setGeometry(screen_geometry.x(), screen_geometry.y(), screen_geometry.width(), | ||
| 2564 | screen_geometry.height() + 1); | ||
| 2565 | raise(); | ||
| 2566 | showNormal(); | ||
| 2567 | } else { | 2570 | } else { |
| 2568 | UISettings::values.renderwindow_geometry = render_window->saveGeometry(); | 2571 | UISettings::values.renderwindow_geometry = render_window->saveGeometry(); |
| 2569 | 2572 | show_fullscreen(render_window); | |
| 2570 | if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) { | ||
| 2571 | render_window->showFullScreen(); | ||
| 2572 | return; | ||
| 2573 | } | ||
| 2574 | |||
| 2575 | render_window->hide(); | ||
| 2576 | render_window->setWindowFlags(windowFlags() | Qt::FramelessWindowHint); | ||
| 2577 | const auto screen_geometry = QApplication::desktop()->screenGeometry(render_window); | ||
| 2578 | render_window->setGeometry(screen_geometry.x(), screen_geometry.y(), | ||
| 2579 | screen_geometry.width(), screen_geometry.height() + 1); | ||
| 2580 | render_window->raise(); | ||
| 2581 | render_window->showNormal(); | ||
| 2582 | } | 2573 | } |
| 2583 | } | 2574 | } |
| 2584 | 2575 | ||