diff --git a/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp b/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp index 51b613d..ba330b1 100644 --- a/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp +++ b/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp @@ -46,7 +46,11 @@ #include #include +#if QT_VERSION < 0x050500 #include +#else +#include +#endif #include #include @@ -54,6 +58,14 @@ #include "qgeotilefetcherqgc.h" #include "OpenPilotMaps.h" +#if QT_VERSION >= 0x050500 +QGeoTiledMapQGC::QGeoTiledMapQGC(QGeoTiledMappingManagerEngine *engine, QObject *parent) + : QGeoTiledMap(engine, parent) +{ + +} +#endif + QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVariantMap ¶meters, QGeoServiceProvider::Error *error, QString *errorString) : QGeoTiledMappingManagerEngine() { @@ -151,13 +163,34 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian *error = QGeoServiceProvider::NoError; errorString->clear(); + +#if QT_VERSION >= 0x050500 + if (parameters.contains(QStringLiteral("mapping.copyright"))) + m_customCopyright = parameters.value(QStringLiteral("mapping.copyright")).toString().toLatin1(); +#endif } QGeoTiledMappingManagerEngineQGC::~QGeoTiledMappingManagerEngineQGC() { } +#if QT_VERSION < 0x050500 + QGeoMapData *QGeoTiledMappingManagerEngineQGC::createMapData() { return new QGeoTiledMapData(this, 0); } + +#else + +QGeoMap *QGeoTiledMappingManagerEngineQGC::createMap() +{ + return new QGeoTiledMapQGC(this); +} + +QString QGeoTiledMappingManagerEngineQGC::customCopyright() const +{ + return m_customCopyright; +} + +#endif diff --git a/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.h b/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.h index 0bee02c..03f0f9c 100644 --- a/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.h +++ b/src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.h @@ -48,15 +48,36 @@ #define QGEOTILEDMAPPINGMANAGERENGINEGOOGLE_H #include +#if QT_VERSION >= 0x050500 +#include +#endif #include +#if QT_VERSION >= 0x050500 +class QGeoTiledMapQGC : public QGeoTiledMap +{ + Q_OBJECT +public: + QGeoTiledMapQGC(QGeoTiledMappingManagerEngine *engine, QObject *parent = 0); +}; +#endif + class QGeoTiledMappingManagerEngineQGC : public QGeoTiledMappingManagerEngine { Q_OBJECT public: QGeoTiledMappingManagerEngineQGC(const QVariantMap ¶meters, QGeoServiceProvider::Error *error, QString *errorString); ~QGeoTiledMappingManagerEngineQGC(); +#if QT_VERSION < 0x050500 QGeoMapData *createMapData(); +#else + QGeoMap *createMap(); + QString customCopyright() const; +#endif +private: +#if QT_VERSION >= 0x050500 + QString m_customCopyright; +#endif }; #endif // QGEOTILEDMAPPINGMANAGERENGINEGOOGLE_H diff --git a/src/main.cc b/src/main.cc index 9ff0d79..585a46c 100644 --- a/src/main.cc +++ b/src/main.cc @@ -87,10 +87,12 @@ int main(int argc, char *argv[]) { #ifdef Q_OS_MAC +#ifndef __ios__ // Prevent Apple's app nap from screwing us over // tip: the domain can be cross-checked on the command line with QProcess::execute("defaults write org.qgroundcontrol.qgroundcontrol NSAppSleepDisabled -bool YES"); #endif +#endif // install the message handler #ifdef Q_OS_WIN