aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/handlers/qquickdraghandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/handlers/qquickdraghandler.cpp')
-rw-r--r--src/quick/handlers/qquickdraghandler.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/quick/handlers/qquickdraghandler.cpp b/src/quick/handlers/qquickdraghandler.cpp
index dc3116e300..945d60119d 100644
--- a/src/quick/handlers/qquickdraghandler.cpp
+++ b/src/quick/handlers/qquickdraghandler.cpp
@@ -88,6 +88,7 @@ void QQuickDragHandler::handleEventPoint(QQuickEventPoint *point)
if (!m_yAxis.enabled())
delta.setY(0);
if (active()) {
+ setTranslation(delta);
if (target() && target()->parentItem()) {
QPointF pos = target()->parentItem()->mapFromScene(m_startPos + delta);
enforceAxisConstraints(&pos);
@@ -122,6 +123,15 @@ void QQuickDragHandler::enforceAxisConstraints(QPointF *localPos)
localPos->setY(qBound(m_yAxis.minimum(), localPos->y(), m_yAxis.maximum()));
}
+void QQuickDragHandler::setTranslation(const QPointF &trans)
+{
+ if (trans == m_translation) // fuzzy compare?
+ return;
+ m_translation = trans;
+ emit translationChanged();
+}
+
+
QQuickDragAxis::QQuickDragAxis()
: m_minimum(-DBL_MAX)
, m_maximum(DBL_MAX)