Stop the simulation also when the range slider is used. Reuse some code.

Contributes to CURA-5725.
This commit is contained in:
Diego Prado Gesto 2018-09-18 16:30:15 +02:00
parent 1b1ca8a53b
commit f965b66c87
2 changed files with 28 additions and 32 deletions

View file

@ -111,6 +111,12 @@ Item {
UM.SimulationView.setMinimumLayer(lowerValue) UM.SimulationView.setMinimumLayer(lowerValue)
} }
function setValueManually(value)
{
sliderRoot.manuallyChanged = true
upperHandle.setValue(value)
}
function setValue(value) { function setValue(value) {
var range = sliderRoot.upperValue - sliderRoot.lowerValue var range = sliderRoot.upperValue - sliderRoot.lowerValue
value = Math.min(value, sliderRoot.maximumValue) value = Math.min(value, sliderRoot.maximumValue)
@ -154,7 +160,7 @@ Item {
maximumValue: sliderRoot.maximumValue maximumValue: sliderRoot.maximumValue
value: sliderRoot.upperValue value: sliderRoot.upperValue
busy: UM.SimulationView.busy busy: UM.SimulationView.busy
setValue: rangeHandle.setValue // connect callback functions setValue: rangeHandle.setValueManually // connect callback functions
} }
} }
@ -193,7 +199,7 @@ Item {
return result return result
} }
function setValueAndStopSimulation(value) function setValueManually(value)
{ {
sliderRoot.manuallyChanged = true sliderRoot.manuallyChanged = true
upperHandle.setValue(value) upperHandle.setValue(value)
@ -214,16 +220,8 @@ Item {
sliderRoot.updateRangeHandle() sliderRoot.updateRangeHandle()
} }
Keys.onUpPressed: Keys.onUpPressed: upperHandleLabel.setValue(upperHandleLabel.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
{ Keys.onDownPressed: upperHandleLabel.setValue(upperHandleLabel.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
sliderRoot.manuallyChanged = true
upperHandleLabel.setValue(upperHandleLabel.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
}
Keys.onDownPressed:
{
sliderRoot.manuallyChanged = true
upperHandleLabel.setValue(upperHandleLabel.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
}
// dragging // dragging
MouseArea { MouseArea {
@ -256,7 +254,7 @@ Item {
maximumValue: sliderRoot.maximumValue maximumValue: sliderRoot.maximumValue
value: sliderRoot.upperValue value: sliderRoot.upperValue
busy: UM.SimulationView.busy busy: UM.SimulationView.busy
setValue: upperHandle.setValueAndStopSimulation // connect callback functions setValue: upperHandle.setValueManually // connect callback functions
} }
} }
@ -296,7 +294,7 @@ Item {
return result return result
} }
function setValueAndStopSimulation(value) function setValueManually(value)
{ {
sliderRoot.manuallyChanged = true sliderRoot.manuallyChanged = true
lowerHandle.setValue(value) lowerHandle.setValue(value)
@ -352,7 +350,7 @@ Item {
maximumValue: sliderRoot.maximumValue maximumValue: sliderRoot.maximumValue
value: sliderRoot.lowerValue value: sliderRoot.lowerValue
busy: UM.SimulationView.busy busy: UM.SimulationView.busy
setValue: lowerHandle.setValueAndStopSimulation // connect callback functions setValue: lowerHandle.setValueManually // connect callback functions
} }
} }
} }

View file

@ -115,6 +115,12 @@ Item {
return result return result
} }
function setValueManually(value)
{
sliderRoot.manuallyChanged = true
handle.setValue(value)
}
// 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 // Normalize values between range, since using arrow keys will create out-of-the-range values
@ -130,16 +136,8 @@ Item {
sliderRoot.updateRangeHandle() sliderRoot.updateRangeHandle()
} }
Keys.onRightPressed: Keys.onRightPressed: handleLabel.setValue(handleLabel.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
{ Keys.onLeftPressed: handleLabel.setValue(handleLabel.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
sliderRoot.manuallyChanged = true
handleLabel.setValue(handleLabel.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
}
Keys.onLeftPressed:
{
sliderRoot.manuallyChanged = true
handleLabel.setValue(handleLabel.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1))
}
// dragging // dragging
MouseArea { MouseArea {
@ -172,7 +170,7 @@ Item {
maximumValue: sliderRoot.maximumValue maximumValue: sliderRoot.maximumValue
value: sliderRoot.handleValue value: sliderRoot.handleValue
busy: UM.SimulationView.busy busy: UM.SimulationView.busy
setValue: handle.setValue // connect callback functions setValue: handle.setValueManually // connect callback functions
} }
} }
} }