From 6ff845c53b42dcee60d6eb4990d5f17ce9918efd Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 29 Jun 2019 14:58:27 -0700 Subject: [PATCH] Use borderless windowed mode as the default on macOS. Fixes #246 --- app/gui/SettingsView.qml | 12 +++++++++++- app/settings/streamingpreferences.cpp | 8 +++++++- app/settings/streamingpreferences.h | 2 ++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/gui/SettingsView.qml b/app/gui/SettingsView.qml index 05ac41c9..431eb0cf 100644 --- a/app/gui/SettingsView.qml +++ b/app/gui/SettingsView.qml @@ -328,6 +328,16 @@ Flickable { AutoResizingComboBox { // ignore setting the index at first, and actually set it when the component is loaded Component.onCompleted: { + // Set the recommended option based on the OS + for (var i = 0; i < windowModeListModel.count; i++) { + var thisWm = windowModeListModel.get(i).val; + if (thisWm === StreamingPreferences.recommendedFullScreenMode) { + windowModeListModel.get(i).text += " (Recommended)" + windowModeListModel.move(i, 0, 1); + break + } + } + var savedWm = StreamingPreferences.windowMode currentIndex = 0 for (var i = 0; i < windowModeListModel.count; i++) { @@ -346,7 +356,7 @@ Flickable { model: ListModel { id: windowModeListModel ListElement { - text: "Full-screen (Recommended)" + text: "Full-screen" val: StreamingPreferences.WM_FULLSCREEN } ListElement { diff --git a/app/settings/streamingpreferences.cpp b/app/settings/streamingpreferences.cpp index afb76b0e..da8d7738 100644 --- a/app/settings/streamingpreferences.cpp +++ b/app/settings/streamingpreferences.cpp @@ -34,6 +34,12 @@ void StreamingPreferences::reload() { QSettings settings; +#ifdef Q_OS_DARWIN + recommendedFullScreenMode = WindowMode::WM_FULLSCREEN_DESKTOP; +#else + recommendedFullScreenMode = WindowMode::WM_FULLSCREEN; +#endif + width = settings.value(SER_WIDTH, 1280).toInt(); height = settings.value(SER_HEIGHT, 720).toInt(); fps = settings.value(SER_FPS, 60).toInt(); @@ -58,7 +64,7 @@ void StreamingPreferences::reload() windowMode = static_cast(settings.value(SER_WINDOWMODE, // Try to load from the old preference value too static_cast(settings.value(SER_FULLSCREEN, true).toBool() ? - WindowMode::WM_FULLSCREEN : WindowMode::WM_WINDOWED)).toInt()); + recommendedFullScreenMode : WindowMode::WM_WINDOWED)).toInt()); } void StreamingPreferences::save() diff --git a/app/settings/streamingpreferences.h b/app/settings/streamingpreferences.h index bfa95e87..761cc42e 100644 --- a/app/settings/streamingpreferences.h +++ b/app/settings/streamingpreferences.h @@ -68,6 +68,7 @@ public: Q_PROPERTY(VideoCodecConfig videoCodecConfig MEMBER videoCodecConfig NOTIFY videoCodecConfigChanged) Q_PROPERTY(VideoDecoderSelection videoDecoderSelection MEMBER videoDecoderSelection NOTIFY videoDecoderSelectionChanged) Q_PROPERTY(WindowMode windowMode MEMBER windowMode NOTIFY windowModeChanged) + Q_PROPERTY(WindowMode recommendedFullScreenMode MEMBER recommendedFullScreenMode CONSTANT) // Directly accessible members for preferences int width; @@ -89,6 +90,7 @@ public: VideoCodecConfig videoCodecConfig; VideoDecoderSelection videoDecoderSelection; WindowMode windowMode; + WindowMode recommendedFullScreenMode; signals: void displayModeChanged();