- if (event->timerId() == m_timerID) {
- bool finished = false;
- qreal scaleFactor = currentScale();
-
-// qDebug() << __PRETTY_FUNCTION__
-// << "abs(m_zoomTargetScale - scaleFactor)" << fabs(m_zoomTargetScale - scaleFactor)
-// << "abs(m_zoomScaleDelta)" << fabs(m_zoomScaleDelta);
-
- if (fabs(m_zoomTargetScale - scaleFactor) <= fabs(m_zoomScaleDelta)) {
- scaleFactor = m_zoomTargetScale;
- killTimer(event->timerId());
- finished = true;
- }
- else {
- scaleFactor += m_zoomScaleDelta;
- }
-
-// qDebug() << __PRETTY_FUNCTION__ << "currentScale:" << currentScale()
-// << "m_zoomScaleDelta" << m_zoomScaleDelta
-// << "scaleFactor:" << scaleFactor;
-
- QTransform transform;
- transform.scale(scaleFactor, scaleFactor);
- setTransform(transform);
- emit viewContentChanged(mapToScene(viewport()->x(), viewport()->y()).toPoint());
-
- if (finished && m_zoomScaleDelta > 0)
- emit viewZoomFinished();
- }
+ m_scenePosition += m_mousePosition - mapToScene(event->pos()).toPoint();
+
+ qDebug() << __PRETTY_FUNCTION__ << "m_scenePosition:" << m_scenePosition;
+
+ emit viewScrolled(m_scenePosition);
+
+ m_mousePosition = mapToScene(event->pos()).toPoint();