Ensure that extruder configurations are correctly sorted

CL-894
This commit is contained in:
Jaime van Kessel 2018-08-21 13:32:22 +02:00
parent 03a7833180
commit 6a08b63f21
4 changed files with 18 additions and 12 deletions

View file

@ -520,18 +520,16 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
key=data["uuid"], name= data["name"])
configuration = ConfigurationModel()
extruders = []
extruders = [ExtruderConfigurationModel(position = idx) for idx in range(0, self._number_of_extruders)]
for index in range(0, self._number_of_extruders):
extruder = ExtruderConfigurationModel()
extruder.setPosition(index)
try:
extruder_data = data["configuration"][index]
except IndexError:
break
continue
extruder = extruders[int(data["configuration"][index]["extruder_index"])]
extruder.setHotendID(extruder_data.get("print_core_id", ""))
extruder.setMaterial(self._createMaterialOutputModel(extruder_data.get("material", {})))
extruders.append(extruder)
configuration.setExtruderConfigurations(extruders)
print_job.updateConfiguration(configuration)

View file

@ -18,6 +18,15 @@ Item
id: extruderCircle
width: 30
height: 30
opacity:
{
if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined)
{
return 0.5
}
return 1
}
Rectangle
{
anchors.fill: parent
@ -30,7 +39,7 @@ Item
{
anchors.centerIn: parent
font: UM.Theme.getFont("default_bold")
text: printCoreConfiguration != undefined ? printCoreConfiguration.position + 1 : ""
text: printCoreConfiguration.position + 1
}
}
@ -40,7 +49,7 @@ Item
text:
{
if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined)
if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined)
{
return printCoreConfiguration.activeMaterial.name
}
@ -58,7 +67,7 @@ Item
id: printCoreLabel
text:
{
if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined)
if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined)
{
return printCoreConfiguration.hotendID
}