Merge branch 'fix_infill_slider_rounding' into 3.0

This commit is contained in:
Diego Prado Gesto 2017-09-27 17:24:41 +02:00
commit 0731f942ae

View File

@ -354,8 +354,6 @@ Item
} }
} }
Item Item
{ {
id: infillCellRight id: infillCellRight
@ -395,7 +393,7 @@ Item
minimumValue: 0 minimumValue: 0
maximumValue: 100 maximumValue: 100
stepSize: 10 stepSize: (parseInt(infillDensity.properties.value) % 10 == 0) ? 10 : 1
tickmarksEnabled: true tickmarksEnabled: true
// disable slider when gradual support is enabled // disable slider when gradual support is enabled
@ -405,12 +403,12 @@ Item
value: parseInt(infillDensity.properties.value) value: parseInt(infillDensity.properties.value)
onValueChanged: { onValueChanged: {
infillDensity.setPropertyValue("value", infillSlider.value) // Explicitly cast to string to make sure the value passed to Python is an integer.
infillDensity.setPropertyValue("value", String(parseInt(infillSlider.value)))
} }
style: SliderStyle style: SliderStyle
{ {
groove: Rectangle { groove: Rectangle {
id: groove id: groove
implicitWidth: 200 * screenScaleFactor implicitWidth: 200 * screenScaleFactor
@ -433,6 +431,15 @@ Item
tickmarks: Repeater { tickmarks: Repeater {
id: repeater id: repeater
model: control.maximumValue / control.stepSize + 1 model: control.maximumValue / control.stepSize + 1
// check if a tick should be shown based on it's index and wether the infill density is a multiple of 10 (slider step size)
function shouldShowTick (index) {
if ((parseInt(infillDensity.properties.value) % 10 == 0) || (index % 10 == 0)) {
return true
}
return false
}
Rectangle { Rectangle {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
@ -440,6 +447,7 @@ Item
height: 6 * screenScaleFactor height: 6 * screenScaleFactor
y: 0 y: 0
x: styleData.handleWidth / 2 + index * ((repeater.width - styleData.handleWidth) / (repeater.count-1)) x: styleData.handleWidth / 2 + index * ((repeater.width - styleData.handleWidth) / (repeater.count-1))
visible: shouldShowTick(index)
} }
} }
} }
@ -832,7 +840,6 @@ Item
UM.SettingPropertyProvider UM.SettingPropertyProvider
{ {
id: infillExtruderNumber id: infillExtruderNumber
containerStackId: Cura.MachineManager.activeStackId containerStackId: Cura.MachineManager.activeStackId
key: "infill_extruder_nr" key: "infill_extruder_nr"
watchedProperties: [ "value" ] watchedProperties: [ "value" ]