diff options
-rw-r--r-- | src/quick/handlers/qquickdraghandler.cpp | 11 | ||||
-rw-r--r-- | src/quick/handlers/qquickdraghandler_p.h | 8 | ||||
-rw-r--r-- | tests/auto/quick/pointerhandlers/qquickdraghandler/tst_qquickdraghandler.cpp | 2 |
3 files changed, 14 insertions, 7 deletions
diff --git a/src/quick/handlers/qquickdraghandler.cpp b/src/quick/handlers/qquickdraghandler.cpp index 840459ba3e..5e7b6a4962 100644 --- a/src/quick/handlers/qquickdraghandler.cpp +++ b/src/quick/handlers/qquickdraghandler.cpp @@ -103,7 +103,7 @@ void QQuickDragHandler::handleEventPoint(QQuickEventPoint *point) if (!m_yAxis.enabled()) delta.setY(0); if (active()) { - setTranslation(delta); + setTranslation(QVector2D(delta)); if (target() && target()->parentItem()) { QPointF pos = target()->parentItem()->mapFromScene(m_targetStartPos + delta); enforceAxisConstraints(&pos); @@ -164,7 +164,7 @@ void QQuickDragHandler::initializeTargetStartPos(QQuickEventPoint *point) } } -void QQuickDragHandler::setTranslation(const QPointF &trans) +void QQuickDragHandler::setTranslation(const QVector2D &trans) { if (trans == m_translation) // fuzzy compare? return; @@ -207,4 +207,11 @@ void QQuickDragAxis::setEnabled(bool enabled) emit enabledChanged(); } +/*! + \readonly + \qmlproperty QVector2D QtQuick::DragHandler::translation + + The translation since the gesture began. +*/ + QT_END_NAMESPACE diff --git a/src/quick/handlers/qquickdraghandler_p.h b/src/quick/handlers/qquickdraghandler_p.h index b28fb630b8..d10084c654 100644 --- a/src/quick/handlers/qquickdraghandler_p.h +++ b/src/quick/handlers/qquickdraghandler_p.h @@ -90,7 +90,7 @@ class Q_AUTOTEST_EXPORT QQuickDragHandler : public QQuickSinglePointHandler Q_OBJECT Q_PROPERTY(QQuickDragAxis * xAxis READ xAxis CONSTANT) Q_PROPERTY(QQuickDragAxis * yAxis READ yAxis CONSTANT) - Q_PROPERTY(QPointF translation READ translation NOTIFY translationChanged) + Q_PROPERTY(QVector2D translation READ translation NOTIFY translationChanged) public: explicit QQuickDragHandler(QObject *parent = 0); @@ -101,8 +101,8 @@ public: QQuickDragAxis *xAxis() { return &m_xAxis; } QQuickDragAxis *yAxis() { return &m_yAxis; } - QPointF translation() const { return m_translation; } - void setTranslation(const QPointF &trans); + QVector2D translation() const { return m_translation; } + void setTranslation(const QVector2D &trans); Q_INVOKABLE void enforceConstraints(); @@ -122,7 +122,7 @@ private: private: QPointF m_targetStartPos; - QPointF m_translation; + QVector2D m_translation; QQuickDragAxis m_xAxis; QQuickDragAxis m_yAxis; diff --git a/tests/auto/quick/pointerhandlers/qquickdraghandler/tst_qquickdraghandler.cpp b/tests/auto/quick/pointerhandlers/qquickdraghandler/tst_qquickdraghandler.cpp index 5b59911965..cd60be6a4c 100644 --- a/tests/auto/quick/pointerhandlers/qquickdraghandler/tst_qquickdraghandler.cpp +++ b/tests/auto/quick/pointerhandlers/qquickdraghandler/tst_qquickdraghandler.cpp @@ -97,7 +97,7 @@ void tst_DragHandler::defaultPropertyValues() QVERIFY(dragHandler); QCOMPARE(dragHandler->acceptedButtons(), Qt::LeftButton); - QCOMPARE(dragHandler->translation(), QPointF()); + QCOMPARE(dragHandler->translation(), QVector2D()); QCOMPARE(dragHandler->point().position(), QPointF()); QCOMPARE(dragHandler->point().scenePosition(), QPointF()); QCOMPARE(dragHandler->point().pressPosition(), QPointF()); |