Skip to content

Commit

Permalink
SpinBox fixed for values above the max value
Browse files Browse the repository at this point in the history
Spinbox now doesn't take values above the designated maximum
Fixes CURA-10096
  • Loading branch information
saumyaj3 committed Jul 6, 2023
1 parent f0186ff commit fe5893f
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion resources/qml/SpinBox.qml
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,20 @@ Item
from: Math.floor(base.from / base.stepSize)
to: Math.floor(base.to / base.stepSize)

function clamp(value, min, max)
{
return Math.max((Math.min(value, max)), min);
}

valueFromText: function(text)
{
return parseFloat(text.substring(prefix.length, text.length - suffix.length).replace(",", ".")) / base.stepSize;

var value = parseFloat(text.substring(prefix.length, text.length - suffix.length).replace(",", ".")) / base.stepSize ;
if (Number.isNaN(value))
{
value = from
}
return clamp(value, from, to);
}

textFromValue: function(value)
Expand All @@ -69,6 +80,7 @@ Item
onValueModified:
{
base.value = value * base.stepSize;
spinBoxText.text = spinBox.textFromValue(value);
}

// This forces TextField to commit typed values before incrementing with buttons.
Expand All @@ -87,6 +99,7 @@ Item

contentItem: Cura.TextField
{
id: spinBoxText
text: spinBox.textFromValue(spinBox.value, spinBox.locale)
validator: base.validator

Expand All @@ -97,6 +110,13 @@ Item
base.editingFinished();
}
}

onTextChanged:
{
var value = spinBox.valueFromText(spinBoxText.text);
spinBoxText.text = spinBox.textFromValue(value);
spinBox.value = value;
}
}

down.indicator: Rectangle
Expand Down

0 comments on commit fe5893f

Please sign in to comment.