diff options
Diffstat (limited to 'src/FileDownloader.cpp')
-rw-r--r-- | src/FileDownloader.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/FileDownloader.cpp b/src/FileDownloader.cpp new file mode 100644 index 0000000..d72fdd8 --- /dev/null +++ b/src/FileDownloader.cpp @@ -0,0 +1,37 @@ +/* + * FileDownloader.cpp + * + * Created on: Mar 7, 2014 + * Author: nils + */ + +#include <QFileInfo> + +#include "FileDownloader.h" + +FileDownloader::FileDownloader(QObject *parent) : + QObject(parent) { + connect(&m_WebCtrl, SIGNAL(finished(QNetworkReply*)), + SLOT(fileDownloaded(QNetworkReply*))); +} + +FileDownloader::~FileDownloader() { + +} + +void FileDownloader::connectSlot(QObject* obj, const char* slot) { + QObject::connect(this, SIGNAL(downloaded(QString& fileName, QByteArray downloadedData)), + obj, slot); +} + +void FileDownloader::fileDownloaded(QNetworkReply* pReply) { + QByteArray downloadedData = pReply->readAll(); + //emit a signal + pReply->deleteLater(); + emit downloaded(this->fileName, downloadedData); +} + +void FileDownloader::downloadFile(const QUrl& fileUrl) { + this->fileName = QFileInfo(fileUrl.toLocalFile()).fileName(); + m_WebCtrl.get(QNetworkRequest(fileUrl)); +} |