mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-29 01:28:55 +08:00
Merge pull request #4176 from Ultimaker/fix_slider_range
Fix the sliders that went out of range when using the arrow keys
This commit is contained in:
commit
1915659393
@ -40,33 +40,37 @@ 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) {
|
||||||
|
return Math.min(Math.max(value, sliderRoot.minimumValue), sliderRoot.maximumValue)
|
||||||
|
}
|
||||||
|
|
||||||
// slider track
|
// slider track
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: track
|
id: track
|
||||||
@ -188,6 +192,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 +280,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,10 @@ Item {
|
|||||||
rangeHandle.width = handle.x - sliderRoot.handleSize
|
rangeHandle.width = handle.x - sliderRoot.handleSize
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizeValue(value) {
|
||||||
|
return Math.min(Math.max(value, sliderRoot.minimumValue), sliderRoot.maximumValue)
|
||||||
|
}
|
||||||
|
|
||||||
// slider track
|
// slider track
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: track
|
id: track
|
||||||
@ -110,6 +115,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…
x
Reference in New Issue
Block a user