aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickdial.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-04 17:44:58 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-05 09:08:22 +0000
commit790cf8d3b4078dc1bbc1afb338f1bf197598c4d0 (patch)
tree5442ea4d144d0f76efa4904f4c1524485ce0c012 /src/quicktemplates2/qquickdial.cpp
parent1cf6abc8ba5547f12352467db8ce1c3d09921960 (diff)
Dial: react immediately when using a mouse
The initial drag threshold is a necessary evil on touch to avoid conflicting with flickables, but leads to bad experience (QTBUG-47081) when using a mouse. Now that we have separate mouse and touch handling, we can apply immediate moves when using a mouse, but keep the old behavior on touch. Task-number: QTBUG-59920 Change-Id: I097cbdaed4933c0d907097b75f15ba16dcf615b1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickdial.cpp')
-rw-r--r--src/quicktemplates2/qquickdial.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
index c7fbdc80..5b98992b 100644
--- a/src/quicktemplates2/qquickdial.cpp
+++ b/src/quicktemplates2/qquickdial.cpp
@@ -207,8 +207,6 @@ void QQuickDialPrivate::handlePress(const QPointF &point)
void QQuickDialPrivate::handleMove(const QPointF &point)
{
Q_Q(QQuickDial);
- if (!q->keepMouseGrab() && !q->keepTouchGrab())
- return;
const qreal oldPos = position;
qreal pos = positionAt(point);
if (snapMode == QQuickDial::SnapAlways)
@@ -651,6 +649,7 @@ void QQuickDial::mousePressEvent(QMouseEvent *event)
Q_D(QQuickDial);
QQuickControl::mousePressEvent(event);
d->handlePress(event->localPos());
+ d->handleMove(event->localPos());
}
void QQuickDial::mouseMoveEvent(QMouseEvent *event)
@@ -711,7 +710,8 @@ void QQuickDial::touchEvent(QTouchEvent *event)
setKeepTouchGrab(overYDragThreshold);
}
}
- d->handleMove(point.pos());
+ if (keepTouchGrab())
+ d->handleMove(point.pos());
}
break;