Index: sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -refc54445b61a73ccb26aa17714581f12a3154484 --- sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision efc54445b61a73ccb26aa17714581f12a3154484) @@ -33,6 +33,28 @@ header.confirmEnabled: _volumeSlider.isActive + function reset( vValue ) { + if ( ! handleMinimum( vValue ) ) // if not handled go next + if ( ! handleMaximum( vValue ) ) // if not handled go next + _volumeSlider.reset ( vValue ) + } + + function handleMinimum( vValue ) { + if( _volumeSlider.minimum > vValue ){ + _volumeSlider.reset ( _volumeSlider.minimum ) + return true // handled + } + return false // not handled so check max + } + + function handleMaximum( vValue ) { + if( _volumeSlider.maximum < vValue ){ + _volumeSlider.reset ( _volumeSlider.maximum ) + return true // handled + } + return false // not handled so check min (if max checked first) + } + Text { id: _textLabel visible : true color : Colors.textMain @@ -75,11 +97,24 @@ ticks : true diameter: Variables.sliderCircleDiameter decimal : Variables.ultrafiltrationPrecision - minimum : Variables.ultrafiltrationMinDef + // it can get the minimum from the message + // but some time it has been decided that UI shall always be set to minimum zero. + minimum : Variables.ultrafiltrationMinDef // vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Min maximum : vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Max minText.font.pixelSize: Fonts.fontPixelFluidText maxText.font.pixelSize: Fonts.fontPixelFluidText onPressed: isActive = true + + onMinimumChanged: { + let mValue = vPreTreatmentAdjustmentUltrafiltrationInit.volume + if ( ! _root.handleMinimum ( mValue ) ) // if not handled go next + _volumeSlider.reset ( mValue ) + } + onMaximumChanged: { + let mValue = vPreTreatmentAdjustmentUltrafiltrationInit.volume + if ( ! _root.handleMaximum ( mValue ) ) // if not handled go next + _volumeSlider.reset ( mValue ) + } } SliderArrows{ id:_sliderArrows