Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml =================================================================== diff -u -rd5e9940fa96373f6cc118dfa9761d95f361689a5 -r914308e6f87b8074bff379371379d238e7781ed3 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml (.../TreatmentAdjustmentDurationEdit.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml (.../TreatmentAdjustmentDurationEdit.qml) (revision 914308e6f87b8074bff379371379d238e7781ed3) @@ -30,10 +30,23 @@ Item { id: _root objectName: "_TreatmentAdjustmentDurationEdit" - signal continueClicked(int vDuration) + QtObject { id: _private + objectName: "_private" + readonly property int ufMultiplier : Math.pow(10, Variables.ultrafiltrationPrecision) + readonly property real ufVolumeRes : calculatePrecisionValue( vTreatmentRanges.ultrafiltrationVolumeRes, ufMultiplier ) + readonly property real ufSetVolume : calculatePrecisionValue( vTreatmentUltrafiltration.setVolume , ufMultiplier ) + readonly property real ufVolumeRemoved : calculatePrecisionValue( vTreatmentUltrafiltration.volumeRemoved , ufMultiplier ) + readonly property int treatmentTimeTotal : vTreatmentTime.time_Total + function calculatePrecisionValue(value, multiplier) { + return Math.round(value * multiplier) / multiplier + } + } + + signal continueClicked(int vNewTreatmentDuration) + function reset() { - _newTreatmentDuration.value = vTreatmentTime.time_Total + _newTreatmentDuration.value = _private.treatmentTimeTotal } component LabelUnitText: LabelUnitContainer { id: _labelUnitText @@ -74,14 +87,14 @@ objectName : "_ufVolumeRemoved" text : qsTr("UF Volume Removed") unitText : Variables.unitVolume - valueText : "-- --" + valueText : _private.ufVolumeRemoved } LabelUnitText { id: _timeElapsed objectName : "_timeElapsed" text : qsTr("Time Elapsed") unitText : Variables.unitTextDuration - valueText : "-- --" + valueText : vTreatmentTime.time_Elapsed } } @@ -93,14 +106,14 @@ objectName : "_ufVolumeGoal" text : qsTr("UF Volume Goal") unitText : Variables.unitVolume - valueText : "-- --" + valueText : _private.ufSetVolume } LabelUnitText { id: _treatmentDuration objectName : "_treatmentDuration" text : qsTr("Treatment Duration") unitText : Variables.unitTextDuration - valueText : "-- --" + valueText : vTreatmentTime.time_Total } } } @@ -131,10 +144,12 @@ titleFontPixelSize : Fonts.fontPixelContainerTitleSmall unitText : Variables.unitTextDuration unitFontPixelSize : Fonts.fontPixelContainerUnitSmall - minimum : vTreatmentRanges.treatmentRanges_Duration_Min - maximum : vTreatmentRanges.treatmentRanges_Duration_Max - // value : { value = _private.treatmentDuration } // set without binding + isActive : true + minimum : Math.ceil(vTreatmentTime.time_Elapsed / step) * step + maximum : Math.floor(vTreatmentRanges.treatmentRanges_Duration_Max / step) * step + step : vTreatmentRanges.treatmentDurationRes + onDidChange : function(vValue) { value = vValue } onMinimumChanged: { if (value < minimum) { value = minimum @@ -161,6 +176,7 @@ font.weight : Font.Medium } isDefault : true + enabled : _newTreatmentDuration.value !== _private.treatmentTimeTotal onClicked : { _root.continueClicked(_newTreatmentDuration.value)