Index: sources/gui/qml/compounds/ValueAdjuster.qml =================================================================== diff -u -rb16fd955f65d83321decdc54bd3d5695fc81c32c -rc43d24c50f4344348d36d8ae9273797f4557356a --- sources/gui/qml/compounds/ValueAdjuster.qml (.../ValueAdjuster.qml) (revision b16fd955f65d83321decdc54bd3d5695fc81c32c) +++ sources/gui/qml/compounds/ValueAdjuster.qml (.../ValueAdjuster.qml) (revision c43d24c50f4344348d36d8ae9273797f4557356a) @@ -31,6 +31,7 @@ property bool canOff : false property bool canRefresh : false property alias textColor : _text.color + property bool grabbed : false QtObject { id: _private // fix floating-point precision issue @@ -169,10 +170,10 @@ } MouseArea { id: _sliderMouseArea - property bool grabbed: false anchors.fill : parent pressAndHoldInterval: 0 + drag.axis : Drag.XAxis // only horizontal onClicked: { if ( _root.editable ) { didActiveChange(true); focus = true } @@ -181,18 +182,18 @@ } onReleased: { - _sliderMouseArea.grabbed = false + _root.grabbed = false _slider.opacity = 0 } onPressAndHold: { if ( _root.editable ) { didActiveChange(true); focus = true } - _sliderMouseArea.grabbed = true + _root.grabbed = true } onPositionChanged: { - if (grabbed) { + if (_root.grabbed) { if ( _slider.opacity === 0 ) { _animator.start() } _slider.pos = Math.max(0, Math.min(1, mouse.x / parent.width)) @@ -203,7 +204,7 @@ } onExited: { - if ( ! _sliderMouseArea.grabbed ) { + if ( ! _root.grabbed ) { _animator.stop() _slider.opacity = 0 } @@ -215,7 +216,7 @@ from : 0 to : 1 duration: 350 - running : _sliderMouseArea.grabbed + running : _root.grabbed } Behavior on opacity { NumberAnimation { duration: 200 } }