Expose quality changes id and quality type and make the profile menu work correctly

Contributes to CURA-2006
This commit is contained in:
Arjen Hiemstra 2016-08-10 10:58:44 +02:00
parent 450dcac394
commit 6de7d0170a
2 changed files with 18 additions and 2 deletions

View file

@ -417,6 +417,22 @@ class MachineManager(QObject):
return quality.getId() return quality.getId()
return "" return ""
@pyqtProperty(str, notify = activeQualityChanged)
def activeQualityType(self):
if self._global_container_stack:
quality = self._global_container_stack.findContainer(type = "quality")
if quality:
return quality.getMetaDataEntry("quality_type")
return ""
@pyqtProperty(str, notify = activeQualityChanged)
def activeQualityChangesId(self):
if self._global_container_stack:
changes = self._global_container_stack.findContainer(type = "quality_changes")
if changes:
return changes.getId()
return ""
## Check if a container is read_only ## Check if a container is read_only
@pyqtSlot(str, result = bool) @pyqtSlot(str, result = bool)
def isReadOnly(self, container_id): def isReadOnly(self, container_id):

View file

@ -22,7 +22,7 @@ Menu
{ {
text: model.name text: model.name
checkable: true checkable: true
checked: Cura.MachineManager.activeQualityId == model.id checked: Cura.MachineManager.activeQualityChangesId == "empty_quality_changes" && Cura.MachineManager.activeQualityType == model.metadata.quality_type
exclusiveGroup: group exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveQuality(model.id) onTriggered: Cura.MachineManager.setActiveQuality(model.id)
} }
@ -38,7 +38,7 @@ Menu
id: customProfileInstantiator id: customProfileInstantiator
model: UM.InstanceContainersModel model: UM.InstanceContainersModel
{ {
filter: menu.getFilter({ "type": "quality_changes", "extruder": null }); filter: { "type": "quality_changes", "extruder": null, "definition": Cura.MachineManager.filterQualityByMachine ? Cura.MachineManager.activeDefinitionId : "fdmprinter" };
onModelReset: customSeparator.visible = rowCount() > 0 onModelReset: customSeparator.visible = rowCount() > 0
} }