mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-09 07:56:22 -06:00
Fix the sliders that went out of range when using the arrow keys.
This commit is contained in:
parent
847fc33796
commit
c14539d63a
2 changed files with 29 additions and 6 deletions
|
@ -40,33 +40,41 @@ Item {
|
||||||
|
|
||||||
property bool layersVisible: true
|
property bool layersVisible: true
|
||||||
|
|
||||||
function getUpperValueFromSliderHandle () {
|
function getUpperValueFromSliderHandle() {
|
||||||
return upperHandle.getValue()
|
return upperHandle.getValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
function setUpperValue (value) {
|
function setUpperValue(value) {
|
||||||
upperHandle.setValue(value)
|
upperHandle.setValue(value)
|
||||||
updateRangeHandle()
|
updateRangeHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLowerValueFromSliderHandle () {
|
function getLowerValueFromSliderHandle() {
|
||||||
return lowerHandle.getValue()
|
return lowerHandle.getValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLowerValue (value) {
|
function setLowerValue(value) {
|
||||||
lowerHandle.setValue(value)
|
lowerHandle.setValue(value)
|
||||||
updateRangeHandle()
|
updateRangeHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateRangeHandle () {
|
function updateRangeHandle() {
|
||||||
rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height)
|
rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height)
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the active handle to show only one label at a time
|
// set the active handle to show only one label at a time
|
||||||
function setActiveHandle (handle) {
|
function setActiveHandle(handle) {
|
||||||
activeHandle = handle
|
activeHandle = handle
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizeValue(value) {
|
||||||
|
if (value > sliderRoot.maximumValue)
|
||||||
|
return sliderRoot.maximumValue
|
||||||
|
else if (value < sliderRoot.minimumValue)
|
||||||
|
return sliderRoot.minimumValue
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
|
||||||
// slider track
|
// slider track
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: track
|
id: track
|
||||||
|
@ -188,6 +196,8 @@ Item {
|
||||||
|
|
||||||
// set the slider position based on the upper value
|
// set the slider position based on the upper value
|
||||||
function setValue (value) {
|
function setValue (value) {
|
||||||
|
// Normalize values between range, since using arrow keys will create out-of-the-range values
|
||||||
|
value = sliderRoot.normalizeValue(value)
|
||||||
|
|
||||||
UM.SimulationView.setCurrentLayer(value)
|
UM.SimulationView.setCurrentLayer(value)
|
||||||
|
|
||||||
|
@ -274,6 +284,8 @@ Item {
|
||||||
|
|
||||||
// set the slider position based on the lower value
|
// set the slider position based on the lower value
|
||||||
function setValue (value) {
|
function setValue (value) {
|
||||||
|
// Normalize values between range, since using arrow keys will create out-of-the-range values
|
||||||
|
value = sliderRoot.normalizeValue(value)
|
||||||
|
|
||||||
UM.SimulationView.setMinimumLayer(value)
|
UM.SimulationView.setMinimumLayer(value)
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ Item {
|
||||||
|
|
||||||
// value properties
|
// value properties
|
||||||
property real maximumValue: 100
|
property real maximumValue: 100
|
||||||
|
property real minimumValue: 0
|
||||||
property bool roundValues: true
|
property bool roundValues: true
|
||||||
property real handleValue: maximumValue
|
property real handleValue: maximumValue
|
||||||
|
|
||||||
|
@ -47,6 +48,14 @@ Item {
|
||||||
rangeHandle.width = handle.x - sliderRoot.handleSize
|
rangeHandle.width = handle.x - sliderRoot.handleSize
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizeValue(value) {
|
||||||
|
if (value > sliderRoot.maximumValue)
|
||||||
|
return sliderRoot.maximumValue
|
||||||
|
else if (value < sliderRoot.minimumValue)
|
||||||
|
return sliderRoot.minimumValue
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
|
||||||
// slider track
|
// slider track
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: track
|
id: track
|
||||||
|
@ -110,6 +119,8 @@ Item {
|
||||||
|
|
||||||
// set the slider position based on the value
|
// set the slider position based on the value
|
||||||
function setValue (value) {
|
function setValue (value) {
|
||||||
|
// Normalize values between range, since using arrow keys will create out-of-the-range values
|
||||||
|
value = sliderRoot.normalizeValue(value)
|
||||||
|
|
||||||
UM.SimulationView.setCurrentPath(value)
|
UM.SimulationView.setCurrentPath(value)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue