hopefully fixing the loading issue when the connection fails
This commit is contained in:
parent
59b237ee91
commit
c07d636b03
2 changed files with 19 additions and 1 deletions
|
|
@ -29,6 +29,7 @@ QNetworkAccessManager* MyNetworkManager::create(QObject *parent) {
|
|||
connect(nam, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(onSslErrors(QNetworkReply*,QList<QSslError>)));
|
||||
connect(nam, SIGNAL(finished(QNetworkReply*)), this, SLOT(onReplyFinished(QNetworkReply*)));
|
||||
connect(nam, SIGNAL(started()), this, SLOT(onStarted()));
|
||||
connect(nam, SIGNAL(error()), this, SLOT(onError()));
|
||||
|
||||
QNetworkDiskCache* diskCache = new QNetworkDiskCache(parent);
|
||||
diskCache->setCacheDirectory(QDesktopServices::storageLocation(QDesktopServices::CacheLocation));
|
||||
|
|
@ -42,7 +43,19 @@ QNetworkReply *MyNetworkAccessManager::createRequest( QNetworkAccessManager::Ope
|
|||
this->started();
|
||||
QNetworkRequest request(req);
|
||||
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
|
||||
return QNetworkAccessManager::createRequest(op, request, outgoingData);
|
||||
QNetworkReply *reply = QNetworkAccessManager::createRequest(op, request, outgoingData);
|
||||
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError()));
|
||||
return reply;
|
||||
}
|
||||
|
||||
void MyNetworkAccessManager::onError() {
|
||||
this->error();
|
||||
}
|
||||
|
||||
void MyNetworkManager::onError() {
|
||||
_numRequests--;
|
||||
if (_numRequests == 0)
|
||||
loadingChanged();
|
||||
}
|
||||
|
||||
void MyNetworkManager::onSslErrors(QNetworkReply *reply, const QList<QSslError> &errors) {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ private slots:
|
|||
void onSslErrors(QNetworkReply *reply, const QList<QSslError> &errors);
|
||||
void onReplyFinished(QNetworkReply *reply);
|
||||
void onStarted();
|
||||
void onError();
|
||||
|
||||
private:
|
||||
static QScopedPointer<MyNetworkManager> m_instance;
|
||||
|
|
@ -48,8 +49,12 @@ class MyNetworkAccessManager : public QNetworkAccessManager {
|
|||
public:
|
||||
MyNetworkAccessManager(QObject *parent = 0) : QNetworkAccessManager(parent) { }
|
||||
|
||||
private slots:
|
||||
void onError();
|
||||
|
||||
signals:
|
||||
void started();
|
||||
void error();
|
||||
|
||||
protected:
|
||||
QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue