aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-10-19 10:05:18 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-10-20 19:22:19 +0200
commit0ca6837ad76eb23a0e7c5f9981fdb5b8827a0a3e (patch)
tree488bd3deae20115eb1d8a64412ff5677c1a7b431
parent0e22286133d91eb3496965ce71ad95a9bd12eb2c (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.cpp22
-rw-r--r--src/imports/winextras/qquickiconloader_p.h19
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"