|
@@ -2915,9 +2915,14 @@ static QScreen* GuessCurrentScreen(QWidget* window) {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+bool GMainWindow::UsingExclusiveFullscreen() {
|
|
|
|
|
+ return Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive ||
|
|
|
|
|
+ QGuiApplication::platformName() == QStringLiteral("wayland");
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void GMainWindow::ShowFullscreen() {
|
|
void GMainWindow::ShowFullscreen() {
|
|
|
- const auto show_fullscreen = [](QWidget* window) {
|
|
|
|
|
- if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) {
|
|
|
|
|
|
|
+ const auto show_fullscreen = [this](QWidget* window) {
|
|
|
|
|
+ if (UsingExclusiveFullscreen()) {
|
|
|
window->showFullScreen();
|
|
window->showFullScreen();
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -2945,7 +2950,7 @@ void GMainWindow::ShowFullscreen() {
|
|
|
|
|
|
|
|
void GMainWindow::HideFullscreen() {
|
|
void GMainWindow::HideFullscreen() {
|
|
|
if (ui->action_Single_Window_Mode->isChecked()) {
|
|
if (ui->action_Single_Window_Mode->isChecked()) {
|
|
|
- if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) {
|
|
|
|
|
|
|
+ if (UsingExclusiveFullscreen()) {
|
|
|
showNormal();
|
|
showNormal();
|
|
|
restoreGeometry(UISettings::values.geometry);
|
|
restoreGeometry(UISettings::values.geometry);
|
|
|
} else {
|
|
} else {
|
|
@@ -2959,7 +2964,7 @@ void GMainWindow::HideFullscreen() {
|
|
|
statusBar()->setVisible(ui->action_Show_Status_Bar->isChecked());
|
|
statusBar()->setVisible(ui->action_Show_Status_Bar->isChecked());
|
|
|
ui->menubar->show();
|
|
ui->menubar->show();
|
|
|
} else {
|
|
} else {
|
|
|
- if (Settings::values.fullscreen_mode.GetValue() == Settings::FullscreenMode::Exclusive) {
|
|
|
|
|
|
|
+ if (UsingExclusiveFullscreen()) {
|
|
|
render_window->showNormal();
|
|
render_window->showNormal();
|
|
|
render_window->restoreGeometry(UISettings::values.renderwindow_geometry);
|
|
render_window->restoreGeometry(UISettings::values.renderwindow_geometry);
|
|
|
} else {
|
|
} else {
|