diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index cd448dc0b6..a065a751ac 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -13,11 +13,18 @@ Item { Loader { - property var panelTop: actionPanelWidget.y id: previewMain anchors.fill: parent source: UM.Controller.activeView != null && UM.Controller.activeView.mainComponent != null ? UM.Controller.activeView.mainComponent : "" + + // Indicate that the layer slider should stay above the action panel + Binding + { + target: previewMain.item + property: "layerSliderSafeYMax" + value: actionPanelWidget.y + } } Cura.ActionPanelWidget diff --git a/plugins/SimulationView/LayerSlider.qml b/plugins/SimulationView/LayerSlider.qml index 9706b04e03..15b0fdbe12 100644 --- a/plugins/SimulationView/LayerSlider.qml +++ b/plugins/SimulationView/LayerSlider.qml @@ -338,7 +338,6 @@ Item // set the slider position based on the lower value function setValue(value) { - print("lower handle set value: " + value) // Normalize values between range, since using arrow keys will create out-of-the-range values value = sliderRoot.normalizeValue(value) diff --git a/plugins/SimulationView/SimulationViewMainComponent.qml b/plugins/SimulationView/SimulationViewMainComponent.qml index 51fc70ade8..c115dafe26 100644 --- a/plugins/SimulationView/SimulationViewMainComponent.qml +++ b/plugins/SimulationView/SimulationViewMainComponent.qml @@ -12,6 +12,11 @@ import Cura 1.0 as Cura Item { property bool is_simulation_playing: false + // By default, the layer slider can extend to the entire height of the parent + // A parent may bind this property to indicate the bottom of a safe area + // for the Layer slider + property var layerSliderSafeYMax: parent.height + visible: UM.SimulationView.layerActivity && CuraApplication.platformActivity // A slider which lets users trace a single layer (XY movements) @@ -179,13 +184,13 @@ Item id: layerSlider width: UM.Theme.getSize("slider_handle").width - height: preferredHeight + heightMargin * 2 < panelTop ? preferredHeight : panelTop - heightMargin * 2 + height: preferredHeight + heightMargin * 2 < layerSliderSafeYMax ? preferredHeight : layerSliderSafeYMax - heightMargin * 2 anchors { right: parent.right verticalCenter: parent.verticalCenter - verticalCenterOffset: -(parent.height - panelTop) / 2 // center between parent top and panelTop + verticalCenterOffset: -(parent.height - layerSliderSafeYMax) / 2 // center between parent top and layerSliderSafeYMax rightMargin: UM.Theme.getSize("default_margin").width bottomMargin: heightMargin topMargin: heightMargin @@ -216,7 +221,6 @@ Item // Make sure the slider handlers show the correct value after switching views Component.onCompleted: { - print("paneltop", panelTop, "screenscaleFactor") layerSlider.setLowerValue(UM.SimulationView.minimumLayer) layerSlider.setUpperValue(UM.SimulationView.currentLayer) }