Fix displaying list of nozzles

Make it use the ContainerTree structure since the original VariantManager's structure is not populated any more.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-23 13:22:25 +02:00
parent 8e06786e7b
commit 99bf82dee3
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276

View file

@ -26,7 +26,6 @@ class NozzleModel(ListModel):
self._application = Application.getInstance()
self._machine_manager = self._application.getMachineManager()
self._variant_manager = self._application.getVariantManager()
self._machine_manager.globalContainerChanged.connect(self._update)
self._update()
@ -40,19 +39,12 @@ class NozzleModel(ListModel):
return
machine_node = ContainerTree.getInstance().machines[global_stack.definition.getId()]
has_variants = parseBool(global_stack.getMetaDataEntry("has_variants", False))
if not has_variants:
self.setItems([])
return
variant_node_dict = self._variant_manager.getVariantNodes(global_stack, VariantType.NOZZLE)
if not variant_node_dict:
if not machine_node.has_variants:
self.setItems([])
return
item_list = []
for hotend_name, container_node in sorted(variant_node_dict.items(), key = lambda i: i[0].upper()):
for hotend_name, container_node in sorted(machine_node.variants.items(), key = lambda i: i[0].upper()):
item = {"id": hotend_name,
"hotend_name": hotend_name,
"container_node": container_node
@ -60,4 +52,4 @@ class NozzleModel(ListModel):
item_list.append(item)
self.setItems(item_list)
self.setItems(item_list)