diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2023-09-04 14:15:25 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-09-08 20:30:13 +0000 |
commit | 466877e8de32ec26e403fcb07205cb4b11694798 (patch) | |
tree | 39ae7415662aa7abd0806d1626246d82bef55ab5 | |
parent | 29b580340bfae617728a31a5f1f6bd4c89a7db40 (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>
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() |