From 0ca6837ad76eb23a0e7c5f9981fdb5b8827a0a3e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 19 Oct 2020 10:05:18 +0200 Subject: Fix compilation with -no-qml-network Add some #ifdefs, rearrange includes. Pick-to: 5.15 Fixes: QTBUG-87694 Change-Id: Id66b3e62e75873472a3fb7cf57457ace55c18961 Reviewed-by: Oliver Wolff --- src/imports/winextras/qquickiconloader.cpp | 22 ++++++++++++++-------- src/imports/winextras/qquickiconloader_p.h | 19 +++++++++++++------ 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/imports/winextras/qquickiconloader.cpp b/src/imports/winextras/qquickiconloader.cpp index b5b7e5b..c226143 100644 --- a/src/imports/winextras/qquickiconloader.cpp +++ b/src/imports/winextras/qquickiconloader.cpp @@ -40,14 +40,16 @@ #include "qquickiconloader_p.h" -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#if QT_CONFIG(qml_network) +# include +# include +# include +#endif +#include +#include QT_BEGIN_NAMESPACE @@ -68,10 +70,12 @@ QVariant QQuickIconLoader::loadFromFile(const QUrl &url, QVariant::Type type) return QVariant(); } +#if QT_CONFIG(qml_network) QNetworkReply *QQuickIconLoader::loadFromNetwork(const QUrl &url, const QQmlEngine *engine) { return engine->networkAccessManager()->get(QNetworkRequest(url)); } +#endif // qml_network QVariant QQuickIconLoader::loadFromImageProvider(const QUrl &url, const QQmlEngine *engine, QVariant::Type type, QSize requestedSize) @@ -113,6 +117,7 @@ QVariant QQuickIconLoader::loadFromImageProvider(const QUrl &url, const QQmlEngi return QVariant(); } +#if QT_CONFIG(qml_network) QQuickIconLoaderNetworkReplyHandler::QQuickIconLoaderNetworkReplyHandler(QNetworkReply *reply, QVariant::Type type) : QObject(reply) , m_type(type) @@ -145,5 +150,6 @@ void QQuickIconLoaderNetworkReplyHandler::onRequestFinished() } reply->deleteLater(); } +#endif // qml_network QT_END_NAMESPACE diff --git a/src/imports/winextras/qquickiconloader_p.h b/src/imports/winextras/qquickiconloader_p.h index 22aaae6..abc247b 100644 --- a/src/imports/winextras/qquickiconloader_p.h +++ b/src/imports/winextras/qquickiconloader_p.h @@ -52,12 +52,13 @@ // We mean it. // -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include QT_BEGIN_NAMESPACE @@ -90,9 +91,12 @@ private: static QVariant loadFromFile(const QUrl &url, QVariant::Type type); static QVariant loadFromImageProvider(const QUrl &url, const QQmlEngine *engine, QVariant::Type type, QSize requestedSize); +#if QT_CONFIG(qml_network) static QNetworkReply *loadFromNetwork(const QUrl &url, const QQmlEngine *engine); +#endif }; +#if QT_CONFIG(qml_network) // Internal handler which loads the resource once QNetworkReply finishes class QQuickIconLoaderNetworkReplyHandler : public QObject { @@ -110,6 +114,7 @@ private Q_SLOTS: private: const QVariant::Type m_type; }; +#endif // qml_network template QQuickIconLoader::LoadResult @@ -119,11 +124,13 @@ QQuickIconLoader::LoadResult { const QString scheme = url.scheme(); if (scheme.startsWith(u"http")) { +#if QT_CONFIG(qml_network) if (QNetworkReply *reply = QQuickIconLoader::loadFromNetwork(url, engine)) { auto *handler = new QQuickIconLoaderNetworkReplyHandler(reply, type); QObject::connect(handler, &QQuickIconLoaderNetworkReplyHandler::finished, receiver, function); return LoadNetworkRequestStarted; } +#endif // qml_network return LoadError; } const QVariant resource = scheme == u"image" -- cgit v1.2.3