QmlDesigner: Remove trailing zeroes from numbers

Task-number: QDS-11578
Change-Id: Ifbbe5ef764ad383863db07dc2cfaf444af7c8805
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Shrief Gabr
2024-01-04 11:08:52 +02:00
parent a38e8cdaaa
commit e6c0c82ce8
2 changed files with 17 additions and 1 deletions

View File

@@ -90,6 +90,7 @@ Item {
realTo: 9e9
realStepSize: 1.0
decimals: 6
trailingZeroes: false
}
}
}

View File

@@ -37,6 +37,8 @@ T.SpinBox {
property bool drag: false
property bool sliderDrag: sliderPopup.drag
property bool trailingZeroes: true
property bool dirty: false // user modification flag
// TODO Not used anymore. Will be removed when all dependencies were removed.
@@ -204,11 +206,14 @@ T.SpinBox {
textFromValue: function (value, locale) {
locale.numberOptions = Locale.OmitGroupSeparator
return Number(control.realValue).toLocaleString(locale, 'f', control.decimals)
var decimals = trailingZeroes ? control.decimals : decimalCounter(value)
return Number(control.realValue).toLocaleString(locale, 'f', decimals)
}
valueFromText: function (text, locale) {
control.setRealValue(Number.fromLocaleString(locale, spinBoxInput.text))
return 0
}
@@ -400,4 +405,14 @@ T.SpinBox {
if (control.realValue !== currValue)
control.realValueModified()
}
function decimalCounter(number) {
var strNumber = Math.abs(number).toString()
var decimalIndex = strNumber.indexOf('.')
// Set 'index' to a minimum of 1 if there are no fractions
var index = decimalIndex == -1 ? 1 : strNumber.length - decimalIndex - 1
return Math.min(index, control.decimals);
}
}