From cd8eaf77599f9e3cb12113771f6669ff7d44eea9 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 3 Jan 2017 15:58:35 +0100 Subject: [PATCH] minimum layer slider now works --- plugins/LayerView/LayerPass.py | 2 +- plugins/LayerView/LayerView.py | 2 -- plugins/LayerView/LayerView.qml | 16 +++++++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/plugins/LayerView/LayerPass.py b/plugins/LayerView/LayerPass.py index 6d0c49e0f9..dba6f10930 100644 --- a/plugins/LayerView/LayerPass.py +++ b/plugins/LayerView/LayerPass.py @@ -80,7 +80,7 @@ class LayerPass(RenderPass): continue # Render all layers below a certain number as line mesh instead of vertices. - if self._layer_view._current_layer_num > -1 and not self._layer_view._only_show_top_layers: + if self._layer_view._current_layer_num > -1 and ((not self._layer_view._only_show_top_layers) or (not self._layer_view.getCompatibilityMode())): start = 0 end = 0 element_counts = layer_data.getElementCounts() diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index 4e5d7da23e..d7bcb03f93 100644 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -155,8 +155,6 @@ 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._current_layer_num: - self._minimum_layer_num = self._current_layer_num self._startUpdateTopLayers() diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 0e9a2cd7c9..de6327e066 100644 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -22,13 +22,18 @@ Item anchors.leftMargin: UM.Theme.getSize("slider_layerview_margin").width * 0.2 orientation: Qt.Vertical minimumValue: 0; - maximumValue: UM.LayerView.numLayers; + maximumValue: UM.LayerView.numLayers-1; stepSize: 1 property real pixelsPerStep: ((height - UM.Theme.getSize("slider_handle").height) / (maximumValue - minimumValue)) * stepSize; value: UM.LayerView.minimumLayer - onValueChanged: UM.LayerView.setMinimumLayer(value) + onValueChanged: { + UM.LayerView.setMinimumLayer(value) + if (value > UM.LayerView.currentLayer) { + UM.LayerView.setCurrentLayer(value); + } + } style: UM.Theme.styles.slider; } @@ -48,7 +53,12 @@ Item property real pixelsPerStep: ((height - UM.Theme.getSize("slider_handle").height) / (maximumValue - minimumValue)) * stepSize; value: UM.LayerView.currentLayer - onValueChanged: UM.LayerView.setCurrentLayer(value) + onValueChanged: { + UM.LayerView.setCurrentLayer(value); + if (value < UM.LayerView.minimumLayer) { + UM.LayerView.setMinimumLayer(value); + } + } style: UM.Theme.styles.slider;