diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 5205f2b2f6c..414ff22f3fe 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -462,6 +462,11 @@ void QPixmapIconEngine::addFile(const QString &fileName, const QSize &size, QIco pixmaps += QPixmapIconEngineEntry(abs, size, mode, state); } +bool QPixmapIconEngine::isNull() +{ + return pixmaps.isEmpty(); +} + QString QPixmapIconEngine::key() const { return "QPixmapIconEngine"_L1; diff --git a/src/gui/image/qicon_p.h b/src/gui/image/qicon_p.h index c8d228259ef..c5bf1206207 100644 --- a/src/gui/image/qicon_p.h +++ b/src/gui/image/qicon_p.h @@ -84,7 +84,7 @@ public: QList availableSizes(QIcon::Mode mode, QIcon::State state) override; void addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state) override; void addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state) override; - + bool isNull() override; QString key() const override; QIconEngine *clone() const override; diff --git a/tests/auto/gui/image/qicon/tst_qicon.cpp b/tests/auto/gui/image/qicon/tst_qicon.cpp index 71df9f12ca6..d7fcd58a03e 100644 --- a/tests/auto/gui/image/qicon/tst_qicon.cpp +++ b/tests/auto/gui/image/qicon/tst_qicon.cpp @@ -195,17 +195,17 @@ void tst_QIcon::isNull() { // test string constructor with non-existing file QIcon iconNoFile = QIcon("imagedoesnotexist"); - QVERIFY(!iconNoFile.isNull()); + QVERIFY(iconNoFile.isNull()); QVERIFY(!iconNoFile.actualSize(QSize(32, 32)).isValid()); // test string constructor with non-existing file with suffix QIcon iconNoFileSuffix = QIcon("imagedoesnotexist.png"); - QVERIFY(!iconNoFileSuffix.isNull()); + QVERIFY(iconNoFileSuffix.isNull()); QVERIFY(!iconNoFileSuffix.actualSize(QSize(32, 32)).isValid()); // test string constructor with existing file but unsupported format QIcon iconUnsupportedFormat = QIcon(m_sourceFileName); - QVERIFY(!iconUnsupportedFormat.isNull()); + QVERIFY(iconUnsupportedFormat.isNull()); QVERIFY(!iconUnsupportedFormat.actualSize(QSize(32, 32)).isValid()); // test string constructor with existing file and supported format diff --git a/tests/auto/widgets/util/qsystemtrayicon/CMakeLists.txt b/tests/auto/widgets/util/qsystemtrayicon/CMakeLists.txt index b64dab76c12..401c572fbce 100644 --- a/tests/auto/widgets/util/qsystemtrayicon/CMakeLists.txt +++ b/tests/auto/widgets/util/qsystemtrayicon/CMakeLists.txt @@ -5,10 +5,16 @@ ## tst_qsystemtrayicon Test: ##################################################################### +set(resources_resource_files + "icons/icon.png" +) + qt_internal_add_test(tst_qsystemtrayicon SOURCES tst_qsystemtrayicon.cpp LIBRARIES Qt::Gui Qt::Widgets + TESTDATA ${resources_resource_files} + BUILTIN_TESTDATA ) diff --git a/tests/auto/widgets/util/qsystemtrayicon/tst_qsystemtrayicon.cpp b/tests/auto/widgets/util/qsystemtrayicon/tst_qsystemtrayicon.cpp index 2b04fc51047..3bdf24b393f 100644 --- a/tests/auto/widgets/util/qsystemtrayicon/tst_qsystemtrayicon.cpp +++ b/tests/auto/widgets/util/qsystemtrayicon/tst_qsystemtrayicon.cpp @@ -39,9 +39,9 @@ tst_QSystemTrayIcon::~tst_QSystemTrayIcon() void tst_QSystemTrayIcon::showHide() { QSystemTrayIcon icon; - icon.setIcon(QIcon("icons/icon.png")); + icon.setIcon(QIcon(":/icons/icon.png")); icon.show(); - icon.setIcon(QIcon("icons/icon.png")); + icon.setIcon(QIcon(":/icons/icon.png")); icon.hide(); } @@ -49,7 +49,7 @@ void tst_QSystemTrayIcon::showHide() void tst_QSystemTrayIcon::showMessage() { QSystemTrayIcon icon; - icon.setIcon(QIcon("icons/icon.png")); + icon.setIcon(QIcon(":/icons/icon.png")); icon.showMessage("Title", "Messagecontents"); icon.showMessage("Title", "Messagecontents", QSystemTrayIcon::NoIcon); @@ -72,7 +72,7 @@ void tst_QSystemTrayIcon::getSetCheck() QCOMPARE(true, "testToolTip" == icon.toolTip()); QCOMPARE(true, icon.icon().isNull()); - icon.setIcon(QIcon("icons/icon.png")); + icon.setIcon(QIcon(":/icons/icon.png")); QCOMPARE(false, icon.icon().isNull()); QMenu menu; @@ -104,7 +104,7 @@ void tst_QSystemTrayIcon::lastWindowClosed() QSignalSpy spy(qApp, &QGuiApplication::lastWindowClosed); QWidget window; QSystemTrayIcon icon; - icon.setIcon(QIcon("whatever.png")); + icon.setIcon(QIcon(":/icons/icon.png")); icon.show(); window.show(); QTimer::singleShot(2500, &window, SLOT(close()));