Make intents work on quality management page

CURA-6706
This commit is contained in:
Lipu Fei 2019-10-04 13:36:03 +02:00
parent 1981a7c65b
commit c42feae11c
6 changed files with 114 additions and 40 deletions

View file

@ -80,7 +80,7 @@ class IntentManager(QObject):
for extruder_stack in global_stack.extruderList:
nozzle_name = extruder_stack.variant.getMetaDataEntry("name")
material_id = extruder_stack.material.getMetaDataEntry("base_file")
final_intent_ids |= {metadata["id"] for metadata in self.intentMetadatas(current_definition_id, nozzle_name, material_id) if metadata["quality_type"] in available_quality_types}
final_intent_ids |= {metadata["id"] for metadata in self.intentMetadatas(current_definition_id, nozzle_name, material_id) if metadata.get("quality_type") in available_quality_types}
result = set() # type: Set[Tuple[str, str]]
for intent_id in final_intent_ids:
@ -162,4 +162,4 @@ class IntentManager(QObject):
extruder_stack.intent = self.getDefaultIntent()
application.getMachineManager().setQualityGroupByQualityType(quality_type)
if old_intent_category != intent_category:
self.intentCategoryChanged.emit()
self.intentCategoryChanged.emit()

View file

@ -636,6 +636,7 @@ class MachineManager(QObject):
category = extruder.intent.getMetaDataEntry("intent_category", "default")
if category != "default" and category != intent_category:
intent_category = category
return intent_category
# Provies a list of extruder positions that have a different intent from the active one.
@ -1625,6 +1626,7 @@ class MachineManager(QObject):
# Otherwise the intent profile will be left to the empty profile, which
# represents the "default" intent category.
# \param intent_category The intent category to change to.
@pyqtSlot(str)
def setIntentByCategory(self, intent_category: str) -> None:
global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()
if global_stack is None: