diff --git a/resources/qml/ActionPanel/ActionPanelWidget.qml b/resources/qml/ActionPanel/ActionPanelWidget.qml index 1d9ee95548..1f68fe90ed 100644 --- a/resources/qml/ActionPanel/ActionPanelWidget.qml +++ b/resources/qml/ActionPanel/ActionPanelWidget.qml @@ -12,45 +12,85 @@ import Cura 1.0 as Cura // This element hold all the elements needed for the user to trigger the slicing process, and later // to get information about the printing times, material consumption and the output process (such as // saving to a file, printing over network, ... -Rectangle +Item { - id: actionPanelWidget + id: base + width: childrenRect.width + height: childrenRect.height - width: UM.Theme.getSize("action_panel_widget").width - height: childrenRect.height + 2 * UM.Theme.getSize("thick_margin").height - - color: UM.Theme.getColor("main_background") - border.width: UM.Theme.getSize("default_lining").width - border.color: UM.Theme.getColor("lining") - radius: UM.Theme.getSize("default_radius").width - z: 10 - - property bool outputAvailable: UM.Backend.state == UM.Backend.Done || UM.Backend.state == UM.Backend.Disabled - - Loader + Rectangle { - id: loader - anchors + id: actionPanelWidget + + width: UM.Theme.getSize("action_panel_widget").width + height: childrenRect.height + 2 * UM.Theme.getSize("thick_margin").height + anchors. right: parent.right + color: UM.Theme.getColor("main_background") + border.width: UM.Theme.getSize("default_lining").width + border.color: UM.Theme.getColor("lining") + radius: UM.Theme.getSize("default_radius").width + z: 10 + + property bool outputAvailable: UM.Backend.state == UM.Backend.Done || UM.Backend.state == UM.Backend.Disabled + + Loader { - top: parent.top - topMargin: UM.Theme.getSize("thick_margin").height - left: parent.left - leftMargin: UM.Theme.getSize("thick_margin").width - right: parent.right - rightMargin: UM.Theme.getSize("thick_margin").width + id: loader + anchors + { + top: parent.top + topMargin: UM.Theme.getSize("thick_margin").height + left: parent.left + leftMargin: UM.Theme.getSize("thick_margin").width + right: parent.right + rightMargin: UM.Theme.getSize("thick_margin").width + } + sourceComponent: actionPanelWidget.outputAvailable ? outputProcessWidget : sliceProcessWidget + } + + Component + { + id: sliceProcessWidget + SliceProcessWidget { } + } + + Component + { + id: outputProcessWidget + OutputProcessWidget { } } - sourceComponent: outputAvailable ? outputProcessWidget : sliceProcessWidget } - Component + Item { - id: sliceProcessWidget - SliceProcessWidget { } + id: additionalComponents + width: childrenRect.width + anchors.right: actionPanelWidget.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.bottom: actionPanelWidget.bottom + anchors.bottomMargin: UM.Theme.getSize("thick_margin").height * 2 + visible: actionPanelWidget.visible + Row + { + id: additionalComponentsRow + anchors.verticalCenter: parent.verticalCenter + spacing: UM.Theme.getSize("default_margin").width + } } - Component + Component.onCompleted: base.addAdditionalComponents() + + Connections { - id: outputProcessWidget - OutputProcessWidget { } + target: CuraApplication + onAdditionalComponentsChanged: base.addAdditionalComponents() + } + + function addAdditionalComponents() + { + for (var component in CuraApplication.additionalComponents["saveButton"]) + { + CuraApplication.additionalComponents["saveButton"][component].parent = additionalComponentsRow + } } } \ No newline at end of file diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 98356181cb..4aca41f6a1 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -270,39 +270,6 @@ UM.MainWindow visible: CuraApplication.platformActivity && (main.item == null || !qmlTypeOf(main.item, "QQuickRectangle")) } - Item - { - id: additionalComponents - width: childrenRect.width - anchors.right: actionPanelWidget.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.bottom: actionPanelWidget.bottom - anchors.bottomMargin: UM.Theme.getSize("thick_margin").height * 2 - visible: actionPanelWidget.visible - Row - { - id: additionalComponentsRow - anchors.verticalCenter: parent.verticalCenter - spacing: UM.Theme.getSize("default_margin").width - } - } - - Component.onCompleted: contentItem.addAdditionalComponents() - - Connections - { - target: CuraApplication - onAdditionalComponentsChanged: contentItem.addAdditionalComponents("saveButton") - } - - function addAdditionalComponents() - { - for (var component in CuraApplication.additionalComponents["saveButton"]) - { - CuraApplication.additionalComponents["saveButton"][component].parent = additionalComponentsRow - } - } - Loader { // A stage can control this area. If nothing is set, it will therefore show the 3D view.