diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index da58c526fe..390c2dcc7d 100755 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -163,6 +163,8 @@ class LayerView(View): self._current_layer_num = 0 if self._current_layer_num > self._max_layers: self._current_layer_num = self._max_layers + if self._current_layer_num < self._minimum_layer_num: + self._minimum_layer_num = self._current_layer_num self._startUpdateTopLayers() @@ -173,6 +175,10 @@ class LayerView(View): self._minimum_layer_num = value if self._minimum_layer_num < 0: self._minimum_layer_num = 0 + if self._minimum_layer_num > self._max_layers: + self._minimum_layer_num = self._max_layers + if self._minimum_layer_num > self._current_layer_num: + self._current_layer_num = self._minimum_layer_num self._startUpdateTopLayers() diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 7fabdd07bc..894c29b454 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -366,41 +366,31 @@ Item } property var activeHandle: upperHandle - function setLowerValue(value) - { - - } - function setUpperValue(value) { - print("!!!!!!", value) - var value = (value - maximumValue) / (minimumValue - maximumValue); - print("a ", value) var new_upper_y = Math.round(value * (height - (2 * handleSize + minimumRangeHandleSize))); - print("b ", new_upper_y, upperHandle.y) - var new_lower = lowerHandle.value - if(UM.LayerView.currentLayer - lowerHandle.value < minimumRange) - { - new_lower = UM.LayerView.currentLayer - minimumRange - } else if(activeHandle == rangeHandle) - { - new_lower = UM.LayerView.currentLayer - (upperHandle.value - lowerHandle.value) - } - new_lower = Math.max(minimumValue, new_lower) if(new_upper_y != upperHandle.y) { - upperHandle.y = new_upper_y - } - if(new_lower != lowerHandle.value) - { - value = (new_lower - maximumValue) / (minimumValue - maximumValue) - lowerHandle.y = Math.round((handleSize + minimumRangeHandleSize) + value * (height - (2 * handleSize + minimumRangeHandleSize))) + upperHandle.y = new_upper_y; } rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); } + function setLowerValue(value) + { + var value = (value - maximumValue) / (minimumValue - maximumValue); + var new_lower_y = Math.round((handleSize + minimumRangeHandleSize) + value * (height - (2 * handleSize + minimumRangeHandleSize))); + + if(new_lower_y != lowerHandle.y) + { + lowerHandle.y = new_lower_y; + } + rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); + } + + Connections { target: UM.LayerView @@ -447,8 +437,10 @@ Item upperHandle.y = parent.y - upperHandle.height lowerHandle.y = parent.y + parent.height - UM.LayerView.setCurrentLayer(slider.getUpperValueFromHandle()); - UM.LayerView.setMinimumLayer(slider.getLowerValueFromHandle()); + var upper_value = slider.getUpperValueFromHandle(); + var lower_value = upper_value - (upperHandle.value - lowerHandle.value); + UM.LayerView.setCurrentLayer(upper_value); + UM.LayerView.setMinimumLayer(lower_value); } } }