Index: sources/gui/qml/components/Slider.qml =================================================================== diff -u -r9ac163d4aeadc39a1bcd1d8110991f32e37fc806 -r3bf1c89cba7851e7658d4a7f2e7054ee6a4ff000 --- sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision 9ac163d4aeadc39a1bcd1d8110991f32e37fc806) +++ sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision 3bf1c89cba7851e7658d4a7f2e7054ee6a4ff000) @@ -57,6 +57,7 @@ signal activeChanged() signal handleSelected() + signal sliderSelected() function incrementValue (vInStepSegments) { updateValue(vInStepSegments, true) @@ -67,8 +68,6 @@ } function updateValue(vInStepSegments, vIsIncrement) { - _root.isActive = true - let amountChanged = 1 if (vInStepSegments) { amountChanged = step @@ -106,7 +105,11 @@ // This is to resolve the use of slider with a switch and arrows enabled. // It allows correct behavior when using arrow on a first initialize increment of // the slider when the slider has inActiveZero to true. - value = (inActiveZero && (!isActive)) ? 0 : initActiveValue + if(!isActive) { + value = inActiveZero ? 0 : minimum + } else { + value = initActiveValue + } activeChanged() // emit } @@ -287,9 +290,8 @@ update(newCurrentValue) } onPressed: { - if(!_root.isActive) { - _root.isActive = true - } + // Indicate that the slider body was selected to provide handling/activation + sliderSelected() // emit // On a pressed action, if the snapped version of the new value is the same as the // current snapped value, do nothing; otherwise update the value to stay under