mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-20 17:29:10 +08:00
Fix display of custom profiles for printers that have no materials (UM2)
CURA-2565
This commit is contained in:
parent
081ca8ea8d
commit
593687afee
@ -27,8 +27,8 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
|
|
||||||
self._extruder_id = None
|
self._extruder_id = None
|
||||||
self._extruder_definition_id = None
|
self._extruder_definition_id = None
|
||||||
self._quality = None
|
self._quality_id = None
|
||||||
self._material = None
|
self._material_id = None
|
||||||
|
|
||||||
self.addRoleName(self.KeyRole, "key")
|
self.addRoleName(self.KeyRole, "key")
|
||||||
self.addRoleName(self.LabelRole, "label")
|
self.addRoleName(self.LabelRole, "label")
|
||||||
@ -61,29 +61,29 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
return self._extruder_definition_id
|
return self._extruder_definition_id
|
||||||
|
|
||||||
def setQuality(self, quality):
|
def setQuality(self, quality):
|
||||||
if quality != self._quality:
|
if quality != self._quality_id:
|
||||||
self._quality = quality
|
self._quality_id = quality
|
||||||
self._update()
|
self._update()
|
||||||
self.qualityChanged.emit()
|
self.qualityChanged.emit()
|
||||||
|
|
||||||
qualityChanged = pyqtSignal()
|
qualityChanged = pyqtSignal()
|
||||||
@pyqtProperty(str, fset = setQuality, notify = qualityChanged)
|
@pyqtProperty(str, fset = setQuality, notify = qualityChanged)
|
||||||
def quality(self):
|
def quality(self):
|
||||||
return self._quality
|
return self._quality_id
|
||||||
|
|
||||||
def setMaterial(self, material):
|
def setMaterial(self, material):
|
||||||
if material != self._material:
|
if material != self._material_id:
|
||||||
self._material = material
|
self._material_id = material
|
||||||
self._update()
|
self._update()
|
||||||
self.materialChanged.emit()
|
self.materialChanged.emit()
|
||||||
|
|
||||||
materialChanged = pyqtSignal()
|
materialChanged = pyqtSignal()
|
||||||
@pyqtProperty(str, fset = setMaterial, notify = materialChanged)
|
@pyqtProperty(str, fset = setMaterial, notify = materialChanged)
|
||||||
def material(self):
|
def material(self):
|
||||||
return self._material
|
return self._material_id
|
||||||
|
|
||||||
def _update(self):
|
def _update(self):
|
||||||
if not self._quality:
|
if not self._quality_id:
|
||||||
return
|
return
|
||||||
|
|
||||||
items = []
|
items = []
|
||||||
@ -91,9 +91,9 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
settings = collections.OrderedDict()
|
settings = collections.OrderedDict()
|
||||||
definition_container = UM.Application.getInstance().getGlobalContainerStack().getBottom()
|
definition_container = UM.Application.getInstance().getGlobalContainerStack().getBottom()
|
||||||
|
|
||||||
containers = self._container_registry.findInstanceContainers(id = self._quality)
|
containers = self._container_registry.findInstanceContainers(id = self._quality_id)
|
||||||
if not containers:
|
if not containers:
|
||||||
UM.Logger.log("w", "Could not find a quality container with id %s", self._quality)
|
UM.Logger.log("w", "Could not find a quality container with id %s", self._quality_id)
|
||||||
return
|
return
|
||||||
|
|
||||||
quality_container = None
|
quality_container = None
|
||||||
@ -110,8 +110,8 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
"definition": quality_changes_container.getDefinition().getId()
|
"definition": quality_changes_container.getDefinition().getId()
|
||||||
}
|
}
|
||||||
|
|
||||||
if self._material:
|
if self._material_id and self._material_id != "empty_material":
|
||||||
criteria["material"] = self._material
|
criteria["material"] = self._material_id
|
||||||
|
|
||||||
quality_container = self._container_registry.findInstanceContainers(**criteria)
|
quality_container = self._container_registry.findInstanceContainers(**criteria)
|
||||||
if not quality_container:
|
if not quality_container:
|
||||||
@ -124,8 +124,8 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
|
|||||||
|
|
||||||
criteria = {"type": "quality", "quality_type": quality_type, "definition": definition_id}
|
criteria = {"type": "quality", "quality_type": quality_type, "definition": definition_id}
|
||||||
|
|
||||||
if self._material:
|
if self._material_id and self._material_id != "empty_material":
|
||||||
criteria["material"] = self._material
|
criteria["material"] = self._material_id
|
||||||
|
|
||||||
criteria["extruder"] = self._extruder_id
|
criteria["extruder"] = self._extruder_id
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user