Search for instance containers with type material

CURA-4129
This commit is contained in:
Lipu Fei 2017-08-08 16:32:01 +02:00
parent b9cdeb68d6
commit bb1475d1fd

View file

@ -336,19 +336,15 @@ class ContainerManager(QObject):
# check if this is a material container. If so, check if any material with the same GUID is being used by any
# stacks.
container_ids_to_check = [container_id]
container_results = self._container_registry.findInstanceContainers(id = container_id)
container_results = self._container_registry.findInstanceContainers(id = container_id, type = "material")
if container_results:
this_container = container_results[0]
container_guid = this_container.getMetaDataEntry("GUID")
# FIXME: only material containers have GUIDs, but to make it safer, metadata/material is also checked.
# but note that this is not a proper way to check whether a container is a material container.
# there should be a better way to do this
is_material = container_guid and this_container.getMetaDataEntry("material")
if is_material:
# check all material container IDs with the same guid
material_containers = self._container_registry.findInstanceContainers(GUID = container_guid)
if material_containers:
container_ids_to_check = [container.getId() for container in material_containers]
# check all material container IDs with the same GUID
material_containers = self._container_registry.findInstanceContainers(GUID = container_guid,
type = "material")
if material_containers:
container_ids_to_check = [container.getId() for container in material_containers]
all_stacks = self._container_registry.findContainerStacks()
for stack in all_stacks: