diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 6f1b82a7b8..96ccc89ccf 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -16,7 +16,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.ContainerStack import ContainerStack from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingFunction import SettingFunction -from UM.Signal import postponeSignals +from UM.Signal import postponeSignals, CompressTechnique import UM.FlameProfiler from cura.QualityManager import QualityManager @@ -705,7 +705,7 @@ class MachineManager(QObject): # Depending on from/to material+current variant, a quality profile is chosen and set. @pyqtSlot(str) def setActiveMaterial(self, material_id: str): - with postponeSignals(*self._getContainerChangedSignals()): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): containers = ContainerRegistry.getInstance().findInstanceContainers(id = material_id) if not containers or not self._active_container_stack: return @@ -770,7 +770,7 @@ class MachineManager(QObject): @pyqtSlot(str) def setActiveVariant(self, variant_id: str): - with postponeSignals(*self._getContainerChangedSignals()): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): containers = ContainerRegistry.getInstance().findInstanceContainers(id = variant_id) if not containers or not self._active_container_stack: return @@ -781,7 +781,7 @@ class MachineManager(QObject): self.blurSettings.emit() self._active_container_stack.variant = containers[0] Logger.log("d", "Active variant changed to {active_variant_id}".format(active_variant_id = containers[0].getId())) - preferred_material = None + preferred_material_name = None if old_material: preferred_material_name = old_material.getName() @@ -793,7 +793,7 @@ class MachineManager(QObject): # \param quality_id The quality_id of either a quality or a quality_changes @pyqtSlot(str) def setActiveQuality(self, quality_id: str): - with postponeSignals(*self._getContainerChangedSignals(), compress = True): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): self.blurSettings.emit() containers = ContainerRegistry.getInstance().findInstanceContainers(id = quality_id) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index bddb801030..7519565302 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -395,29 +395,13 @@ class XmlMaterialProfile(InstanceContainer): def getVersionFromSerialized(self, serialized: str) -> Optional[int]: data = ET.fromstring(serialized) - # get format version - version = None - metadata = data.iterfind("./um:metadata/*", self.__namespaces) - for entry in metadata: - tag_name = _tag_without_namespace(entry) - if tag_name == "version": - try: - version = int(entry.text) - except Exception as e: - raise InvalidInstanceError("Invalid version string '%s': %s" % (entry.text, e)) - break - if version is None: - raise InvalidInstanceError("Missing version in metadata") - + version = 1 # get setting version if "version" in data.attrib: setting_version = self.xmlVersionToSettingVersion(data.attrib["version"]) else: setting_version = self.xmlVersionToSettingVersion("1.2") - if version is None: - raise InvalidInstanceError("Missing version in metadata") - return version * 1000000 + setting_version ## Overridden from InstanceContainer diff --git a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py index 8f1d1e9ec6..ad20a44c28 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py +++ b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py @@ -10,29 +10,13 @@ class XmlMaterialUpgrader(VersionUpgrade): def getXmlVersion(self, serialized): data = ET.fromstring(serialized) - # get format version - version = None - metadata = data.iterfind("./um:metadata/*") - for entry in metadata: - tag_name = entry.tag - if tag_name == "version": - try: - version = int(entry.text) - except Exception as e: - raise ValueError("Invalid version string '%s': %s" % (entry.text, e)) - break - if version is None: - raise RuntimeError("Missing version in metadata") - + version = 1 # get setting version if "version" in data.attrib: setting_version = self._xmlVersionToSettingVersion(data.attrib["version"]) else: setting_version = self._xmlVersionToSettingVersion("1.2") - if version is None: - raise RuntimeError("Missing version in metadata") - return version * 1000000 + setting_version def _xmlVersionToSettingVersion(self, xml_version: str) -> int: diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index bea23144c1..8372be8f6a 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1157,7 +1157,6 @@ "type": "[int]", "default_value": "[ ]", "enabled": "infill_pattern != 'concentric' and infill_pattern != 'concentric_3d' and infill_pattern != 'cubicsubdiv'", - "enabled": "infill_sparse_density > 0", "settable_per_mesh": true }, "spaghetti_infill_enabled":