summaryrefslogtreecommitdiffstats
path: root/src/FileDownloader.cpp
diff options
context:
space:
mode:
authorNils Schwabe2014-03-14 14:50:24 +0100
committerNils Schwabe2014-03-14 14:50:24 +0100
commit280c0256db2378c9f33775b270f211660e5bf868 (patch)
tree7b420929c841b82c3c7558856a9471a212606581 /src/FileDownloader.cpp
parentadded function: icon fallback if icon is not found locally (diff)
downloadvmchooser2-280c0256db2378c9f33775b270f211660e5bf868.tar.gz
vmchooser2-280c0256db2378c9f33775b270f211660e5bf868.tar.xz
vmchooser2-280c0256db2378c9f33775b270f211660e5bf868.zip
- Added IconHolder to cache items
- Added FileDownloader for icon downloads
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));
+}