Fix showing profile values for extruders

The profiles page would show the setting values in the quality profile, ignoring the quality_changes profile, because it could not find the appropriate quality_changes profile for the extruders

CURA-2478
This commit is contained in:
fieldOfView 2016-10-03 17:04:46 +02:00
parent 0e74b8eb08
commit e7da471199
4 changed files with 27 additions and 5 deletions

View file

@ -25,6 +25,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
self._container_registry = UM.Settings.ContainerRegistry.getInstance()
self._extruder_id = None
self._extruder_definition_id = None
self._quality = None
self._material = None
@ -46,6 +47,17 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
def extruderId(self):
return self._extruder_id
def setExtruderDefinition(self, extruder_definition):
if extruder_definition != self._extruder_definition_id:
self._extruder_definition_id = extruder_definition
self._update()
self.extruderDefinitionChanged.emit()
extruderDefinitionChanged = pyqtSignal()
@pyqtProperty(str, fset = setExtruderDefinition, notify = extruderDefinitionChanged)
def extruderDefinition(self):
return self._extruder_definition_id
def setQuality(self, quality):
if quality != self._quality:
self._quality = quality
@ -138,8 +150,9 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
if quality_changes_container:
criteria = {"type": "quality_changes", "quality_type": quality_type, "definition": definition_id, "name": quality_changes_container.getName()}
if self._extruder_id != "":
criteria["extruder"] = self._extruder_id
if self._extruder_definition_id != "":
criteria["extruder"] = self._extruder_definition_id
criteria["name"] = "%s_%s" % (self._extruder_definition_id, quality_changes_container.getName())
else:
criteria["extruder"] = None