From e0bebeae257d9f72871bcb78ae71a77901511e66 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 19 Jan 2019 17:06:35 -0800 Subject: [PATCH] Allow theme overrides via environment variables --- app/gui/main.qml | 5 ----- app/main.cpp | 22 ++++++++++++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/gui/main.qml b/app/gui/main.qml index dd766bff..7f68b498 100644 --- a/app/gui/main.qml +++ b/app/gui/main.qml @@ -4,8 +4,6 @@ import QtQuick.Dialogs 1.2 import QtQuick.Layouts 1.3 import QtQuick.Window 2.2 -import QtQuick.Controls.Material 2.1 - import ComputerManager 1.0 import AutoUpdateChecker 1.0 import StreamingPreferences 1.0 @@ -20,9 +18,6 @@ ApplicationWindow { visibility: prefs.startWindowed ? "Windowed" : "Maximized" - Material.theme: Material.Dark - Material.accent: Material.Purple - StreamingPreferences { id: prefs } diff --git a/app/main.cpp b/app/main.cpp index 4f193d4b..f8e41c7d 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -290,7 +290,7 @@ int main(int argc, char *argv[]) // This avoids using the default keychain for SSL, which may cause // password prompts on macOS. - qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", QByteArray("1")); + qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", "1"); #ifdef Q_OS_WIN32 if (!qEnvironmentVariableIsSet("QT_OPENGL")) { @@ -332,7 +332,25 @@ int main(int argc, char *argv[]) return new AutoUpdateChecker(); }); - QQuickStyle::setStyle("Material"); + // Use the dense material dark theme by default + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_STYLE")) { + qputenv("QT_QUICK_CONTROLS_STYLE", "Material"); + } + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_MATERIAL_THEME")) { + qputenv("QT_QUICK_CONTROLS_MATERIAL_THEME", "Dark"); + } + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_MATERIAL_ACCENT")) { + qputenv("QT_QUICK_CONTROLS_MATERIAL_ACCENT", "Purple"); + } + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_MATERIAL_VARIANT")) { + qputenv("QT_QUICK_CONTROLS_MATERIAL_VARIANT", "Dense"); + } + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_UNIVERSAL_THEME")) { + qputenv("QT_QUICK_CONTROLS_UNIVERSAL_THEME", "Dark"); + } + if (!qEnvironmentVariableIsSet("QT_QUICK_CONTROLS_1_STYLE")) { + qputenv("QT_QUICK_CONTROLS_1_STYLE", "Flat"); + } QQmlApplicationEngine engine; QString initialView;