mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
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:
parent
0e74b8eb08
commit
e7da471199
4 changed files with 27 additions and 5 deletions
|
@ -29,6 +29,9 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
||||||
# containers.
|
# containers.
|
||||||
IndexRole = Qt.UserRole + 4
|
IndexRole = Qt.UserRole + 4
|
||||||
|
|
||||||
|
# The ID of the definition of the extruder.
|
||||||
|
DefinitionRole = Qt.UserRole + 5
|
||||||
|
|
||||||
## List of colours to display if there is no material or the material has no known
|
## List of colours to display if there is no material or the material has no known
|
||||||
# colour.
|
# colour.
|
||||||
defaultColors = ["#ffc924", "#86ec21", "#22eeee", "#245bff", "#9124ff", "#ff24c8"]
|
defaultColors = ["#ffc924", "#86ec21", "#22eeee", "#245bff", "#9124ff", "#ff24c8"]
|
||||||
|
@ -44,6 +47,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
||||||
self.addRoleName(self.NameRole, "name")
|
self.addRoleName(self.NameRole, "name")
|
||||||
self.addRoleName(self.ColorRole, "color")
|
self.addRoleName(self.ColorRole, "color")
|
||||||
self.addRoleName(self.IndexRole, "index")
|
self.addRoleName(self.IndexRole, "index")
|
||||||
|
self.addRoleName(self.DefinitionRole, "definition")
|
||||||
|
|
||||||
self._add_global = False
|
self._add_global = False
|
||||||
self._simple_names = False
|
self._simple_names = False
|
||||||
|
@ -126,7 +130,8 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
||||||
"id": global_container_stack.getId(),
|
"id": global_container_stack.getId(),
|
||||||
"name": "Global",
|
"name": "Global",
|
||||||
"color": color,
|
"color": color,
|
||||||
"index": -1
|
"index": -1,
|
||||||
|
"definition": ""
|
||||||
}
|
}
|
||||||
items.append(item)
|
items.append(item)
|
||||||
changed = True
|
changed = True
|
||||||
|
@ -148,7 +153,8 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
|
||||||
"id": extruder.getId(),
|
"id": extruder.getId(),
|
||||||
"name": extruder_name,
|
"name": extruder_name,
|
||||||
"color": color,
|
"color": color,
|
||||||
"index": position
|
"index": position,
|
||||||
|
"definition": extruder.getBottom().getId()
|
||||||
}
|
}
|
||||||
items.append(item)
|
items.append(item)
|
||||||
changed = True
|
changed = True
|
||||||
|
|
|
@ -25,6 +25,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
||||||
self._container_registry = UM.Settings.ContainerRegistry.getInstance()
|
self._container_registry = UM.Settings.ContainerRegistry.getInstance()
|
||||||
|
|
||||||
self._extruder_id = None
|
self._extruder_id = None
|
||||||
|
self._extruder_definition_id = None
|
||||||
self._quality = None
|
self._quality = None
|
||||||
self._material = None
|
self._material = None
|
||||||
|
|
||||||
|
@ -46,6 +47,17 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
||||||
def extruderId(self):
|
def extruderId(self):
|
||||||
return self._extruder_id
|
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):
|
def setQuality(self, quality):
|
||||||
if quality != self._quality:
|
if quality != self._quality:
|
||||||
self._quality = quality
|
self._quality = quality
|
||||||
|
@ -138,8 +150,9 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
||||||
|
|
||||||
if quality_changes_container:
|
if quality_changes_container:
|
||||||
criteria = {"type": "quality_changes", "quality_type": quality_type, "definition": definition_id, "name": quality_changes_container.getName()}
|
criteria = {"type": "quality_changes", "quality_type": quality_type, "definition": definition_id, "name": quality_changes_container.getName()}
|
||||||
if self._extruder_id != "":
|
if self._extruder_definition_id != "":
|
||||||
criteria["extruder"] = self._extruder_id
|
criteria["extruder"] = self._extruder_definition_id
|
||||||
|
criteria["name"] = "%s_%s" % (self._extruder_definition_id, quality_changes_container.getName())
|
||||||
else:
|
else:
|
||||||
criteria["extruder"] = None
|
criteria["extruder"] = None
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ Tab
|
||||||
id: base
|
id: base
|
||||||
|
|
||||||
property string extruderId: "";
|
property string extruderId: "";
|
||||||
|
property string extruderDefinition: "";
|
||||||
property string quality: "";
|
property string quality: "";
|
||||||
property string material: "";
|
property string material: "";
|
||||||
|
|
||||||
|
@ -55,7 +56,8 @@ Tab
|
||||||
|
|
||||||
model: Cura.QualitySettingsModel
|
model: Cura.QualitySettingsModel
|
||||||
{
|
{
|
||||||
extruderId: base.extruderId != "" ? base.extruderId : ""
|
extruderId: base.extruderId
|
||||||
|
extruderDefinition: base.extruderDefinition
|
||||||
quality: base.quality != null ? base.quality : ""
|
quality: base.quality != null ? base.quality : ""
|
||||||
material: base.material != null ? base.material : ""
|
material: base.material != null ? base.material : ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,6 +223,7 @@ UM.ManagementPage
|
||||||
{
|
{
|
||||||
title: model.name;
|
title: model.name;
|
||||||
extruderId: model.id;
|
extruderId: model.id;
|
||||||
|
extruderDefinition: model.definition;
|
||||||
quality: base.currentItem != null ? base.currentItem.id : "";
|
quality: base.currentItem != null ? base.currentItem.id : "";
|
||||||
material: Cura.MachineManager.allActiveMaterialIds[model.id]
|
material: Cura.MachineManager.allActiveMaterialIds[model.id]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue