Browse Source

Merge branch '3.0' of github.com:Ultimaker/Cura into 3.0

Jaime van Kessel 7 years ago
parent
commit
c6e589e7d9
2 changed files with 21 additions and 30 deletions
  1. 3 15
      plugins/3MFReader/ThreeMFReader.py
  2. 18 15
      resources/qml/SidebarSimple.qml

+ 3 - 15
plugins/3MFReader/ThreeMFReader.py

@@ -12,7 +12,6 @@ from UM.Mesh.MeshBuilder import MeshBuilder
 from UM.Mesh.MeshReader import MeshReader
 from UM.Scene.GroupDecorator import GroupDecorator
 from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator
-from cura.ZOffsetDecorator import ZOffsetDecorator
 from UM.Application import Application
 from cura.Settings.ExtruderManager import ExtruderManager
 from cura.QualityManager import QualityManager
@@ -47,7 +46,7 @@ class ThreeMFReader(MeshReader):
     def _createMatrixFromTransformationString(self, transformation):
         if transformation == "":
             return Matrix()
-        
+
         splitted_transformation = transformation.split()
         ## Transformation is saved as:
         ## M00 M01 M02 0.0
@@ -105,8 +104,8 @@ class ThreeMFReader(MeshReader):
         # Add the setting override decorator, so we can add settings to this node.
         if settings:
             um_node.addDecorator(SettingOverrideDecorator())
-            global_container_stack = Application.getInstance().getGlobalContainerStack()
 
+            global_container_stack = Application.getInstance().getGlobalContainerStack()
             # Ensure the correct next container for the SettingOverride decorator is set.
             if global_container_stack:
                 multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
@@ -144,15 +143,12 @@ class ThreeMFReader(MeshReader):
         if len(um_node.getChildren()) > 0:
             group_decorator = GroupDecorator()
             um_node.addDecorator(group_decorator)
-
         um_node.setSelectable(True)
-
         if um_node.getMeshData():
             # Assuming that all nodes with mesh data are printable objects
             # affects (auto) slicing
             sliceable_decorator = SliceableObjectDecorator()
             um_node.addDecorator(sliceable_decorator)
-
         return um_node
 
     def read(self, file_name):
@@ -172,18 +168,10 @@ class ThreeMFReader(MeshReader):
 
                 transform_matrix = Matrix()
                 mesh_data = um_node.getMeshData()
-
                 if mesh_data is not None:
                     extents = mesh_data.getExtents()
                     center_vector = Vector(extents.center.x, extents.center.y, extents.center.z)
-
-                    # If the object in a saved project is below the bed, keep it that way
-                    if extents.minimum.z < 0.0:
-                        um_node.addDecorator(ZOffsetDecorator())
-                        um_node.callDecoration("setZOffset", extents.minimum.z)
-
                     transform_matrix.setByTranslation(center_vector)
-
                 transform_matrix.multiply(um_node.getLocalTransformation())
                 um_node.setTransformation(transform_matrix)
 
@@ -207,7 +195,7 @@ class ThreeMFReader(MeshReader):
                     translation_matrix.setByTranslation(translation_vector)
                     transformation_matrix.multiply(translation_matrix)
 
-                # Third step: 3MF also defines a unit, whereas Cura always assumes mm.
+                # Third step: 3MF also defines a unit, wheras Cura always assumes mm.
                 scale_matrix = Matrix()
                 scale_matrix.setByScaleVector(self._getScaleFromUnit(self._unit))
                 transformation_matrix.multiply(scale_matrix)

+ 18 - 15
resources/qml/SidebarSimple.qml

@@ -509,21 +509,23 @@ Item
                     }
                 }
 
-                Item
+                Rectangle
                 {
                     id: infillIcon
 
-                    width: (infillCellRight.width / 5) - (UM.Theme.getSize("sidebar_margin").width)
+                    width: (parent.width / 5) - (UM.Theme.getSize("sidebar_margin").width)
                     height: width
 
-                    anchors.right: infillCellRight.right
-                    anchors.top: infillSlider.top
+                    anchors.right: parent.right
+                    anchors.top: parent.top
+                    anchors.topMargin: UM.Theme.getSize("sidebar_margin").height / 2
 
                     // we loop over all density icons and only show the one that has the current density and steps
                     Repeater
                     {
                         id: infillIconList
                         model: infillModel
+                        anchors.fill: parent
 
                         property int activeIndex: {
                             for (var i = 0; i < infillModel.count; i++) {
@@ -541,20 +543,21 @@ Item
                             return -1
                         }
 
-                        Item {
+                        Rectangle
+                        {
                             anchors.fill: parent
+                            visible: infillIconList.activeIndex == index
 
-                            Rectangle {
+                            border.width: UM.Theme.getSize("default_lining").width
+                            border.color: UM.Theme.getColor("quality_slider_available")
+
+                            UM.RecolorImage {
                                 anchors.fill: parent
-                                visible: infillIconList.activeIndex == index
-
-                                UM.RecolorImage {
-                                    anchors.fill: parent
-                                    sourceSize.width: width
-                                    sourceSize.height: width
-                                    source: UM.Theme.getIcon(model.icon)
-                                    color: UM.Theme.getColor("quality_slider_available")
-                                }
+                                anchors.margins: 2
+                                sourceSize.width: width
+                                sourceSize.height: width
+                                source: UM.Theme.getIcon(model.icon)
+                                color: UM.Theme.getColor("quality_slider_unavailable")
                             }
                         }
                     }