Added MapEngine and MapFetcher files.
[situare] / src / map / mapfetcher.cpp
1 #include <QNetworkAccessManager>
2 #include <QNetworkRequest>
3 #include <QNetworkReply>
4 #include <QUrl>
5 #include <QDebug>
6 #include <QPixmap>
7
8 #include "mapfetcher.h"
9
10 MapFetcher::MapFetcher(QObject *parent)
11     : QObject(parent)
12 {
13     connect(&m_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloadFinished(QNetworkReply*)));
14 }
15
16 void MapFetcher::fetchMapImage(const QUrl &url)
17 {
18     if (url.isEmpty())
19         return;
20
21     QNetworkRequest request(url);
22     request.setRawHeader("User-Agent", "Map Test");
23     qDebug() << request.url();
24     m_manager.get(request);
25 }
26
27 void MapFetcher::downloadFinished(QNetworkReply *reply)
28 {
29     qDebug() << "downloadFinished()";
30     if (reply->error()) {
31         qDebug() << reply->errorString();
32         emit error(reply->errorString());
33     }
34     else {
35         QImage image;
36         QUrl url = reply->url();
37         if (!image.load(reply, 0))
38             image = QImage();
39
40         emit mapImageReceived(image);
41     }
42
43     reply->deleteLater();
44 }
45
46 MapFetcher::~MapFetcher()
47 {
48
49 }