File indexing completed on 2024-05-12 05:22:32
0001 /* 0002 * This file is part of LibKGAPI library 0003 * 0004 * SPDX-FileCopyrightText: 2013 Daniel Vrátil <dvratil@redhat.com> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "staticmaptilefetchjob.h" 0010 #include "debug.h" 0011 #include "staticmapurl.h" 0012 0013 #include <QNetworkAccessManager> 0014 #include <QNetworkReply> 0015 #include <QNetworkRequest> 0016 0017 using namespace KGAPI2; 0018 0019 class Q_DECL_HIDDEN StaticMapTileFetchJob::Private 0020 { 0021 public: 0022 QUrl url; 0023 QPixmap tilePixmap; 0024 }; 0025 0026 StaticMapTileFetchJob::StaticMapTileFetchJob(const StaticMapUrl &url, QObject *parent) 0027 : Job(parent) 0028 , d(new Private) 0029 { 0030 d->url = url.url(); 0031 } 0032 0033 StaticMapTileFetchJob::StaticMapTileFetchJob(const QUrl &url, QObject *parent) 0034 : Job(parent) 0035 , d(new Private) 0036 { 0037 d->url = url; 0038 } 0039 0040 StaticMapTileFetchJob::~StaticMapTileFetchJob() 0041 { 0042 delete d; 0043 } 0044 0045 QPixmap StaticMapTileFetchJob::tilePixmap() const 0046 { 0047 if (isRunning()) { 0048 qCWarning(KGAPIDebug) << "Called tilePixmap on a running job!"; 0049 return QPixmap(); 0050 } 0051 0052 return d->tilePixmap; 0053 } 0054 0055 void StaticMapTileFetchJob::start() 0056 { 0057 enqueueRequest(QNetworkRequest(d->url)); 0058 } 0059 0060 void StaticMapTileFetchJob::dispatchRequest(QNetworkAccessManager *accessManager, 0061 const QNetworkRequest &request, 0062 const QByteArray &data, 0063 const QString &contentType) 0064 { 0065 Q_UNUSED(data) 0066 Q_UNUSED(contentType) 0067 0068 accessManager->get(request); 0069 } 0070 0071 void StaticMapTileFetchJob::handleReply(const QNetworkReply *reply, const QByteArray &rawData) 0072 { 0073 Q_UNUSED(reply) 0074 0075 d->tilePixmap.loadFromData(rawData); 0076 emitFinished(); 0077 } 0078 0079 #include "moc_staticmaptilefetchjob.cpp"