aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/palette
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-05-30 15:50:55 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-06-02 08:49:51 +0000
commitaa30d9026c09e826f1f965bb4b1682debfc97df9 (patch)
tree6cd030a19e66c2e606f1fd83a23c066e8ede34dd /tests/auto/palette
parent1af7f8a597138d57e4ea932572f0dd5c0832bcf0 (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.pro2
-rw-r--r--tests/auto/palette/qtquickcontrols2.conf5
-rw-r--r--tests/auto/palette/tst_palette.cpp26
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);