summaryrefslogtreecommitdiffstats
path: root/src/FileDownloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/FileDownloader.cpp')
-rw-r--r--src/FileDownloader.cpp37
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));
+}