Use .container property of nodes to switch profiles

This also fixes a crash when switching nozzles since the variant was set to a list of profiles rather than just one profile.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-23 13:51:24 +02:00
parent 40b562093d
commit 617419ccc6
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -1240,7 +1240,7 @@ class MachineManager(QObject):
def _setVariantNode(self, position: str, variant_node: "VariantNode") -> None:
if self._global_container_stack is None:
return
self._global_container_stack.extruders[position].variant = CuraContainerRegistry.getInstance().findContainers(id = variant_node.container_id)
self._global_container_stack.extruders[position].variant = variant_node.container
self.activeVariantChanged.emit()
def _setGlobalVariant(self, container_node: "ContainerNode") -> None:
@ -1254,8 +1254,9 @@ class MachineManager(QObject):
if self._global_container_stack is None:
return
if material_node:
self._global_container_stack.extruders[position].material = CuraContainerRegistry.getInstance().findContainers(id = material_node.container_id)[0]
root_material_id = material_node.container.getMetaDataEntry("base_file", None)
material_container = material_node.container
self._global_container_stack.extruders[position].material = material_container
root_material_id = material_container.getMetaDataEntry("base_file", None)
else:
self._global_container_stack.extruders[position].material = empty_material_container
root_material_id = None