diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-10-16 13:39:11 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-10-18 17:00:24 +0200 |
commit | 87f29754ec3234858f0d9b3fd86dc6412e0de552 (patch) | |
tree | ac22786bab0b880225260bc93abd41831d27b4ec /tests/auto/widgets | |
parent | f1408d9966854cf55f15d59547f99d3aa2585fd4 (diff) |
Fix compile warning from testing deprecated signal
Silence the warning, and test event delivery in addition.
Change-Id: I59c49a2ac70ecd32429116b76643700a7ad5ce3e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r-- | tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp index 6c6793b26b..5cd976f4d7 100644 --- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp @@ -213,19 +213,58 @@ void tst_QApplication::staticSetup() QVERIFY(style); QApplication::setStyle(style); - bool palette_changed = false; QPalette pal; QApplication::setPalette(pal); - - /*QFont font; - QApplication::setFont(font);*/ + QFont font; + QApplication::setFont(font); int argc = 0; QApplication app(argc, nullptr); - QObject::connect(&app, &QApplication::paletteChanged, [&palette_changed]{ palette_changed = true; }); - QVERIFY(!palette_changed); + + class EventWatcher : public QObject + { + public: + int palette_changed = 0; + int font_changed = 0; + + EventWatcher() + { + qApp->installEventFilter(this); +QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED + QObject::connect(qApp, &QApplication::paletteChanged, [&]{ ++palette_changed; }); + QObject::connect(qApp, &QApplication::fontChanged, [&]{ ++font_changed; }); +QT_WARNING_POP + } + + protected: + bool eventFilter(QObject *, QEvent *event) override + { + switch (event->type()) { + case QEvent::ApplicationPaletteChange: + ++palette_changed; + break; + case QEvent::ApplicationFontChange: + ++font_changed; + break; + default: + break; + } + + return false; + } + }; + + EventWatcher watcher; + + QCOMPARE(watcher.palette_changed, 0); + QCOMPARE(watcher.font_changed, 0); qApp->setPalette(QPalette(Qt::red)); - QVERIFY(palette_changed); + + font.setBold(!font.bold()); + qApp->setFont(font); + QApplication::processEvents(); + QCOMPARE(watcher.palette_changed, 2); + QCOMPARE(watcher.font_changed, 2); } |