diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-05-30 15:50:55 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-06-02 08:49:51 +0000 |
commit | aa30d9026c09e826f1f965bb4b1682debfc97df9 (patch) | |
tree | 6cd030a19e66c2e606f1fd83a23c066e8ede34dd /tests/auto/palette | |
parent | 1af7f8a597138d57e4ea932572f0dd5c0832bcf0 (diff) |
Add support for configurable palettes
A style's default palette is specified in qtquickcontrols2.conf in
a "Palette" group under the style's section. QSettings supports the
following two alternative syntaxes:
[Fusion]
Palette\Window=#dedede
Palette\WindowText=#212121
or
[Fusion\Palette]
Window=#dedede
WindowText=#212121
Change-Id: I01bf44d9e332064e955e95f619de634fcb79f010
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/palette')
-rw-r--r-- | tests/auto/palette/palette.pro | 2 | ||||
-rw-r--r-- | tests/auto/palette/qtquickcontrols2.conf | 5 | ||||
-rw-r--r-- | tests/auto/palette/tst_palette.cpp | 26 |
3 files changed, 24 insertions, 9 deletions
diff --git a/tests/auto/palette/palette.pro b/tests/auto/palette/palette.pro index 36e7601c..c7d55d07 100644 --- a/tests/auto/palette/palette.pro +++ b/tests/auto/palette/palette.pro @@ -8,6 +8,8 @@ QT += core-private gui-private qml-private quick-private testlib quicktemplates2 include (../shared/util.pri) +RESOURCES += qtquickcontrols2.conf + TESTDATA = data/* OTHER_FILES += \ diff --git a/tests/auto/palette/qtquickcontrols2.conf b/tests/auto/palette/qtquickcontrols2.conf new file mode 100644 index 00000000..2ffc7ecc --- /dev/null +++ b/tests/auto/palette/qtquickcontrols2.conf @@ -0,0 +1,5 @@ +[Default] +Palette\Base=#efefef + +[Default\Palette] +Text=#101010 diff --git a/tests/auto/palette/tst_palette.cpp b/tests/auto/palette/tst_palette.cpp index c27f2a2a..2d125725 100644 --- a/tests/auto/palette/tst_palette.cpp +++ b/tests/auto/palette/tst_palette.cpp @@ -69,9 +69,13 @@ void tst_palette::palette_data() QTest::addColumn<QString>("testFile"); QTest::addColumn<QPalette>("expectedPalette"); - QTest::newRow("Control") << "palette-control-default.qml" << QPalette(); - QTest::newRow("AppWindow") << "palette-appwindow-default.qml" << QPalette(); - QTest::newRow("Popup") << "palette-popup-default.qml" << QPalette(); + QPalette defaultPalette; + defaultPalette.setColor(QPalette::Base, QColor("#efefef")); + defaultPalette.setColor(QPalette::Text, QColor("#101010")); + + QTest::newRow("Control") << "palette-control-default.qml" << defaultPalette; + QTest::newRow("AppWindow") << "palette-appwindow-default.qml" << defaultPalette; + QTest::newRow("Popup") << "palette-popup-default.qml" << defaultPalette; QPalette customPalette; customPalette.setColor(QPalette::AlternateBase, QColor("aqua")); @@ -142,13 +146,17 @@ void tst_palette::inheritance() QObject *grandChild = window->property("grandChild").value<QObject *>(); QVERIFY(control && child && grandChild); - QCOMPARE(window->palette(), QPalette()); + QPalette defaultPalette; + defaultPalette.setColor(QPalette::Base, QColor("#efefef")); + defaultPalette.setColor(QPalette::Text, QColor("#101010")); + + QCOMPARE(window->palette(), defaultPalette); - QCOMPARE(control->property("palette").value<QPalette>(), QPalette()); - QCOMPARE(child->property("palette").value<QPalette>(), QPalette()); - QCOMPARE(grandChild->property("palette").value<QPalette>(), QPalette()); + QCOMPARE(control->property("palette").value<QPalette>(), defaultPalette); + QCOMPARE(child->property("palette").value<QPalette>(), defaultPalette); + QCOMPARE(grandChild->property("palette").value<QPalette>(), defaultPalette); - QPalette childPalette; + QPalette childPalette(defaultPalette); childPalette.setColor(QPalette::Base, Qt::red); childPalette.setColor(QPalette::Text, Qt::green); childPalette.setColor(QPalette::Button, Qt::blue); @@ -163,7 +171,7 @@ void tst_palette::inheritance() QCOMPARE(child->property("palette").value<QPalette>(), childPalette); QCOMPARE(grandChild->property("palette").value<QPalette>(), grandChildPalette); - QPalette windowPalette; + QPalette windowPalette(defaultPalette); windowPalette.setColor(QPalette::Window, Qt::gray); window->setPalette(windowPalette); QCOMPARE(window->palette(), windowPalette); |