aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2023-09-04 14:15:25 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-09-08 20:30:13 +0000
commit466877e8de32ec26e403fcb07205cb4b11694798 (patch)
tree39ae7415662aa7abd0806d1626246d82bef55ab5
parent29b580340bfae617728a31a5f1f6bd4c89a7db40 (diff)
Make accent palette role available to QML
By adding it to ColorGroup. It was added to QPalette in 17c589df94a2245ee92d45839c2cba73566d7310 (6.6). Fixes: QTBUG-116106 Change-Id: Ief38c131c5c7c01e02839235914f2917b9ba8255 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit b82af7b42db3c206ce7dd44e39304bf1166024f2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/quick/items/qquickcolorgroup.cpp15
-rw-r--r--src/quick/items/qquickcolorgroup_p.h6
-rw-r--r--tests/auto/quickcontrols/palette/data/palette-appwindow-custom.qml1
-rw-r--r--tests/auto/quickcontrols/palette/data/palette-control-custom.qml1
-rw-r--r--tests/auto/quickcontrols/palette/data/palette-popup-custom.qml1
-rw-r--r--tests/auto/quickcontrols/palette/tst_palette.cpp9
6 files changed, 26 insertions, 7 deletions
diff --git a/src/quick/items/qquickcolorgroup.cpp b/src/quick/items/qquickcolorgroup.cpp
index 273ee31fa2..51679efc37 100644
--- a/src/quick/items/qquickcolorgroup.cpp
+++ b/src/quick/items/qquickcolorgroup.cpp
@@ -499,6 +499,21 @@ void QQuickColorGroup::resetPlaceholderText()
resetColor(QPalette::PlaceholderText, &QQuickColorGroup::placeholderTextChanged);
}
+QColor QQuickColorGroup::accent() const
+{
+ return color(QPalette::Accent);
+}
+
+void QQuickColorGroup::setAccent(const QColor &color)
+{
+ setColor(QPalette::Accent, color, &QQuickColorGroup::accentChanged);
+}
+
+void QQuickColorGroup::resetAccent()
+{
+ resetColor(QPalette::Accent, &QQuickColorGroup::accentChanged);
+}
+
QPalette::ColorGroup QQuickColorGroup::groupTag() const
{
return m_groupTag;
diff --git a/src/quick/items/qquickcolorgroup_p.h b/src/quick/items/qquickcolorgroup_p.h
index 54c883e1c7..0021500894 100644
--- a/src/quick/items/qquickcolorgroup_p.h
+++ b/src/quick/items/qquickcolorgroup_p.h
@@ -52,6 +52,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickColorGroup : public QObject
Q_PROPERTY(QColor windowText READ windowText WRITE setWindowText RESET resetWindowText NOTIFY windowTextChanged FINAL)
Q_PROPERTY(QColor placeholderText READ placeholderText WRITE setPlaceholderText
RESET resetPlaceholderText NOTIFY placeholderTextChanged REVISION(6, 2) FINAL)
+ Q_PROPERTY(QColor accent READ accent WRITE setAccent RESET resetAccent NOTIFY accentChanged REVISION(6, 6) FINAL)
QML_NAMED_ELEMENT(ColorGroup)
QML_ADDED_IN_VERSION(6, 0)
@@ -144,6 +145,10 @@ public:
void setPlaceholderText(const QColor &color);
void resetPlaceholderText();
+ QColor accent() const;
+ void setAccent(const QColor &color);
+ void resetAccent();
+
QPalette::ColorGroup groupTag() const;
void setGroupTag(QPalette::ColorGroup tag);
@@ -173,6 +178,7 @@ Q_SIGNALS:
void windowChanged();
void windowTextChanged();
Q_REVISION(6, 2) void placeholderTextChanged();
+ Q_REVISION(6, 6) void accentChanged();
void changed();
diff --git a/tests/auto/quickcontrols/palette/data/palette-appwindow-custom.qml b/tests/auto/quickcontrols/palette/data/palette-appwindow-custom.qml
index 22876b90fa..f8eadb81a6 100644
--- a/tests/auto/quickcontrols/palette/data/palette-appwindow-custom.qml
+++ b/tests/auto/quickcontrols/palette/data/palette-appwindow-custom.qml
@@ -25,4 +25,5 @@ ApplicationWindow {
palette.window: "plum"
palette.windowText: "salmon"
palette.placeholderText: "magenta"
+ palette.accent: "darkkhaki"
}
diff --git a/tests/auto/quickcontrols/palette/data/palette-control-custom.qml b/tests/auto/quickcontrols/palette/data/palette-control-custom.qml
index 4c4206cdfd..7678d66818 100644
--- a/tests/auto/quickcontrols/palette/data/palette-control-custom.qml
+++ b/tests/auto/quickcontrols/palette/data/palette-control-custom.qml
@@ -25,4 +25,5 @@ Control {
palette.window: "plum"
palette.windowText: "salmon"
palette.placeholderText: "magenta"
+ palette.accent: "darkkhaki"
}
diff --git a/tests/auto/quickcontrols/palette/data/palette-popup-custom.qml b/tests/auto/quickcontrols/palette/data/palette-popup-custom.qml
index c534d30156..264528d0a6 100644
--- a/tests/auto/quickcontrols/palette/data/palette-popup-custom.qml
+++ b/tests/auto/quickcontrols/palette/data/palette-popup-custom.qml
@@ -25,4 +25,5 @@ Popup {
palette.window: "plum"
palette.windowText: "salmon"
palette.placeholderText: "magenta"
+ palette.accent: "darkkhaki"
}
diff --git a/tests/auto/quickcontrols/palette/tst_palette.cpp b/tests/auto/quickcontrols/palette/tst_palette.cpp
index 52f2502bf0..4a9db69422 100644
--- a/tests/auto/quickcontrols/palette/tst_palette.cpp
+++ b/tests/auto/quickcontrols/palette/tst_palette.cpp
@@ -20,12 +20,6 @@
using namespace QQuickControlsTestUtils;
-// Need a more descriptive failure message: QTBUG-87039
-#define COMPARE_PALETTES(actualPalette, expectedPalette) \
- QVERIFY2(actualPalette == expectedPalette, \
- qPrintable(QString::fromLatin1("\n Actual: %1\n Expected: %2") \
- .arg(QDebug::toString(actualPalette)).arg(QDebug::toString(expectedPalette))));
-
class tst_palette : public QQmlDataTest
{
Q_OBJECT
@@ -108,6 +102,7 @@ void tst_palette::palette_data()
customPalette.setColor(QPalette::Window, QColor("plum"));
customPalette.setColor(QPalette::WindowText, QColor("salmon"));
customPalette.setColor(QPalette::PlaceholderText, QColor("magenta"));
+ customPalette.setColor(QPalette::Accent, QColor("darkkhaki"));
QTest::newRow("Control:custom") << "palette-control-custom.qml" << customPalette;
QTest::newRow("AppWindow:custom") << "palette-appwindow-custom.qml" << customPalette;
@@ -129,7 +124,7 @@ void tst_palette::palette()
QVariant var = object->property("palette");
QVERIFY(var.isValid());
- COMPARE_PALETTES(var.value<QQuickPalette*>()->toQPalette(), expectedPalette);
+ QCOMPARE(var.value<QQuickPalette*>()->toQPalette(), expectedPalette);
}
void tst_palette::inheritance_data()