aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickrangeslider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2/qquickrangeslider.cpp')
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 683fd2bf..1ce16949 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -456,7 +456,7 @@ void QQuickRangeSliderPrivate::handlePress(const QPointF &point, int touchId)
void QQuickRangeSliderPrivate::handleMove(const QPointF &point, int touchId)
{
Q_Q(QQuickRangeSlider);
- if (!q->keepMouseGrab())
+ if (!q->keepMouseGrab() && !q->keepTouchGrab())
return;
QQuickRangeSliderNode *pressedNode = QQuickRangeSliderPrivate::pressedNode(touchId);
if (pressedNode) {
@@ -480,7 +480,7 @@ void QQuickRangeSliderPrivate::handleRelease(const QPointF &point, int touchId)
return;
QQuickRangeSliderNodePrivate *pressedNodePrivate = QQuickRangeSliderNodePrivate::get(pressedNode);
- if (q->keepMouseGrab()) {
+ if (q->keepMouseGrab() || q->keepTouchGrab()) {
qreal pos = positionAt(q, pressedNode->handle(), point);
if (snapMode != QQuickRangeSlider::NoSnap)
pos = snapPosition(q, pos);
@@ -490,6 +490,7 @@ void QQuickRangeSliderPrivate::handleRelease(const QPointF &point, int touchId)
else if (snapMode != QQuickRangeSlider::NoSnap)
pressedNodePrivate->setPosition(pos);
q->setKeepMouseGrab(false);
+ q->setKeepTouchGrab(false);
}
pressedNode->setPressed(false);
pressedNodePrivate->touchId = -1;
@@ -1013,11 +1014,11 @@ void QQuickRangeSlider::touchEvent(QTouchEvent *event)
d->handlePress(point.pos(), point.id());
break;
case Qt::TouchPointMoved:
- if (!keepMouseGrab()) {
+ if (!keepTouchGrab()) {
if (d->orientation == Qt::Horizontal)
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - point.startPos().x(), Qt::XAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().x() - point.startPos().x(), Qt::XAxis, &point));
else
- setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - point.startPos().y(), Qt::YAxis, &point));
+ setKeepTouchGrab(QQuickWindowPrivate::dragOverThreshold(point.pos().y() - point.startPos().y(), Qt::YAxis, &point));
}
if (point.id() == QQuickRangeSliderNodePrivate::get(d->first)->touchId
|| point.id() == QQuickRangeSliderNodePrivate::get(d->second)->touchId)