From b82f9dd722e21fd7694221147dc0dccc94b2ad60 Mon Sep 17 00:00:00 2001 From: Paolo Angelelli <paolo.angelelli@qt.io> Date: Fri, 7 Apr 2017 10:58:46 +0200 Subject: [PATCH] Replace QGeoMapType argument of cameraCapabilities Since the only part of QGeoMapType used in the method is mapId, there's no need to pass the whole map type as argument. The benefit is that the camera caps can be requested solely based on the info in QGeoTileSpec. Change-Id: Iafd0e2a1d4d45fbf02b862efe56841001cbebd75 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> --- src/location/maps/qgeomap.cpp | 4 ++-- src/location/maps/qgeomappingmanagerengine.cpp | 4 ++-- src/location/maps/qgeomappingmanagerengine_p.h | 2 +- .../osm/qgeotiledmappingmanagerengineosm.cpp | 10 +++++----- .../geoservices/osm/qgeotiledmappingmanagerengineosm.h | 2 +- .../geotestplugin/qgeotiledmappingmanagerengine_test.h | 6 +++--- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp index 2419b79ab..0c6ce0a7a 100644 --- a/src/location/maps/qgeomap.cpp +++ b/src/location/maps/qgeomap.cpp @@ -110,7 +110,7 @@ void QGeoMap::setActiveMapType(const QGeoMapType type) if (type == d->m_activeMapType) return; d->m_activeMapType = type; - d->setCameraCapabilities(d->m_engine->cameraCapabilities(type)); // emits + d->setCameraCapabilities(d->m_engine->cameraCapabilities(type.mapId())); // emits d->changeActiveMapType(type); emit activeMapTypeChanged(); } @@ -238,7 +238,7 @@ QGeoMapPrivate::QGeoMapPrivate(QGeoMappingManagerEngine *engine, QGeoProjection { // Setting the default camera caps without emitting anything if (engine) - m_cameraCapabilities = m_engine->cameraCapabilities(m_activeMapType); + m_cameraCapabilities = m_engine->cameraCapabilities(m_activeMapType.mapId()); } QGeoMapPrivate::~QGeoMapPrivate() diff --git a/src/location/maps/qgeomappingmanagerengine.cpp b/src/location/maps/qgeomappingmanagerengine.cpp index a385f8cef..ffc0f0652 100644 --- a/src/location/maps/qgeomappingmanagerengine.cpp +++ b/src/location/maps/qgeomappingmanagerengine.cpp @@ -150,9 +150,9 @@ void QGeoMappingManagerEngine::setSupportedMapTypes(const QList<QGeoMapType> &su emit supportedMapTypesChanged(); } -QGeoCameraCapabilities QGeoMappingManagerEngine::cameraCapabilities(const QGeoMapType &mapType) const +QGeoCameraCapabilities QGeoMappingManagerEngine::cameraCapabilities(int mapId) const { - Q_UNUSED(mapType) + Q_UNUSED(mapId) Q_D(const QGeoMappingManagerEngine); return d->capabilities_; } diff --git a/src/location/maps/qgeomappingmanagerengine_p.h b/src/location/maps/qgeomappingmanagerengine_p.h index b8ebb1ec8..0f347d739 100644 --- a/src/location/maps/qgeomappingmanagerengine_p.h +++ b/src/location/maps/qgeomappingmanagerengine_p.h @@ -90,7 +90,7 @@ public: QList<QGeoMapType> supportedMapTypes() const; // the class is private, so this can be virtual here for now. - virtual QGeoCameraCapabilities cameraCapabilities(const QGeoMapType &mapType) const; + virtual QGeoCameraCapabilities cameraCapabilities(int mapId = 0) const; void setLocale(const QLocale &locale); QLocale locale() const; diff --git a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp index a0fb1a596..9a1a0e47f 100644 --- a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp +++ b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.cpp @@ -349,13 +349,13 @@ QString QGeoTiledMappingManagerEngineOsm::customCopyright() const return m_customCopyright; } -QGeoCameraCapabilities QGeoTiledMappingManagerEngineOsm::cameraCapabilities(const QGeoMapType &mapType) const +QGeoCameraCapabilities QGeoTiledMappingManagerEngineOsm::cameraCapabilities(int mapId) const { - if (mapType.mapId() == 0) - return QGeoMappingManagerEngine::cameraCapabilities(mapType); - int idx = mapType.mapId() - 1; + if (mapId == 0) + return QGeoMappingManagerEngine::cameraCapabilities(mapId); + int idx = mapId - 1; if (idx >= m_providers.size()) - return QGeoMappingManagerEngine::cameraCapabilities(QGeoMapType()); + return QGeoMappingManagerEngine::cameraCapabilities(mapId); return m_providers[idx]->cameraCapabilities(); } diff --git a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.h b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.h index d77ffab58..c5f16c2bc 100644 --- a/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.h +++ b/src/plugins/geoservices/osm/qgeotiledmappingmanagerengineosm.h @@ -62,7 +62,7 @@ public: QGeoMap *createMap() override; const QVector<QGeoTileProviderOsm *> &providers(); QString customCopyright() const; - QGeoCameraCapabilities cameraCapabilities(const QGeoMapType &mapType) const override; + QGeoCameraCapabilities cameraCapabilities(int mapId) const override; protected Q_SLOTS: void onProviderResolutionFinished(const QGeoTileProviderOsm *provider); diff --git a/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h b/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h index 01a4b61a4..94d1420a8 100644 --- a/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h +++ b/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h @@ -91,9 +91,9 @@ public: return new QGeoTiledMapTest(this); } - QGeoCameraCapabilities cameraCapabilities(const QGeoMapType &mapType) const Q_DECL_OVERRIDE + QGeoCameraCapabilities cameraCapabilities(int mapId) const Q_DECL_OVERRIDE { - switch (mapType.mapId()) { + switch (mapId) { case 4: { QGeoCameraCapabilities capabilities; @@ -108,7 +108,7 @@ public: return capabilities; } default: - return QGeoMappingManagerEngine::cameraCapabilities(mapType); + return QGeoMappingManagerEngine::cameraCapabilities(mapId); } } -- GitLab