Index: sources/gui/qml/components/Slider.qml =================================================================== diff -u -r376fa09daeeca0afef2b157005cc85e9595c4c96 -re43e7099f7030edaa196cda5391262b3493fc4c6 --- sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision 376fa09daeeca0afef2b157005cc85e9595c4c96) +++ sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision e43e7099f7030edaa196cda5391262b3493fc4c6) @@ -287,16 +287,19 @@ update(newCurrentValue) } onPressed: { - if (isActive) { - // Need to account for the extended touch areas - updateHandleValue(vMouseEvent.x - _progressRect.leftRightTouchMargin) + if(!_root.isActive) { + _root.isActive = true } + + // On initial press without release, the value is updated to reflect the current + // pressed position, effectively moving the handle to the location without snapping + let adjustedXPosition = vMouseEvent.x - _progressRect.leftRightTouchMargin + let newCurrentValue = calculateValue(adjustedXPosition, !stepSnapOnRelease) + update(newCurrentValue) } onReleased: { - if (isActive) { - // Need to account for the extended touch areas - updateHandleValue(vMouseEvent.x - _progressRect.leftRightTouchMargin) - } + // Need to account for the extended touch areas + updateHandleValue(vMouseEvent.x - _progressRect.leftRightTouchMargin) } Rectangle { id: _handler