Index: leahi.qrc =================================================================== diff -u -r4746b6bcbf4def7888f7b29d72431b28e6672f12 -r3da1e6ce80a0edef25d2ade3da094e18791f3553 --- leahi.qrc (.../leahi.qrc) (revision 4746b6bcbf4def7888f7b29d72431b28e6672f12) +++ leahi.qrc (.../leahi.qrc) (revision 3da1e6ce80a0edef25d2ade3da094e18791f3553) @@ -162,7 +162,7 @@ sources/gui/qml/components/HeaderBar.qml sources/gui/qml/components/HeaderBarPopup.qml sources/gui/qml/components/AlarmButtonRow.qml - sources/gui/qml/components/SliderUfAdjustment.qml + sources/gui/qml/components/StoppedSlider.qml sources/gui/qml/compounds/PressureRangeSlider.qml Fisheye: Tag 3da1e6ce80a0edef25d2ade3da094e18791f3553 refers to a dead (removed) revision in file `sources/gui/qml/components/SliderUfAdjustment.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/components/StoppedSlider.qml =================================================================== diff -u --- sources/gui/qml/components/StoppedSlider.qml (revision 0) +++ sources/gui/qml/components/StoppedSlider.qml (revision 3da1e6ce80a0edef25d2ade3da094e18791f3553) @@ -0,0 +1,157 @@ +/*! + * + * Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file SliderUfAdjustment.qml + * \author (last) Stephen Quong + * \date (last) 20-Aug-2025 + * \author (original) Stephen Quong + * \date (original) 20-Aug-2025 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief Slider component with a title and the currently selected value + */ +Item { id: _root + property alias decimal : _slider.decimal + property alias minimum : _slider.minimum + property alias maximum : _slider.maximum + property alias minStop : _slider.minStop + property alias value : _slider.value + property alias defaultValue : _slider.defaultValue + property alias step : _slider.step + property string unit : "" + property bool active : false + + signal pressed () + signal released() + + height : Variables.createTreatmentSliderHeight + width : Variables.createTreatmentSliderWidth + + function reset(vValue) { + _slider.reset(vValue) + } + + function setActiveValid() { + _root.active = true + } + + Slider { id : _slider + objectName : _root.objectName + "Slider" + anchors { + left : parent.left + right : _sliderArrows.left + rightMargin : 60 + verticalCenter : _sliderArrows.verticalCenter + } + height : Variables.ultraFiltrationProgressBarHeight + bgColor : Colors.ufAdjustmentProgressBarBg + highlightActiveColor : Colors.ufAdjustmentDeltaFill + handlerActiveColor : Colors.backgroundButtonSelect + progressBorderActiveColor: _slider.borderColor + diameter : Variables.progressbarHandler + touchMargin : Variables.createTreatmentSliderMargin + handler.z : 5 + isActive : _root.active + stepSnap : true + ticks : true + onPressed : { _root.pressed () } + onReleased : { _root.released() } + onHandleSelected : { setActiveValid() } + onSliderSelected : { setActiveValid() } + minText { + font { + pixelSize : Fonts.fontPixelButton + weight : Font.Normal + } + text : _root.minimum.toFixed(_root.decimal) + (_root.unit.length ? (" " + _root.unit) : "") + } + maxText { + font { + pixelSize : minText.font.pixelSize + weight : minText.font.weight + } + text : _root.maximum.toFixed(_root.decimal) + (_root.unit.length ? (" " + _root.unit) : "") + } + + Rectangle { id: _removedFill + anchors { + top : parent.top + bottom : parent.bottom + left : parent.left + right : _removedMarker.right + // adjust margin so fill completely covers the underlying slider + leftMargin : -1 + } + z : _removedMarker.z - 1 + color : Colors.ufProgressBarFill + radius : height / 2 + + Rectangle { id: _removedFillCover + anchors { + top : parent.top + bottom : parent.bottom + right : parent.right + } + width : Math.min(parent.radius, _removedMarker.x) + color : parent.color + } + } + + RangeMarker { id: _removedMarker + x : (_slider.width * (_slider.minStop / _slider.maximum)) - ((width+1)/2) + z : _slider.handler.z - 1 + width : Variables.ultrafiltrationRangeMarkerWidth + height : Variables.rangeMarkerHeight + hasHandle : true + valueOnTop : true + decimal : Variables.ultrafiltrationPrecision + value : _root.minStop + handle.width : Variables.ultrafiltrationRangeMarkerHandleWidth + text { + anchors.bottomMargin: _removedMarker.valueOnTop ? 15 : 0 + font { + pixelSize: Fonts.fontPixelUltrafiltrationRangeMarker + weight: Font.DemiBold + } + } + } + } + + SliderArrows{ id:_sliderArrows + anchors { + verticalCenter : _slider.verticalCenter + right : parent.right + } + + onIncrementValue : { + if ( _slider.isActive) { + _slider.incrementValue(true) + } + else { + setActiveValid() + } + } + onDecrementValue : { + if ( _slider.isActive) { + _slider.decrementValue(true) + } + else { + setActiveValid() + } + } + } +} Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml =================================================================== diff -u -r261fa5939140953733f764f2c783c35347de415f -r3da1e6ce80a0edef25d2ade3da094e18791f3553 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 261fa5939140953733f764f2c783c35347de415f) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 3da1e6ce80a0edef25d2ade3da094e18791f3553) @@ -67,7 +67,7 @@ volumeRemoved : _private.volumeRemoved } - SliderUfAdjustment { id: _setVolumeSlider + StoppedSlider { id: _setVolumeSlider anchors { top : _ufMetrics.bottom topMargin : Variables.ultrafiltrationContentMargin