Index: sources/gui/qml/components/RangeSlider.qml =================================================================== diff -u -rda6d5fa4aa2f69c1f9607b4060934943ce186452 -r0e1e685b6d5e0f837ed42a792f9099f78a018afa --- sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision da6d5fa4aa2f69c1f9607b4060934943ce186452) +++ sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision 0e1e685b6d5e0f837ed42a792f9099f78a018afa) @@ -292,13 +292,27 @@ } function updateMaxValue(vInStepSegments, vIsIncrementing) { + // Set the "focused" handle to be the maxium handle + curHandler = RangeSlider.HandlerOption.Max + + // In order to use pre-existing rules for handling min/max ranges, need to calculate X of new value let newMaxValue = determineNewValue(_root.maxValue, vInStepSegments, vIsIncrementing) - setMaxValue(newMaxValue) + let newX = ((newMaxValue - _root.minimum)*_root.width) / (_root.maximum - _root.minimum) + + // Update the boundary + setBound(newX) } function updateMinValue(vInStepSegments, vIsIncrementing) { + // Set the "focused" handle to be the minium handle + curHandler = RangeSlider.HandlerOption.Min + + // In order to use pre-existing rules for handling min/max ranges, need to calculate X of new value let newMinValue = determineNewValue(_root.minValue, vInStepSegments, vIsIncrementing) - setMinValue(newMinValue) + let newX = ((newMinValue - _root.minimum)*_root.width) / (_root.maximum - _root.minimum) + + // Update the boundary + setBound(newX) } /// The main range rectangle bar - This is the "highlighted" area of the slider