1 #include <QNetworkAccessManager>
2 #include <QNetworkRequest>
3 #include <QNetworkReply>
7 #include <QNetworkDiskCache>
8 #include <QDesktopServices>
10 #include "mapfetcher.h"
12 MapFetcher::MapFetcher(QObject *parent)
15 QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
16 diskCache->setCacheDirectory(QDesktopServices::storageLocation(
17 QDesktopServices::CacheLocation));
18 m_manager.setCache(diskCache);
20 connect(&m_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloadFinished(QNetworkReply*)));
23 void MapFetcher::fetchMapImage(const QUrl &url)
25 qDebug() << "fetchMapImage()";
29 QNetworkRequest request(url);
30 request.setRawHeader("User-Agent", "Map Test");
31 m_manager.get(request);
34 void MapFetcher::downloadFinished(QNetworkReply *reply)
36 qDebug() << "downloadFinished()";
38 qDebug() << reply->errorString();
39 emit error(reply->errorString());
43 QUrl url = reply->url();
44 if (!image.load(reply, 0))
47 emit mapImageReceived(url, QPixmap::fromImage(image));
53 MapFetcher::~MapFetcher()