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, 7 insertions, 4 deletions
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 175ca06e..9996d041 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -456,8 +456,6 @@ void QQuickRangeSliderPrivate::handlePress(const QPointF &point, int touchId)
void QQuickRangeSliderPrivate::handleMove(const QPointF &point, int touchId)
{
Q_Q(QQuickRangeSlider);
- if (!q->keepMouseGrab() && !q->keepTouchGrab())
- return;
QQuickRangeSliderNode *pressedNode = QQuickRangeSliderPrivate::pressedNode(touchId);
if (pressedNode) {
qreal pos = positionAt(q, pressedNode->handle(), point);
@@ -521,8 +519,11 @@ QQuickRangeSlider::QQuickRangeSlider(QQuickItem *parent)
d->first = new QQuickRangeSliderNode(0.0, this);
d->second = new QQuickRangeSliderNode(1.0, this);
- setAcceptedMouseButtons(Qt::LeftButton);
setFlag(QQuickItem::ItemIsFocusScope);
+ setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(cursor)
+ setCursor(Qt::ArrowCursor);
+#endif
}
/*!
@@ -982,6 +983,7 @@ void QQuickRangeSlider::mousePressEvent(QMouseEvent *event)
Q_D(QQuickRangeSlider);
QQuickControl::mousePressEvent(event);
d->handlePress(event->localPos());
+ d->handleMove(event->localPos());
}
void QQuickRangeSlider::mouseMoveEvent(QMouseEvent *event)
@@ -994,7 +996,8 @@ void QQuickRangeSlider::mouseMoveEvent(QMouseEvent *event)
else
setKeepMouseGrab(QQuickWindowPrivate::dragOverThreshold(event->localPos().y() - d->pressPoint.y(), Qt::YAxis, event));
}
- d->handleMove(event->localPos());
+ if (keepMouseGrab())
+ d->handleMove(event->localPos());
}
void QQuickRangeSlider::mouseReleaseEvent(QMouseEvent *event)