summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2014-06-20 10:55:18 +0200
committerJ-P Nurmi <jpnurmi@digia.com>2014-07-02 00:44:18 +0200
commit82d906a20d3769425dec6a3c618262de9bbaee45 (patch)
treead1f2c90d8312df78bfb63d665a2caf490b9ad96 /tests
parentb31c9d8c03c471c9bb9296408f1f7ee6a512d3db (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')
-rw-r--r--tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp27
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