aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2023-09-05 15:55:41 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2023-12-12 16:44:45 -0700
commitaec0681977ca996ac5074dcb66de23bd8499d25e (patch)
tree90706e7f97dbfe08ae5db7a3e09a808c0aedd96d
parent9b93c41362155dc92d0a19a0268a8813e99de4bf (diff)
Make accent color available in SystemPalette
Since we added it to the Item.palette property in 6.6 (b82af7b42db3c206ce7dd44e39304bf1166024f2), we might as well be consistent. Also add placeholderText to the tst_qquicksystempalette tests (amends f625afb9f353f23345824995a3de55094706cb29). Task-number: QTBUG-116106 Pick-to: 6.7 Change-Id: I878e29ff7188fd54e8a0da41bcf93932bfca57e6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/quick/util/qquicksystempalette.cpp14
-rw-r--r--src/quick/util/qquicksystempalette_p.h2
-rw-r--r--tests/auto/quick/qquicksystempalette/tst_qquicksystempalette.cpp6
3 files changed, 22 insertions, 0 deletions
diff --git a/src/quick/util/qquicksystempalette.cpp b/src/quick/util/qquicksystempalette.cpp
index 00d62f3fdb..46b2fc00ba 100644
--- a/src/quick/util/qquicksystempalette.cpp
+++ b/src/quick/util/qquicksystempalette.cpp
@@ -230,6 +230,20 @@ QColor QQuickSystemPalette::placeholderText() const
Q_D(const QQuickSystemPalette);
return QGuiApplication::palette().color(d->group, QPalette::PlaceholderText);
}
+
+/*!
+ \qmlproperty color QtQuick::SystemPalette::accent
+ The accent color of the current color group.
+
+ \since 6.7
+ \sa QPalette::ColorRole
+*/
+QColor QQuickSystemPalette::accent() const
+{
+ Q_D(const QQuickSystemPalette);
+ return QGuiApplication::palette().color(d->group, QPalette::Accent);
+}
+
/*!
\qmlproperty enumeration QtQuick::SystemPalette::colorGroup
diff --git a/src/quick/util/qquicksystempalette_p.h b/src/quick/util/qquicksystempalette_p.h
index d09b989447..55c06f2fc2 100644
--- a/src/quick/util/qquicksystempalette_p.h
+++ b/src/quick/util/qquicksystempalette_p.h
@@ -47,6 +47,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickSystemPalette : public QObject
Q_PROPERTY(QColor highlight READ highlight NOTIFY paletteChanged FINAL)
Q_PROPERTY(QColor highlightedText READ highlightedText NOTIFY paletteChanged FINAL)
Q_PROPERTY(QColor placeholderText READ placeholderText NOTIFY paletteChanged REVISION(6, 2) FINAL)
+ Q_PROPERTY(QColor accent READ accent NOTIFY paletteChanged REVISION(6, 7) FINAL)
QML_NAMED_ELEMENT(SystemPalette)
QML_ADDED_IN_VERSION(2, 0)
@@ -76,6 +77,7 @@ public:
QColor highlightedText() const;
QColor placeholderText() const;
+ QColor accent() const;
QQuickSystemPalette::ColorGroup colorGroup() const;
void setColorGroup(QQuickSystemPalette::ColorGroup);
diff --git a/tests/auto/quick/qquicksystempalette/tst_qquicksystempalette.cpp b/tests/auto/quick/qquicksystempalette/tst_qquicksystempalette.cpp
index b9e79051bb..7109987ca7 100644
--- a/tests/auto/quick/qquicksystempalette/tst_qquicksystempalette.cpp
+++ b/tests/auto/quick/qquicksystempalette/tst_qquicksystempalette.cpp
@@ -52,6 +52,8 @@ void tst_qquicksystempalette::activePalette()
QCOMPARE(palette.shadow().color(), object->shadow());
QCOMPARE(palette.highlight().color(), object->highlight());
QCOMPARE(palette.highlightedText().color(), object->highlightedText());
+ QCOMPARE(palette.placeholderText().color(), object->placeholderText());
+ QCOMPARE(palette.accent().color(), object->accent());
delete object;
}
@@ -80,6 +82,8 @@ void tst_qquicksystempalette::inactivePalette()
QCOMPARE(palette.shadow().color(), object->shadow());
QCOMPARE(palette.highlight().color(), object->highlight());
QCOMPARE(palette.highlightedText().color(), object->highlightedText());
+ QCOMPARE(palette.placeholderText().color(), object->placeholderText());
+ QCOMPARE(palette.accent().color(), object->accent());
delete object;
}
@@ -108,6 +112,8 @@ void tst_qquicksystempalette::disabledPalette()
QCOMPARE(palette.shadow().color(), object->shadow());
QCOMPARE(palette.highlight().color(), object->highlight());
QCOMPARE(palette.highlightedText().color(), object->highlightedText());
+ QCOMPARE(palette.placeholderText().color(), object->placeholderText());
+ QCOMPARE(palette.accent().color(), object->accent());
delete object;
}