Refactored MapScene clean-up code
[situare] / src / map / mapview.cpp
index ee68274..15de9cb 100644 (file)
@@ -61,6 +61,7 @@ void MapView::setZoomLevel(int zoomLevel)
 void MapView::timerEvent(QTimerEvent *event)
 {
     if (event->timerId() == m_timerID) {
+        bool finished = false;
         qreal scaleFactor = currentScale();
 
 //        qDebug() << __PRETTY_FUNCTION__
@@ -70,6 +71,7 @@ void MapView::timerEvent(QTimerEvent *event)
         if (fabs(m_zoomTargetScale - scaleFactor) <= fabs(m_zoomScaleDelta)) {
             scaleFactor = m_zoomTargetScale;
             killTimer(event->timerId());
+            finished = true;
         }
         else {
             scaleFactor += m_zoomScaleDelta;
@@ -83,6 +85,9 @@ void MapView::timerEvent(QTimerEvent *event)
         transform.scale(scaleFactor, scaleFactor);
         setTransform(transform);
        emit viewContentChanged(mapToScene(viewport()->x(), viewport()->y()).toPoint());
+
+        if (finished && m_zoomScaleDelta > 0)
+            emit viewZoomInFinished();
     }
 }