diff options
author | Christian Stenger <christian.stenger@qt.io> | 2022-10-20 10:13:29 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2023-04-27 09:57:43 +0300 |
commit | b8217dc0bb90b518a0006e1708287695c26b66ba (patch) | |
tree | 89e4932b46ce6fa24356b5029f3005b064af8eea /src/libs/kdtools | |
parent | 55213dc1f7e18044fc88e7b9b3ee7c249fd720ae (diff) |
Adapt to QNetworkAccessManager differences in Qt6
Task-number: QTIFW-1829
Change-Id: Ieded786fc608e10fd9068e8f79227e43c5ff3717
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r-- | src/libs/kdtools/filedownloader.cpp | 36 | ||||
-rw-r--r-- | src/libs/kdtools/filedownloader_p.h | 4 |
2 files changed, 34 insertions, 6 deletions
diff --git a/src/libs/kdtools/filedownloader.cpp b/src/libs/kdtools/filedownloader.cpp index a764b6ea4..2c423c0e3 100644 --- a/src/libs/kdtools/filedownloader.cpp +++ b/src/libs/kdtools/filedownloader.cpp @@ -53,6 +53,10 @@ #include <globals.h> #include <QHostInfo> +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#include <QNetworkInformation> +#endif + using namespace KDUpdater; using namespace QInstaller; @@ -1192,9 +1196,8 @@ struct KDUpdater::HttpDownloader::Private disconnect(http, &QNetworkReply::finished, q, &HttpDownloader::httpReqFinished); disconnect(http, &QNetworkReply::downloadProgress, q, &HttpDownloader::httpReadProgress); - void (QNetworkReply::*errorSignal)(QNetworkReply::NetworkError) = &QNetworkReply::error; - disconnect(http, errorSignal, q, &HttpDownloader::httpError); + disconnect(http, &QNetworkReply::errorOccurred, q, &HttpDownloader::httpError); http->deleteLater(); } http = 0; @@ -1220,8 +1223,14 @@ KDUpdater::HttpDownloader::HttpDownloader(QObject *parent) #endif connect(&d->manager, &QNetworkAccessManager::authenticationRequired, this, &HttpDownloader::onAuthenticationRequired); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) connect(&d->manager, &QNetworkAccessManager::networkAccessibleChanged, this, &HttpDownloader::onNetworkAccessibleChanged); +#else + auto netInfo = QNetworkInformation::instance(); + connect(netInfo, &QNetworkInformation::reachabilityChanged, + this, &HttpDownloader::onReachabilityChanged); +#endif } @@ -1481,8 +1490,7 @@ void KDUpdater::HttpDownloader::startDownload(const QUrl &url) connect(d->http, &QNetworkReply::downloadProgress, this, &HttpDownloader::httpReadProgress); connect(d->http, &QNetworkReply::finished, this, &HttpDownloader::httpReqFinished); - void (QNetworkReply::*errorSignal)(QNetworkReply::NetworkError) = &QNetworkReply::error; - connect(d->http, errorSignal, this, &HttpDownloader::httpError); + connect(d->http, &QNetworkReply::errorOccurred, this, &HttpDownloader::httpError); bool fileOpened = false; if (d->destFileName.isEmpty()) { @@ -1532,8 +1540,7 @@ void KDUpdater::HttpDownloader::resumeDownload() connect(d->http, &QNetworkReply::downloadProgress, this, &HttpDownloader::httpReadProgress); connect(d->http, &QNetworkReply::finished, this, &HttpDownloader::httpReqFinished); - void (QNetworkReply::*errorSignal)(QNetworkReply::NetworkError) = &QNetworkReply::error; - connect(d->http, errorSignal, this, &HttpDownloader::httpError); + connect(d->http, &QNetworkReply::errorOccurred, this, &HttpDownloader::httpError); runDownloadSpeedTimer(); runDownloadDeadlineTimer(); } @@ -1575,6 +1582,7 @@ void KDUpdater::HttpDownloader::onAuthenticationRequired(QNetworkReply *reply, Q } } +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) void KDUpdater::HttpDownloader::onNetworkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible) { if (accessible == QNetworkAccessManager::NotAccessible) { @@ -1589,6 +1597,22 @@ void KDUpdater::HttpDownloader::onNetworkAccessibleChanged(QNetworkAccessManager } } } +#else +void KDUpdater::HttpDownloader::onReachabilityChanged(QNetworkInformation::Reachability newReachability) +{ + if (newReachability == QNetworkInformation::Reachability::Online) { + if (isDownloadPaused()) { + setDownloadPaused(false); + resumeDownload(); + } + } else { + d->shutDown(false); + setDownloadPaused(true); + setDownloadResumed(false); + stopDownloadDeadlineTimer(); + } +} +#endif #ifndef QT_NO_SSL diff --git a/src/libs/kdtools/filedownloader_p.h b/src/libs/kdtools/filedownloader_p.h index ec47e31ca..daafe9618 100644 --- a/src/libs/kdtools/filedownloader_p.h +++ b/src/libs/kdtools/filedownloader_p.h @@ -130,7 +130,11 @@ private Q_SLOTS: void httpDone(bool error); void httpReqFinished(); void onAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) void onNetworkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible); +#else + void onReachabilityChanged(QNetworkInformation::Reachability newReachability); +#endif #ifndef QT_NO_SSL void onSslErrors(QNetworkReply* reply, const QList<QSslError> &errors); #endif |