aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2012-06-04 16:06:40 +0300
committerQt by Nokia <qt-info@nokia.com>2012-06-06 08:08:30 +0200
commitd378c123159fc2731236573fb9b571dff882705e (patch)
tree07b6dccc37210563eb3511911e601e627f11b439 /src/quick/items/qquickmousearea.cpp
parentde4997ed4c08c63e54454629e9d78385330b4094 (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.cpp9
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;
}