diff options
Diffstat (limited to 'src')
13 files changed, 81 insertions, 88 deletions
diff --git a/src/imports/location/qdeclarativecirclemapitem.cpp b/src/imports/location/qdeclarativecirclemapitem.cpp index 92977179..eb3de7a2 100644 --- a/src/imports/location/qdeclarativecirclemapitem.cpp +++ b/src/imports/location/qdeclarativecirclemapitem.cpp @@ -35,7 +35,6 @@ ****************************************************************************/ #include "qdeclarativecirclemapitem_p.h" -#include "qdeclarativegeomapquickitem_p.h" #include "qdeclarativepolygonmapitem_p.h" #include "qgeocameracapabilities_p.h" #include "qgeoprojection_p.h" @@ -302,9 +301,9 @@ QDeclarativeCircleMapItem::QDeclarativeCircleMapItem(QQuickItem *parent) { setFlag(ItemHasContents, true); QObject::connect(&border_, SIGNAL(colorChanged(QColor)), - this, SLOT(updateMapItemAssumeDirty())); + this, SLOT(markSourceDirtyAndUpdate())); QObject::connect(&border_, SIGNAL(widthChanged(qreal)), - this, SLOT(updateMapItemAssumeDirty())); + this, SLOT(markSourceDirtyAndUpdate())); // assume that circles are not self-intersecting // to speed up processing @@ -335,21 +334,18 @@ QDeclarativeMapLineProperties *QDeclarativeCircleMapItem::border() return &border_; } -void QDeclarativeCircleMapItem::updateMapItemAssumeDirty() +void QDeclarativeCircleMapItem::markSourceDirtyAndUpdate() { geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } void QDeclarativeCircleMapItem::setMap(QDeclarativeGeoMap *quickMap, QGeoMap *map) { QDeclarativeGeoMapItemBase::setMap(quickMap,map); - if (map) { - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); - } + if (map) + markSourceDirtyAndUpdate(); } /*! @@ -365,10 +361,7 @@ void QDeclarativeCircleMapItem::setCenter(const QGeoCoordinate ¢er) return; center_ = center; - - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); + markSourceDirtyAndUpdate(); emit centerChanged(center_); } @@ -389,7 +382,7 @@ void QDeclarativeCircleMapItem::setColor(const QColor &color) return; color_ = color; dirtyMaterial_ = true; - updateMapItem(); + update(); emit colorChanged(color_); } @@ -411,9 +404,7 @@ void QDeclarativeCircleMapItem::setRadius(qreal radius) return; radius_ = radius; - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); + markSourceDirtyAndUpdate(); emit radiusChanged(radius); } @@ -459,7 +450,7 @@ QSGNode *QDeclarativeCircleMapItem::updateMapItemPaintNode(QSGNode *oldNode, Upd /*! \internal */ -void QDeclarativeCircleMapItem::updateMapItem() +void QDeclarativeCircleMapItem::updatePolish() { if (!map() || !center().isValid()) return; @@ -501,7 +492,6 @@ void QDeclarativeCircleMapItem::updateMapItem() } setPositionOnMap(circlePath_.at(0), geometry_.firstPointOffset()); - update(); } /*! @@ -541,7 +531,7 @@ void QDeclarativeCircleMapItem::afterViewportChanged(const QGeoMapViewportChange geometry_.markScreenDirty(); borderGeometry_.markScreenDirty(); - updateMapItem(); + polishAndUpdate(); } /*! diff --git a/src/imports/location/qdeclarativecirclemapitem_p.h b/src/imports/location/qdeclarativecirclemapitem_p.h index fb786e08..9b142309 100644 --- a/src/imports/location/qdeclarativecirclemapitem_p.h +++ b/src/imports/location/qdeclarativecirclemapitem_p.h @@ -56,8 +56,6 @@ QT_BEGIN_NAMESPACE -class QDeclarativeGeoMapQuickItem; - class QGeoMapCircleGeometry : public QGeoMapPolygonGeometry { public: @@ -101,10 +99,10 @@ Q_SIGNALS: protected: void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; + void updatePolish() Q_DECL_OVERRIDE; protected Q_SLOTS: - virtual void updateMapItem() Q_DECL_OVERRIDE; - void updateMapItemAssumeDirty(); + void markSourceDirtyAndUpdate(); virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) Q_DECL_OVERRIDE; private: diff --git a/src/imports/location/qdeclarativegeomap.cpp b/src/imports/location/qdeclarativegeomap.cpp index 2b76d318..d9981b69 100644 --- a/src/imports/location/qdeclarativegeomap.cpp +++ b/src/imports/location/qdeclarativegeomap.cpp @@ -1227,6 +1227,10 @@ void QDeclarativeGeoMap::fitViewportToMapItemsRefine(bool refine) continue; } } + // Force map items to update immediately. Needed to ensure correct item size and positions + // when recursively calling this function. + if (item->isPolishScheduled()) + item->updatePolish(); topLeftX = item->position().x(); topLeftY = item->position().y(); diff --git a/src/imports/location/qdeclarativegeomapitembase.cpp b/src/imports/location/qdeclarativegeomapitembase.cpp index e76c11b0..cde00abf 100644 --- a/src/imports/location/qdeclarativegeomapitembase.cpp +++ b/src/imports/location/qdeclarativegeomapitembase.cpp @@ -39,6 +39,7 @@ #include <QtQml/QQmlInfo> #include <QtQuick/QSGOpacityNode> #include <QtQuick/private/qquickmousearea_p.h> +#include <QtQuick/private/qquickitem_p.h> QT_BEGIN_NAMESPACE @@ -248,6 +249,17 @@ QSGNode *QDeclarativeGeoMapItemBase::updateMapItemPaintNode(QSGNode *oldNode, Up return 0; } +bool QDeclarativeGeoMapItemBase::isPolishScheduled() const +{ + return QQuickItemPrivate::get(this)->polishScheduled; +} + +void QDeclarativeGeoMapItemBase::polishAndUpdate() +{ + polish(); + update(); +} + #include "moc_qdeclarativegeomapitembase_p.cpp" diff --git a/src/imports/location/qdeclarativegeomapitembase_p.h b/src/imports/location/qdeclarativegeomapitembase_p.h index d4ad34c5..c7793fbd 100644 --- a/src/imports/location/qdeclarativegeomapitembase_p.h +++ b/src/imports/location/qdeclarativegeomapitembase_p.h @@ -89,13 +89,14 @@ public: virtual QSGNode *updateMapItemPaintNode(QSGNode *, UpdatePaintNodeData *); protected Q_SLOTS: - virtual void updateMapItem() = 0; virtual void afterChildrenChanged(); virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) = 0; + void polishAndUpdate(); protected: float zoomLevelOpacity() const; bool childMouseEventFilter(QQuickItem *item, QEvent *event); + bool isPolishScheduled() const; private Q_SLOTS: void baseCameraDataChanged(const QGeoCameraData &camera); @@ -106,6 +107,8 @@ private: QSizeF lastSize_; QGeoCameraData lastCameraData_; + + friend class QDeclarativeGeoMap; }; QT_END_NAMESPACE diff --git a/src/imports/location/qdeclarativegeomapquickitem.cpp b/src/imports/location/qdeclarativegeomapquickitem.cpp index 81f88dac..ca67b183 100644 --- a/src/imports/location/qdeclarativegeomapquickitem.cpp +++ b/src/imports/location/qdeclarativegeomapquickitem.cpp @@ -146,8 +146,7 @@ void QDeclarativeGeoMapQuickItem::setCoordinate(const QGeoCoordinate &coordinate coordinate_ = coordinate; - updateMapItem(); - + polishAndUpdate(); emit coordinateChanged(); } @@ -158,10 +157,11 @@ void QDeclarativeGeoMapQuickItem::setMap(QDeclarativeGeoMap *quickMap, QGeoMap * { QDeclarativeGeoMapItemBase::setMap(quickMap,map); if (map && quickMap) { - QObject::connect(quickMap, SIGNAL(heightChanged()), this, SLOT(updateMapItem())); - QObject::connect(quickMap, SIGNAL(widthChanged()), this, SLOT(updateMapItem())); - QObject::connect(map, SIGNAL(cameraDataChanged(QGeoCameraData)), this, SLOT(updateMapItem())); - updateMapItem(); + connect(quickMap, SIGNAL(heightChanged()), this, SLOT(polishAndUpdate())); + connect(quickMap, SIGNAL(widthChanged()), this, SLOT(polishAndUpdate())); + connect(map, SIGNAL(cameraDataChanged(QGeoCameraData)), + this, SLOT(polishAndUpdate())); + polishAndUpdate(); } } @@ -203,8 +203,7 @@ void QDeclarativeGeoMapQuickItem::setSourceItem(QQuickItem *sourceItem) return; sourceItem_ = sourceItem; - updateMapItem(); - + polishAndUpdate(); emit sourceItemChanged(); } @@ -249,7 +248,7 @@ void QDeclarativeGeoMapQuickItem::setAnchorPoint(const QPointF &anchorPoint) if (anchorPoint == anchorPoint_) return; anchorPoint_ = anchorPoint; - updateMapItem(); + polishAndUpdate(); emit anchorPointChanged(); } @@ -281,7 +280,7 @@ void QDeclarativeGeoMapQuickItem::setZoomLevel(qreal zoomLevel) if (zoomLevel == zoomLevel_) return; zoomLevel_ = zoomLevel; - updateMapItem(); + polishAndUpdate(); emit zoomLevelChanged(); } @@ -293,7 +292,7 @@ qreal QDeclarativeGeoMapQuickItem::zoomLevel() const /*! \internal */ -void QDeclarativeGeoMapQuickItem::updateMapItem() +void QDeclarativeGeoMapQuickItem::updatePolish() { if (!quickMap() && sourceItem_) { mapAndSourceItemSet_ = false; @@ -311,13 +310,13 @@ void QDeclarativeGeoMapQuickItem::updateMapItem() sourceItem_.data()->setParentItem(opacityContainer_); sourceItem_.data()->setTransformOrigin(QQuickItem::TopLeft); connect(sourceItem_.data(), SIGNAL(xChanged()), - this, SLOT(updateMapItem())); + this, SLOT(polishAndUpdate())); connect(sourceItem_.data(), SIGNAL(yChanged()), - this, SLOT(updateMapItem())); + this, SLOT(polishAndUpdate())); connect(sourceItem_.data(), SIGNAL(widthChanged()), - this, SLOT(updateMapItem())); + this, SLOT(polishAndUpdate())); connect(sourceItem_.data(), SIGNAL(heightChanged()), - this, SLOT(updateMapItem())); + this, SLOT(polishAndUpdate())); } QScopedValueRollback<bool> rollback(updatingGeometry_); @@ -330,7 +329,6 @@ void QDeclarativeGeoMapQuickItem::updateMapItem() setWidth(sourceItem_.data()->width()); setHeight(sourceItem_.data()->height()); setPositionOnMap(coordinate(), scaleFactor() * anchorPoint_); - update(); } /*! diff --git a/src/imports/location/qdeclarativegeomapquickitem_p.h b/src/imports/location/qdeclarativegeomapquickitem_p.h index af9f6ec6..0410f060 100644 --- a/src/imports/location/qdeclarativegeomapquickitem_p.h +++ b/src/imports/location/qdeclarativegeomapquickitem_p.h @@ -90,9 +90,9 @@ Q_SIGNALS: protected: void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; + void updatePolish() Q_DECL_OVERRIDE; protected Q_SLOTS: - virtual void updateMapItem() Q_DECL_OVERRIDE; virtual void afterChildrenChanged() Q_DECL_OVERRIDE; virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) Q_DECL_OVERRIDE; diff --git a/src/imports/location/qdeclarativepolygonmapitem.cpp b/src/imports/location/qdeclarativepolygonmapitem.cpp index 9a71614f..6fdef816 100644 --- a/src/imports/location/qdeclarativepolygonmapitem.cpp +++ b/src/imports/location/qdeclarativepolygonmapitem.cpp @@ -332,7 +332,7 @@ QDeclarativePolygonMapItem::QDeclarativePolygonMapItem(QQuickItem *parent) void QDeclarativePolygonMapItem::handleBorderUpdated() { borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } QDeclarativePolygonMapItem::~QDeclarativePolygonMapItem() @@ -367,7 +367,7 @@ void QDeclarativePolygonMapItem::setMap(QDeclarativeGeoMap *quickMap, QGeoMap *m if (map) { geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } } @@ -423,7 +423,7 @@ void QDeclarativePolygonMapItem::setPath(const QJSValue &value) geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -441,7 +441,7 @@ void QDeclarativePolygonMapItem::addCoordinate(const QGeoCoordinate &coordinate) geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -465,7 +465,7 @@ void QDeclarativePolygonMapItem::removeCoordinate(const QGeoCoordinate &coordina geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -489,7 +489,7 @@ void QDeclarativePolygonMapItem::setColor(const QColor &color) color_ = color; dirtyMaterial_ = true; - updateMapItem(); + update(); emit colorChanged(color_); } @@ -519,7 +519,7 @@ QSGNode *QDeclarativePolygonMapItem::updateMapItemPaintNode(QSGNode *oldNode, Up /*! \internal */ -void QDeclarativePolygonMapItem::updateMapItem() +void QDeclarativePolygonMapItem::updatePolish() { if (!map() || path_.count() == 0) return; @@ -546,7 +546,6 @@ void QDeclarativePolygonMapItem::updateMapItem() setHeight(combined.height()); setPositionOnMap(path_.at(0), -1 * geometry_.sourceBoundingBox().topLeft()); - update(); } /*! @@ -582,7 +581,7 @@ void QDeclarativePolygonMapItem::afterViewportChanged(const QGeoMapViewportChang borderGeometry_.setPreserveGeometry(true, borderGeometry_.geoLeftBound()); geometry_.markScreenDirty(); borderGeometry_.markScreenDirty(); - updateMapItem(); + polishAndUpdate(); } /*! @@ -639,7 +638,7 @@ void QDeclarativePolygonMapItem::geometryChanged(const QRectF &newGeometry, cons borderGeometry_.setPreserveGeometry(true, leftBoundCoord); geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } diff --git a/src/imports/location/qdeclarativepolygonmapitem_p.h b/src/imports/location/qdeclarativepolygonmapitem_p.h index 86a9ec4c..8b803b1d 100644 --- a/src/imports/location/qdeclarativepolygonmapitem_p.h +++ b/src/imports/location/qdeclarativepolygonmapitem_p.h @@ -111,9 +111,9 @@ Q_SIGNALS: protected: void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; + void updatePolish() Q_DECL_OVERRIDE; protected Q_SLOTS: - virtual void updateMapItem() Q_DECL_OVERRIDE; void handleBorderUpdated(); virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) Q_DECL_OVERRIDE; diff --git a/src/imports/location/qdeclarativepolylinemapitem.cpp b/src/imports/location/qdeclarativepolylinemapitem.cpp index 9201701c..71a205d3 100644 --- a/src/imports/location/qdeclarativepolylinemapitem.cpp +++ b/src/imports/location/qdeclarativepolylinemapitem.cpp @@ -472,7 +472,7 @@ void QDeclarativePolylineMapItem::updateAfterLinePropertiesChanged() { // mark dirty just in case we're a width change geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } /*! @@ -483,7 +483,7 @@ void QDeclarativePolylineMapItem::setMap(QDeclarativeGeoMap *quickMap, QGeoMap * QDeclarativeGeoMapItemBase::setMap(quickMap,map); if (map) { geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } } @@ -546,7 +546,7 @@ void QDeclarativePolylineMapItem::setPathFromGeoList(const QList<QGeoCoordinate> path_ = path; geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -563,7 +563,7 @@ void QDeclarativePolylineMapItem::addCoordinate(const QGeoCoordinate &coordinate path_.append(coordinate); geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -586,7 +586,7 @@ void QDeclarativePolylineMapItem::removeCoordinate(const QGeoCoordinate &coordin path_.removeAt(index); geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -652,7 +652,7 @@ void QDeclarativePolylineMapItem::geometryChanged(const QRectF &newGeometry, con + newCoordinate.longitude() - firstLongitude)); geometry_.setPreserveGeometry(true, leftBoundCoord); geometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); emit pathChanged(); } @@ -688,13 +688,13 @@ void QDeclarativePolylineMapItem::afterViewportChanged(const QGeoMapViewportChan } geometry_.setPreserveGeometry(true, geometry_.geoLeftBound()); geometry_.markScreenDirty(); - updateMapItem(); + polishAndUpdate(); } /*! \internal */ -void QDeclarativePolylineMapItem::updateMapItem() +void QDeclarativePolylineMapItem::updatePolish() { if (!map() || path_.count() == 0) return; @@ -709,7 +709,6 @@ void QDeclarativePolylineMapItem::updateMapItem() setHeight(geometry_.sourceBoundingBox().height()); setPositionOnMap(path_.at(0), -1 * geometry_.sourceBoundingBox().topLeft()); - update(); } /*! diff --git a/src/imports/location/qdeclarativepolylinemapitem_p.h b/src/imports/location/qdeclarativepolylinemapitem_p.h index 6eeeb11f..a7b7f167 100644 --- a/src/imports/location/qdeclarativepolylinemapitem_p.h +++ b/src/imports/location/qdeclarativepolylinemapitem_p.h @@ -132,9 +132,9 @@ Q_SIGNALS: protected: void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; void setPathFromGeoList(const QList<QGeoCoordinate> &path); + void updatePolish() Q_DECL_OVERRIDE; protected Q_SLOTS: - virtual void updateMapItem() Q_DECL_OVERRIDE; void updateAfterLinePropertiesChanged(); virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) Q_DECL_OVERRIDE; diff --git a/src/imports/location/qdeclarativerectanglemapitem.cpp b/src/imports/location/qdeclarativerectanglemapitem.cpp index 2dbb630b..c28bcf3e 100644 --- a/src/imports/location/qdeclarativerectanglemapitem.cpp +++ b/src/imports/location/qdeclarativerectanglemapitem.cpp @@ -177,9 +177,9 @@ QDeclarativeRectangleMapItem::QDeclarativeRectangleMapItem(QQuickItem *parent) { setFlag(ItemHasContents, true); QObject::connect(&border_, SIGNAL(colorChanged(QColor)), - this, SLOT(updateMapItemAssumeDirty())); + this, SLOT(markSourceDirtyAndUpdate())); QObject::connect(&border_, SIGNAL(widthChanged(qreal)), - this, SLOT(updateMapItemAssumeDirty())); + this, SLOT(markSourceDirtyAndUpdate())); } QDeclarativeRectangleMapItem::~QDeclarativeRectangleMapItem() @@ -192,11 +192,8 @@ QDeclarativeRectangleMapItem::~QDeclarativeRectangleMapItem() void QDeclarativeRectangleMapItem::setMap(QDeclarativeGeoMap *quickMap, QGeoMap *map) { QDeclarativeGeoMapItemBase::setMap(quickMap,map); - if (map) { - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); - } + if (map) + markSourceDirtyAndUpdate(); } /*! @@ -229,9 +226,7 @@ void QDeclarativeRectangleMapItem::setTopLeft(const QGeoCoordinate &topLeft) topLeft_ = topLeft; - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); + markSourceDirtyAndUpdate(); emit topLeftChanged(topLeft_); } @@ -243,11 +238,11 @@ QGeoCoordinate QDeclarativeRectangleMapItem::topLeft() /*! \internal */ -void QDeclarativeRectangleMapItem::updateMapItemAssumeDirty() +void QDeclarativeRectangleMapItem::markSourceDirtyAndUpdate() { geometry_.markSourceDirty(); borderGeometry_.markSourceDirty(); - updateMapItem(); + polishAndUpdate(); } /*! @@ -263,9 +258,7 @@ void QDeclarativeRectangleMapItem::setBottomRight(const QGeoCoordinate &bottomRi bottomRight_ = bottomRight; - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); + markSourceDirtyAndUpdate(); emit bottomRightChanged(bottomRight_); } @@ -291,7 +284,7 @@ void QDeclarativeRectangleMapItem::setColor(const QColor &color) return; color_ = color; dirtyMaterial_ = true; - updateMapItem(); + polishAndUpdate(); emit colorChanged(color_); } @@ -333,7 +326,7 @@ QSGNode *QDeclarativeRectangleMapItem::updateMapItemPaintNode(QSGNode *oldNode, /*! \internal */ -void QDeclarativeRectangleMapItem::updateMapItem() +void QDeclarativeRectangleMapItem::updatePolish() { if (!map() || !topLeft().isValid() || !bottomRight().isValid()) return; @@ -368,7 +361,6 @@ void QDeclarativeRectangleMapItem::updateMapItem() } setPositionOnMap(pathClosed.at(0), geometry_.firstPointOffset()); - update(); } /*! @@ -404,7 +396,7 @@ void QDeclarativeRectangleMapItem::afterViewportChanged(const QGeoMapViewportCha borderGeometry_.setPreserveGeometry(true, borderGeometry_.geoLeftBound()); geometry_.markScreenDirty(); borderGeometry_.markScreenDirty(); - updateMapItem(); + polishAndUpdate(); } /*! @@ -448,9 +440,7 @@ void QDeclarativeRectangleMapItem::geometryChanged(const QRectF &newGeometry, co bottomRight_ = newBottomRight; geometry_.setPreserveGeometry(true, newTopLeft); borderGeometry_.setPreserveGeometry(true, newTopLeft); - geometry_.markSourceDirty(); - borderGeometry_.markSourceDirty(); - updateMapItem(); + markSourceDirtyAndUpdate(); emit topLeftChanged(topLeft_); emit bottomRightChanged(bottomRight_); } diff --git a/src/imports/location/qdeclarativerectanglemapitem_p.h b/src/imports/location/qdeclarativerectanglemapitem_p.h index d4c319ab..fb9936b0 100644 --- a/src/imports/location/qdeclarativerectanglemapitem_p.h +++ b/src/imports/location/qdeclarativerectanglemapitem_p.h @@ -105,10 +105,10 @@ Q_SIGNALS: protected: void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; + void updatePolish() Q_DECL_OVERRIDE; protected Q_SLOTS: - virtual void updateMapItem() Q_DECL_OVERRIDE; - void updateMapItemAssumeDirty(); + void markSourceDirtyAndUpdate(); virtual void afterViewportChanged(const QGeoMapViewportChangeEvent &event) Q_DECL_OVERRIDE; private: |