mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-15 01:45:56 +08:00
Merge branch '2.6'
This commit is contained in:
commit
374b6d4e35
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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":
|
||||
|
Loading…
x
Reference in New Issue
Block a user