summaryrefslogtreecommitdiff
path: root/src/location/maps
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/maps')
-rw-r--r--src/location/maps/qgeomap.cpp19
-rw-r--r--src/location/maps/qgeomap_p.h2
-rw-r--r--src/location/maps/qgeomap_p_p.h4
-rw-r--r--src/location/maps/qgeotiledmap.cpp16
-rw-r--r--src/location/maps/qgeotiledmap_p.h2
5 files changed, 41 insertions, 2 deletions
diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp
index 0c6ce0a7..46a88003 100644
--- a/src/location/maps/qgeomap.cpp
+++ b/src/location/maps/qgeomap.cpp
@@ -230,6 +230,15 @@ QString QGeoMap::copyrightsStyleSheet() const
return QStringLiteral("#copyright-root { background: rgba(255, 255, 255, 128) }");
}
+void QGeoMap::setCopyrightVisible(bool visible)
+{
+ Q_D(QGeoMap);
+ if (d->m_copyrightVisible == visible)
+ return;
+
+ d->m_copyrightVisible = visible;
+}
+
QGeoMapPrivate::QGeoMapPrivate(QGeoMappingManagerEngine *engine, QGeoProjection *geoProjection)
: QObjectPrivate(),
m_geoProjection(geoProjection),
@@ -287,4 +296,14 @@ void QGeoMapPrivate::removeMapItem(QDeclarativeGeoMapItemBase *item)
Q_UNUSED(item)
}
+void QGeoMapPrivate::setCopyrightVisible(bool visible)
+{
+ m_copyrightVisible = visible;
+}
+
+bool QGeoMapPrivate::copyrightVisible() const
+{
+ return m_copyrightVisible;
+}
+
QT_END_NAMESPACE
diff --git a/src/location/maps/qgeomap_p.h b/src/location/maps/qgeomap_p.h
index bb7ade55..f465be1d 100644
--- a/src/location/maps/qgeomap_p.h
+++ b/src/location/maps/qgeomap_p.h
@@ -124,6 +124,8 @@ public:
virtual QString copyrightsStyleSheet() const;
+ virtual void setCopyrightVisible(bool visible);
+
protected:
QGeoMap(QGeoMapPrivate &dd, QObject *parent = 0);
void setCameraData(const QGeoCameraData &cameraData);
diff --git a/src/location/maps/qgeomap_p_p.h b/src/location/maps/qgeomap_p_p.h
index ec498484..2c366610 100644
--- a/src/location/maps/qgeomap_p_p.h
+++ b/src/location/maps/qgeomap_p_p.h
@@ -90,6 +90,9 @@ protected:
virtual void changeCameraData(const QGeoCameraData &oldCameraData) = 0; // called by QGeoMap::setCameraData()
virtual void changeActiveMapType(const QGeoMapType mapType) = 0; // called by QGeoMap::setActiveMapType()
+ virtual void setCopyrightVisible(bool visible);
+ virtual bool copyrightVisible() const;
+
protected:
QSize m_viewportSize;
QGeoProjection *m_geoProjection;
@@ -99,6 +102,7 @@ protected:
QList<QGeoMapParameter *> m_mapParameters;
QList<QDeclarativeGeoMapItemBase *> m_mapItems;
QGeoCameraCapabilities m_cameraCapabilities;
+ bool m_copyrightVisible = true;
};
QT_END_NAMESPACE
diff --git a/src/location/maps/qgeotiledmap.cpp b/src/location/maps/qgeotiledmap.cpp
index 0eeb189d..815a8b99 100644
--- a/src/location/maps/qgeotiledmap.cpp
+++ b/src/location/maps/qgeotiledmap.cpp
@@ -143,6 +143,17 @@ void QGeoTiledMap::clearData()
d->m_mapScene->clearTexturedTiles();
}
+void QGeoTiledMap::setCopyrightVisible(bool visible)
+{
+ Q_D(QGeoTiledMap);
+ if (visible == d->m_copyrightVisible)
+ return;
+
+ QGeoMap::setCopyrightVisible(visible);
+ if (visible)
+ evaluateCopyrights(d->m_mapScene->visibleTiles());
+}
+
void QGeoTiledMap::clearScene(int mapId)
{
Q_D(QGeoTiledMap);
@@ -319,7 +330,7 @@ void QGeoTiledMapPrivate::updateScene()
bool newTilesIntroduced = !m_mapScene->visibleTiles().contains(tiles);
m_mapScene->setVisibleTiles(tiles);
- if (newTilesIntroduced)
+ if (newTilesIntroduced && m_copyrightVisible)
q->evaluateCopyrights(tiles);
// don't request tiles that are already built and textured
@@ -381,7 +392,8 @@ void QGeoTiledMapPrivate::changeViewportSize(const QSize& size)
m_cache->setMinTextureUsage(newSize);
}
- q->evaluateCopyrights(m_visibleTiles->createTiles());
+ if (m_copyrightVisible)
+ q->evaluateCopyrights(m_mapScene->visibleTiles());
updateScene();
}
diff --git a/src/location/maps/qgeotiledmap_p.h b/src/location/maps/qgeotiledmap_p.h
index b709cb57..89dd1285 100644
--- a/src/location/maps/qgeotiledmap_p.h
+++ b/src/location/maps/qgeotiledmap_p.h
@@ -87,6 +87,8 @@ public:
void prefetchData() Q_DECL_OVERRIDE;
void clearData() Q_DECL_OVERRIDE;
+ void setCopyrightVisible(bool visible) override;
+
public Q_SLOTS:
virtual void clearScene(int mapId);