From 87f29754ec3234858f0d9b3fd86dc6412e0de552 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Fri, 16 Oct 2020 13:39:11 +0200 Subject: Fix compile warning from testing deprecated signal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Silence the warning, and test event delivery in addition. Change-Id: I59c49a2ac70ecd32429116b76643700a7ad5ce3e Reviewed-by: Tor Arne Vestbø --- .../kernel/qapplication/tst_qapplication.cpp | 53 +++++++++++++++++++--- 1 file 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); } -- cgit v1.2.3