void UBHttpFileDownloader::downloadNext() { if (mUrlsToDownload.length() > 0 && mFilesToSave.length() > 0) { QUrl url = mUrlsToDownload.takeFirst(); mCurrentFile = mFilesToSave.takeFirst(); if (!mCurrentFile->open(QIODevice::WriteOnly | QIODevice::Truncate)) { qCritical() << "cannot open " << mCurrentFile << " for writing ..."; return; } UBNetworkAccessManager * nam = UBNetworkAccessManager::defaultAccessManager(); QNetworkRequest request(url); mReply = nam->get(request); // UB 4.2 TODO who owns and delete the reply ? connect(mReply, SIGNAL(finished ()), this, SLOT(finished ())); connect(mReply, SIGNAL(error ( QNetworkReply::NetworkError )), this, SLOT(error ( QNetworkReply::NetworkError))); connect(mReply, SIGNAL(downloadProgress ( qint64 , qint64 )), this, SLOT(downloadProgress(qint64 , qint64))); connect(mReply, SIGNAL(readyRead ()), this, SLOT( readyRead())); } else { emit finished(mSuccess); } }
void UBHttpGet::get(QUrl pUrl, QPointF pPos, QSize pSize, bool isBackground) { mPos = pPos; mSize = pSize; mIsBackground = isBackground; if (mReply) delete mReply; UBNetworkAccessManager * nam = UBNetworkAccessManager::defaultAccessManager(); mReply = nam->get(QNetworkRequest(pUrl)); //mReply deleted by this destructor mDownloadedBytes.clear(); connect(mReply, SIGNAL(finished()), this, SLOT(requestFinished())); connect(mReply, SIGNAL(readyRead()), this, SLOT(readyRead())); connect(mReply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(downloadProgressed(qint64, qint64))); }