diff options
Diffstat (limited to 'src/quicknativestyle')
| -rw-r--r-- | src/quicknativestyle/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/quicknativestyle/util/qquickstyleconstants.h | 30 | ||||
| -rw-r--r-- | src/quicknativestyle/util/qquickstyleconstants.mm | 40 |
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" |
