diff --git a/plugins/PrepareStage/PrepareMain.qml b/plugins/PrepareStage/PrepareMain.qml new file mode 100644 index 0000000000..bfeb62f0e8 --- /dev/null +++ b/plugins/PrepareStage/PrepareMain.qml @@ -0,0 +1,24 @@ +//Copyright (c) 2019 Ultimaker B.V. +//Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.4 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.0 as UM +import Cura 1.0 as Cura + +Item +{ + id: prepareMain + + Cura.ActionPanelWidget + { + id: actionPanelWidget + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.rightMargin: UM.Theme.getSize("thick_margin").width + anchors.bottomMargin: UM.Theme.getSize("thick_margin").height + } +} \ No newline at end of file diff --git a/plugins/PrepareStage/PrepareStage.py b/plugins/PrepareStage/PrepareStage.py index b0f862dc48..c2dee9693b 100644 --- a/plugins/PrepareStage/PrepareStage.py +++ b/plugins/PrepareStage/PrepareStage.py @@ -1,13 +1,11 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. + import os.path from UM.Application import Application from UM.PluginRegistry import PluginRegistry -from UM.Resources import Resources from cura.Stages.CuraStage import CuraStage - - ## Stage for preparing model (slicing). class PrepareStage(CuraStage): def __init__(self, parent = None): @@ -16,4 +14,6 @@ class PrepareStage(CuraStage): def _engineCreated(self): menu_component_path = os.path.join(PluginRegistry.getInstance().getPluginPath("PrepareStage"), "PrepareMenu.qml") + main_component_path = os.path.join(PluginRegistry.getInstance().getPluginPath("PrepareStage"), "PrepareMain.qml") self.addDisplayComponent("menu", menu_component_path) + self.addDisplayComponent("main", main_component_path) \ No newline at end of file diff --git a/plugins/PreviewStage/PreviewMain.qml b/plugins/PreviewStage/PreviewMain.qml index 04241783e9..eac1071822 100644 --- a/plugins/PreviewStage/PreviewMain.qml +++ b/plugins/PreviewStage/PreviewMain.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2019 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.4 @@ -9,10 +9,21 @@ import QtQuick.Controls.Styles 1.1 import UM 1.0 as UM import Cura 1.0 as Cura - -Loader +Item { - id: previewMain + Loader + { + id: previewMain - source: UM.Controller.activeView != null && UM.Controller.activeView.mainComponent != null ? UM.Controller.activeView.mainComponent : "" + source: UM.Controller.activeView != null && UM.Controller.activeView.mainComponent != null ? UM.Controller.activeView.mainComponent : "" + } + + Cura.ActionPanelWidget + { + id: actionPanelWidget + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.rightMargin: UM.Theme.getSize("thick_margin").width + anchors.bottomMargin: UM.Theme.getSize("thick_margin").height + } } \ No newline at end of file diff --git a/resources/qml/ActionPanel/ActionPanelWidget.qml b/resources/qml/ActionPanel/ActionPanelWidget.qml index 1f68fe90ed..af27adf604 100644 --- a/resources/qml/ActionPanel/ActionPanelWidget.qml +++ b/resources/qml/ActionPanel/ActionPanelWidget.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2019 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 @@ -17,6 +17,7 @@ Item id: base width: childrenRect.width height: childrenRect.height + visible: CuraApplication.platformActivity Rectangle { diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 4aca41f6a1..f9909d8308 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -246,30 +246,6 @@ UM.MainWindow } } - Cura.ActionPanelWidget - { - id: actionPanelWidget - anchors.right: parent.right - anchors.bottom: parent.bottom - anchors.rightMargin: UM.Theme.getSize("thick_margin").width - anchors.bottomMargin: UM.Theme.getSize("thick_margin").height - - /* - Show this panel only if there is something on the build plate, and there is NOT an opaque item in front of the build plate. - This cannot be solved by Z indexing! If you want to try solving this, please increase this counter when you're done: - Number of people having tried to fix this by z-indexing: 2 - The problem arises from the following render order requirements: - - The stage menu must be rendered above the stage main. - - The stage main must be rendered above the action panel (because the monitor page must be rendered above the action panel). - - The action panel must be rendered above the expandable components drop-down. - However since the expandable components drop-downs are child elements of the stage menu, - they can't be rendered lower than elements that are lower than the stage menu. - Therefore we opted to forego the second requirement and hide the action panel instead when something obscures it (except the expandable components). - We assume that QQuickRectangles are always opaque and any other item is not. - */ - visible: CuraApplication.platformActivity && (main.item == null || !qmlTypeOf(main.item, "QQuickRectangle")) - } - Loader { // A stage can control this area. If nothing is set, it will therefore show the 3D view.