summaryrefslogtreecommitdiffstats
path: root/src/plugins/styles/modernwindows/main.cpp
diff options
context:
space:
mode:
authorWladimir Leuschner <wladimir.leuschner@qt.io>2023-06-08 12:40:30 +0300
committerWladimir Leuschner <wladimir.leuschner@qt.io>2023-10-27 18:32:54 +0200
commit65d58e6c41e3c549c89ea4f05a8e467466e79ca3 (patch)
tree89a7a6ce6d2d8e2aead01ef1e80b112d8f8c59a9 /src/plugins/styles/modernwindows/main.cpp
parent8ac49acca637940842f2f3ab702cd52d0a343283 (diff)
Introduce new empty Windows 11 style
A new empty Windows 11 style plugin is introduced and QWindowsVistaStyle module is renamed to QModernWindowsStylePlugin containing styles for Windows Vista and Windows 11. The color palette is adjusted according to the Windows 11 guidelines. [ChangeLog][Windows] Introduction of Windows 11 specific style. [ChangeLog][Windows] Renaming of QWindowsVistaStylePlugin to QModernWindowsStylePlugin Change-Id: I5f67d7e8c9a3033ffe57ecbaebbf0e3fb10c60ab Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/plugins/styles/modernwindows/main.cpp')
-rw-r--r--src/plugins/styles/modernwindows/main.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/plugins/styles/modernwindows/main.cpp b/src/plugins/styles/modernwindows/main.cpp
new file mode 100644
index 0000000000..a4d8e60385
--- /dev/null
+++ b/src/plugins/styles/modernwindows/main.cpp
@@ -0,0 +1,36 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
+#include <QtWidgets/qstyleplugin.h>
+#include <QtCore/qoperatingsystemversion.h>
+#include "qwindowsvistastyle_p.h"
+#include "qwindows11style_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QModernWindowsStylePlugin : public QStylePlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "modernwindowsstyles.json")
+public:
+ QStyle *create(const QString &key) override;
+};
+
+QStyle *QModernWindowsStylePlugin::create(const QString &key)
+{
+ bool isWin11OrAbove = QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows11;
+ if (isWin11OrAbove && key.compare(QLatin1String("windows11"), Qt::CaseInsensitive) == 0) {
+ return new QWindows11Style();
+ } else if (!isWin11OrAbove && key.compare(QLatin1String("windows11"), Qt::CaseInsensitive) == 0) {
+ qWarning("QWindows11Style: Style is only supported on Windows11 and above");
+ return new QWindowsVistaStyle();
+ } else if (key.compare(QLatin1String("windowsvista"), Qt::CaseInsensitive) == 0) {
+ return new QWindowsVistaStyle();
+ }
+ return nullptr;
+}
+
+QT_END_NAMESPACE
+
+#include "main.moc"