diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-10-19 10:05:18 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-10-20 19:22:19 +0200 |
commit | 0ca6837ad76eb23a0e7c5f9981fdb5b8827a0a3e (patch) | |
tree | 488bd3deae20115eb1d8a64412ff5677c1a7b431 | |
parent | 0e22286133d91eb3496965ce71ad95a9bd12eb2c (diff) |
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 <oliver.wolff@qt.io>
-rw-r--r-- | src/imports/winextras/qquickiconloader.cpp | 22 | ||||
-rw-r--r-- | 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 <QQmlEngine> -#include <QNetworkAccessManager> -#include <QFileInfo> -#include <QNetworkRequest> -#include <QNetworkReply> -#include <QQuickImageProvider> -#include <QQmlFile> -#include <qt_windows.h> +#include <QtQuick/QQuickImageProvider> +#include <QtQml/QQmlEngine> +#include <QtQml/QQmlFile> +#if QT_CONFIG(qml_network) +# include <QtNetwork/QNetworkAccessManager> +# include <QtNetwork/QNetworkRequest> +# include <QtNetwork/QNetworkReply> +#endif +#include <QtCore/QFileInfo> +#include <QtCore/qt_windows.h> 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 <QObject> -#include <QVariant> -#include <QUrl> -#include <QIcon> -#include <QPixmap> -#include <QDebug> +#include <QtQml/qtqml-config.h> +#include <QtGui/QIcon> +#include <QtGui/QPixmap> +#include <QtCore/QDebug> +#include <QtCore/QObject> +#include <QtCore/QVariant> +#include <QtCore/QUrl> 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 <typename Object> 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" |