diff options
Diffstat (limited to 'src/quicktemplates2/qquickrangeslider.cpp')
-rw-r--r-- | src/quicktemplates2/qquickrangeslider.cpp | 11 |
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) |