From 5372cfba204fa895efcaeb70d224c7a05ce8b9d5 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 10 Jan 2021 10:09:31 -0600 Subject: [PATCH] Minor fixes to kiosk mode PR - UI_FULLSCREEN_WINDOWED -> UI_MAXIMIZED - Propagate user configuration from old "start windowed" option - Use FullScreen when a window manager isn't present - Set disabled control to FullScreen with no window manager --- app/gui/SettingsView.qml | 25 ++++++++++++++++--------- app/gui/main.qml | 4 ++-- app/settings/streamingpreferences.cpp | 4 +++- app/settings/streamingpreferences.h | 2 +- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/app/gui/SettingsView.qml b/app/gui/SettingsView.qml index befe2f47..5606680c 100644 --- a/app/gui/SettingsView.qml +++ b/app/gui/SettingsView.qml @@ -716,7 +716,7 @@ Flickable { Label { width: parent.width id: uiDisplayModeTitle - text: qsTr("Display Mode") + text: qsTr("GUI display mode") font.pointSize: 12 wrapMode: Text.Wrap } @@ -724,15 +724,22 @@ Flickable { AutoResizingComboBox { // ignore setting the index at first, and actually set it when the component is loaded Component.onCompleted: { - var saved_uidisplaymode = StreamingPreferences.uiDisplayMode - currentIndex = 0 - for (var i = 0; i < uiDisplayModeListModel.count; i++) { - var el_uidisplaymode = uiDisplayModeListModel.get(i).val; - if (saved_uidisplaymode === el_uidisplaymode) { - currentIndex = i - break + if (SystemProperties.hasWindowManager) { + var saved_uidisplaymode = StreamingPreferences.uiDisplayMode + currentIndex = 0 + for (var i = 0; i < uiDisplayModeListModel.count; i++) { + var el_uidisplaymode = uiDisplayModeListModel.get(i).val; + if (saved_uidisplaymode === el_uidisplaymode) { + currentIndex = i + break + } } } + else { + // Full-screen is always selected when there is no window manager + currentIndex = 2 + } + activated(currentIndex) } @@ -747,7 +754,7 @@ Flickable { } ListElement { text: qsTr("Maximized") - val: StreamingPreferences.UI_FULLSCREEN_WINDOWED + val: StreamingPreferences.UI_MAXIMIZED } ListElement { text: qsTr("Fullscreen") diff --git a/app/gui/main.qml b/app/gui/main.qml index 7b411e87..89350cf8 100644 --- a/app/gui/main.qml +++ b/app/gui/main.qml @@ -20,10 +20,10 @@ ApplicationWindow { visibility: { if (SystemProperties.hasWindowManager) { if (StreamingPreferences.uiDisplayMode == StreamingPreferences.UI_WINDOWED) return "Windowed" - else if (StreamingPreferences.uiDisplayMode == StreamingPreferences.UI_FULLSCREEN_WINDOWED) return "Maximized" + else if (StreamingPreferences.uiDisplayMode == StreamingPreferences.UI_MAXIMIZED) return "Maximized" else if (StreamingPreferences.uiDisplayMode == StreamingPreferences.UI_FULLSCREEN) return "FullScreen" } else { - return "Maximized" + return "FullScreen" } } diff --git a/app/settings/streamingpreferences.cpp b/app/settings/streamingpreferences.cpp index fb106d01..d84b420c 100644 --- a/app/settings/streamingpreferences.cpp +++ b/app/settings/streamingpreferences.cpp @@ -21,6 +21,7 @@ #define SER_QUITAPPAFTER "quitAppAfter" #define SER_ABSMOUSEMODE "mouseacceleration" #define SER_ABSTOUCHMODE "abstouchmode" +#define SER_STARTWINDOWED "startwindowed" #define SER_FRAMEPACING "framepacing" #define SER_CONNWARNINGS "connwarnings" #define SER_UIDISPLAYMODE "uidisplaymode" @@ -90,7 +91,8 @@ void StreamingPreferences::reload() static_cast(settings.value(SER_FULLSCREEN, true).toBool() ? recommendedFullScreenMode : WindowMode::WM_WINDOWED)).toInt()); uiDisplayMode = static_cast(settings.value(SER_UIDISPLAYMODE, - static_cast(UIDisplayMode::UI_WINDOWED)).toInt()); + static_cast(settings.value(SER_STARTWINDOWED, true).toBool() ? UIDisplayMode::UI_WINDOWED + : UIDisplayMode::UI_MAXIMIZED)).toInt()); // Perform default settings updates as required based on last default version diff --git a/app/settings/streamingpreferences.h b/app/settings/streamingpreferences.h index 37d653cc..9826d6bc 100644 --- a/app/settings/streamingpreferences.h +++ b/app/settings/streamingpreferences.h @@ -53,7 +53,7 @@ public: enum UIDisplayMode { UI_WINDOWED, - UI_FULLSCREEN_WINDOWED, + UI_MAXIMIZED, UI_FULLSCREEN }; Q_ENUM(UIDisplayMode)