diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2014-06-20 10:55:18 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@digia.com> | 2014-07-02 00:44:18 +0200 |
commit | 82d906a20d3769425dec6a3c618262de9bbaee45 (patch) | |
tree | ad1f2c90d8312df78bfb63d665a2caf490b9ad96 /tests/auto/gui/kernel/qguiapplication | |
parent | b31c9d8c03c471c9bb9296408f1f7ee6a512d3db (diff) |
QGuiApplication::paletteChanged(const QPalette &palette) [signal]
This allows QQuickSystemPalette to listen to palette changes without
installing an expensive event filter on the application object.
Change-Id: I8b693e047d993c444e393d7a714a5709692c3560
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'tests/auto/gui/kernel/qguiapplication')
-rw-r--r-- | tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp index 54b6fc6c44..9a6b9f488b 100644 --- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp +++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp @@ -45,6 +45,7 @@ #include <QtGui/QWindow> #include <QtGui/QScreen> #include <QtGui/QCursor> +#include <QtGui/QPalette> #include <qpa/qwindowsysteminterface.h> #include <qgenericplugin.h> @@ -72,6 +73,7 @@ private slots: void abortQuitOnShow(); void changeFocusWindow(); void keyboardModifiers(); + void palette(); void modalWindow(); void quitOnLastWindowClosed(); void genericPluginsAndWindowSystemEvents(); @@ -434,6 +436,31 @@ void tst_QGuiApplication::keyboardModifiers() window->close(); } +void tst_QGuiApplication::palette() +{ + int argc = 1; + char *argv[] = { const_cast<char*>("tst_qguiapplication") }; + QGuiApplication app(argc, argv); + QSignalSpy signalSpy(&app, SIGNAL(paletteChanged(QPalette))); + + QPalette oldPalette = QGuiApplication::palette(); + QPalette newPalette = QPalette(Qt::red); + + QGuiApplication::setPalette(newPalette); + QCOMPARE(QGuiApplication::palette(), newPalette); + QCOMPARE(signalSpy.count(), 1); + QCOMPARE(signalSpy.at(0).at(0), QVariant(newPalette)); + + QGuiApplication::setPalette(oldPalette); + QCOMPARE(QGuiApplication::palette(), oldPalette); + QCOMPARE(signalSpy.count(), 2); + QCOMPARE(signalSpy.at(1).at(0), QVariant(oldPalette)); + + QGuiApplication::setPalette(oldPalette); + QCOMPARE(QGuiApplication::palette(), oldPalette); + QCOMPARE(signalSpy.count(), 2); +} + class BlockableWindow : public QWindow { Q_OBJECT |