From e7e5e866116dd4c0151ca2414b43b288c4dd9859 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 9 Oct 2017 17:00:03 +0200 Subject: [PATCH] Finish layer slider label positions and cursor manipulation - CURA-4412 --- plugins/LayerView/LayerSlider.qml | 28 ++++++++++++++------------ plugins/LayerView/LayerSliderLabel.qml | 2 -- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/plugins/LayerView/LayerSlider.qml b/plugins/LayerView/LayerSlider.qml index 1ed672f8e3..e9efca0131 100644 --- a/plugins/LayerView/LayerSlider.qml +++ b/plugins/LayerView/LayerSlider.qml @@ -38,7 +38,7 @@ Item { property bool layersVisible: true - function getUpperValue () { + function getUpperValueFromSliderHandle () { return upperHandle.getValue() } @@ -47,7 +47,7 @@ Item { updateRangeHandle() } - function getLowerValue () { + function getLowerValueFromSliderHandle () { return lowerHandle.getValue() } @@ -90,7 +90,7 @@ Item { upperHandle.y = y - upperHandle.height lowerHandle.y = y + height - var upperValue = sliderRoot.getUpperValue() + var upperValue = sliderRoot.getUpperValueFromSliderHandle() var lowerValue = upperValue - (sliderRoot.upperValue - sliderRoot.lowerValue) // update the Python values @@ -156,15 +156,16 @@ Item { // set the slider position based on the upper value function setValue (value) { + + // TODO: improve this? + UM.LayerView.setCurrentLayer(value) + var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) var newUpperYPosition = Math.round(diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) y = newUpperYPosition // update the rangle handle sliderRoot.updateRangeHandle() - - // TODO: improve this? - UM.LayerView.setCurrentLayer(getValue()) } // dragging @@ -192,7 +193,7 @@ Item { // custom properties maximumValue: sliderRoot.maximumValue - value: sliderRoot.getUpperValue() + value: sliderRoot.upperValue busy: UM.LayerView.busy setValue: sliderRoot.setUpperValue // connect callback functions } @@ -218,8 +219,8 @@ Item { upperHandle.y = y - (upperHandle.heigth + sliderRoot.minimumRangeHandleSize) } - // update the range handle - rangeHandle.height = y - (upperHandle.y + upperHandle.height) + // update the rangle handle + sliderRoot.updateRangeHandle() // TODO: improve this? UM.LayerView.setMinimumLayer(getValue()) @@ -235,15 +236,16 @@ Item { // set the slider position based on the lower value function setValue (value) { + + // TODO: improve this? + UM.LayerView.setMinimumLayer(value) + var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) var newLowerYPosition = Math.round((sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) y = newLowerYPosition // update the rangle handle sliderRoot.updateRangeHandle() - - // TODO: improve this? - UM.LayerView.setMinimumLayer(getValue()) } // dragging @@ -271,7 +273,7 @@ Item { // custom properties maximumValue: sliderRoot.maximumValue - value: sliderRoot.getLowerValue() + value: sliderRoot.lowerValue busy: UM.LayerView.busy setValue: sliderRoot.setLowerValue // connect callback functions } diff --git a/plugins/LayerView/LayerSliderLabel.qml b/plugins/LayerView/LayerSliderLabel.qml index 2b469b07eb..5c477db29f 100644 --- a/plugins/LayerView/LayerSliderLabel.qml +++ b/plugins/LayerView/LayerSliderLabel.qml @@ -49,9 +49,7 @@ UM.PointingRectangle { verticalCenter: parent.verticalCenter } - // width is based on text field contents, but never smaller than 20pts width: 40 * screenScaleFactor - text: sliderLabelRoot.value + 1 // the current handle value, add 1 because layers is an array horizontalAlignment: TextInput.AlignRight