diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-06-04 16:06:40 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-06 08:08:30 +0200 |
commit | d378c123159fc2731236573fb9b571dff882705e (patch) | |
tree | 07b6dccc37210563eb3511911e601e627f11b439 /src/quick/items/qquickmousearea.cpp | |
parent | de4997ed4c08c63e54454629e9d78385330b4094 (diff) |
Utilize StartDragVelocity style hint in Flickable
Change-Id: I96924b08aede57a0622ea3f7419e8f73a9f18f5d
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r-- | src/quick/items/qquickmousearea.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index 662638958a..effb73e1f8 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -746,7 +746,6 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event) curLocalPos = event->windowPos(); } - const int dragThreshold = qApp->styleHints()->startDragDistance(); qreal dx = qAbs(curLocalPos.x() - startLocalPos.x()); qreal dy = qAbs(curLocalPos.y() - startLocalPos.y()); @@ -778,9 +777,11 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event) d->drag->target()->setPos(dragPos); if (!keepMouseGrab()) { - if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold) - || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold) - || (d->dragX && d->dragY && (dx > dragThreshold || dy > dragThreshold))) { + bool xDragged = QQuickCanvasPrivate::dragOverThreshold(dx, Qt::XAxis, event); + bool yDragged = QQuickCanvasPrivate::dragOverThreshold(dy, Qt::YAxis, event); + if ((!d->dragY && !yDragged && d->dragX && xDragged) + || (!d->dragX && !xDragged && d->dragY && yDragged) + || (d->dragX && d->dragY && (xDragged || yDragged))) { setKeepMouseGrab(true); d->stealMouse = true; } |