aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicknativestyle
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicknativestyle')
-rw-r--r--src/quicknativestyle/CMakeLists.txt1
-rw-r--r--src/quicknativestyle/util/qquickstyleconstants.h30
-rw-r--r--src/quicknativestyle/util/qquickstyleconstants.mm40
3 files changed, 71 insertions, 0 deletions
diff --git a/src/quicknativestyle/CMakeLists.txt b/src/quicknativestyle/CMakeLists.txt
index 598baba146..ece4d4589e 100644
--- a/src/quicknativestyle/CMakeLists.txt
+++ b/src/quicknativestyle/CMakeLists.txt
@@ -107,6 +107,7 @@ qt_internal_extend_target(qtquickcontrols2nativestyleplugin CONDITION MACOS
qstyle/mac/qquickmacstyle_mac.mm qstyle/mac/qquickmacstyle_mac_p.h
qstyle/mac/qquickmacstyle_mac_p_p.h
util/qquickmacfocusframe.h util/qquickmacfocusframe.mm
+ util/qquickstyleconstants.h util/qquickstyleconstants.mm
INCLUDE_DIRECTORIES
qstyle/mac
LIBRARIES
diff --git a/src/quicknativestyle/util/qquickstyleconstants.h b/src/quicknativestyle/util/qquickstyleconstants.h
new file mode 100644
index 0000000000..d2c6379512
--- /dev/null
+++ b/src/quicknativestyle/util/qquickstyleconstants.h
@@ -0,0 +1,30 @@
+// Copyright (C) 2025 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
+
+#ifndef QQUICKSTYLECONSTANTS_H
+#define QQUICKSTYLECONSTANTS_H
+
+#include <QtQml/QtQml>
+
+QT_BEGIN_NAMESPACE
+
+class QQuickStyleConstants : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(bool runningWithLiquidGlass READ runningWithLiquidGlass CONSTANT FINAL)
+ Q_PROPERTY(QColor secondarySystemFillColor READ secondarySystemFillColor CONSTANT FINAL)
+ Q_PROPERTY(QColor tertiarySystemFillColor READ tertiarySystemFillColor CONSTANT FINAL)
+ QML_NAMED_ELEMENT(StyleConstants)
+ QML_SINGLETON
+
+public:
+ QQuickStyleConstants();
+
+ bool runningWithLiquidGlass() const;
+ QColor secondarySystemFillColor() const;
+ QColor tertiarySystemFillColor() const;
+};
+
+QT_END_NAMESPACE
+
+#endif // QQUICKSTYLECONSTANTS_H
diff --git a/src/quicknativestyle/util/qquickstyleconstants.mm b/src/quicknativestyle/util/qquickstyleconstants.mm
new file mode 100644
index 0000000000..b99c49b1ad
--- /dev/null
+++ b/src/quicknativestyle/util/qquickstyleconstants.mm
@@ -0,0 +1,40 @@
+// Copyright (C) 2025 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 "qquickstyleconstants.h"
+
+#include <QtCore/private/qcore_mac_p.h>
+#include <QtGui/private/qcoregraphics_p.h>
+
+#include <AppKit/AppKit.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace Qt::StringLiterals;
+
+QQuickStyleConstants::QQuickStyleConstants()
+{
+}
+
+bool QQuickStyleConstants::runningWithLiquidGlass() const
+{
+ return qt_apple_runningWithLiquidGlass();
+}
+
+QColor QQuickStyleConstants::secondarySystemFillColor() const
+{
+ if (@available(macOS 14.0, *))
+ return qt_mac_toQBrush([NSColor secondarySystemFillColor]).color();
+ return Qt::black;
+}
+
+QColor QQuickStyleConstants::tertiarySystemFillColor() const
+{
+ if (@available(macOS 14.0, *))
+ return qt_mac_toQBrush([NSColor tertiarySystemFillColor]).color();
+ return Qt::black;
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qquickstyleconstants.cpp"