Fix intent profile selection

CURA-6810
This commit is contained in:
Lipu Fei 2019-10-01 15:20:58 +02:00
parent ad7b58e460
commit c030328b7f
2 changed files with 6 additions and 2 deletions

View file

@ -91,12 +91,12 @@ class CuraContainerStack(ContainerStack):
#
# \param new_intent The new intent container. It is expected to have a "type" metadata entry with the value "intent".
def setIntent(self, new_intent: InstanceContainer, postpone_emit: bool = False) -> None:
self.replaceContainer(_ContainerIndexes.Intent, new_intent, postpone_emit=postpone_emit)
self.replaceContainer(_ContainerIndexes.Intent, new_intent, postpone_emit = postpone_emit)
## Get the quality container.
#
# \return The intent container. Should always be a valid container, but can be equal to the empty InstanceContainer.
@pyqtProperty(InstanceContainer, fset=setIntent, notify=pyqtContainersChanged)
@pyqtProperty(InstanceContainer, fset = setIntent, notify = pyqtContainersChanged)
def intent(self) -> InstanceContainer:
return cast(InstanceContainer, self._containers[_ContainerIndexes.Intent])

View file

@ -1322,6 +1322,10 @@ class MachineManager(QObject):
# It's also possible that the qualityChanges has an opinion about the intent_category.
# This is in the case that a QC was made on an intent, but none of the materials have that intent.
# If the user switches back, we do want the intent to be selected again.
#
# Do not ask empty quality changes for intent category.
if extruder.qualityChanges.getId() == empty_quality_changes_container.getId():
continue
current_category = extruder.qualityChanges.getMetaDataEntry("intent_category", "default")
if current_category != "default" and current_category != category:
category = current_category