mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-15 18:55:55 +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.ContainerStack import ContainerStack
|
||||||
from UM.Settings.InstanceContainer import InstanceContainer
|
from UM.Settings.InstanceContainer import InstanceContainer
|
||||||
from UM.Settings.SettingFunction import SettingFunction
|
from UM.Settings.SettingFunction import SettingFunction
|
||||||
from UM.Signal import postponeSignals
|
from UM.Signal import postponeSignals, CompressTechnique
|
||||||
import UM.FlameProfiler
|
import UM.FlameProfiler
|
||||||
|
|
||||||
from cura.QualityManager import QualityManager
|
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.
|
# Depending on from/to material+current variant, a quality profile is chosen and set.
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def setActiveMaterial(self, material_id: 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)
|
containers = ContainerRegistry.getInstance().findInstanceContainers(id = material_id)
|
||||||
if not containers or not self._active_container_stack:
|
if not containers or not self._active_container_stack:
|
||||||
return
|
return
|
||||||
@ -770,7 +770,7 @@ class MachineManager(QObject):
|
|||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def setActiveVariant(self, variant_id: 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)
|
containers = ContainerRegistry.getInstance().findInstanceContainers(id = variant_id)
|
||||||
if not containers or not self._active_container_stack:
|
if not containers or not self._active_container_stack:
|
||||||
return
|
return
|
||||||
@ -781,7 +781,7 @@ class MachineManager(QObject):
|
|||||||
self.blurSettings.emit()
|
self.blurSettings.emit()
|
||||||
self._active_container_stack.variant = containers[0]
|
self._active_container_stack.variant = containers[0]
|
||||||
Logger.log("d", "Active variant changed to {active_variant_id}".format(active_variant_id = containers[0].getId()))
|
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:
|
if old_material:
|
||||||
preferred_material_name = old_material.getName()
|
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
|
# \param quality_id The quality_id of either a quality or a quality_changes
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def setActiveQuality(self, quality_id: str):
|
def setActiveQuality(self, quality_id: str):
|
||||||
with postponeSignals(*self._getContainerChangedSignals(), compress = True):
|
with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue):
|
||||||
self.blurSettings.emit()
|
self.blurSettings.emit()
|
||||||
|
|
||||||
containers = ContainerRegistry.getInstance().findInstanceContainers(id = quality_id)
|
containers = ContainerRegistry.getInstance().findInstanceContainers(id = quality_id)
|
||||||
|
@ -395,29 +395,13 @@ class XmlMaterialProfile(InstanceContainer):
|
|||||||
def getVersionFromSerialized(self, serialized: str) -> Optional[int]:
|
def getVersionFromSerialized(self, serialized: str) -> Optional[int]:
|
||||||
data = ET.fromstring(serialized)
|
data = ET.fromstring(serialized)
|
||||||
|
|
||||||
# get format version
|
version = 1
|
||||||
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")
|
|
||||||
|
|
||||||
# get setting version
|
# get setting version
|
||||||
if "version" in data.attrib:
|
if "version" in data.attrib:
|
||||||
setting_version = self.xmlVersionToSettingVersion(data.attrib["version"])
|
setting_version = self.xmlVersionToSettingVersion(data.attrib["version"])
|
||||||
else:
|
else:
|
||||||
setting_version = self.xmlVersionToSettingVersion("1.2")
|
setting_version = self.xmlVersionToSettingVersion("1.2")
|
||||||
|
|
||||||
if version is None:
|
|
||||||
raise InvalidInstanceError("Missing version in metadata")
|
|
||||||
|
|
||||||
return version * 1000000 + setting_version
|
return version * 1000000 + setting_version
|
||||||
|
|
||||||
## Overridden from InstanceContainer
|
## Overridden from InstanceContainer
|
||||||
|
@ -10,29 +10,13 @@ class XmlMaterialUpgrader(VersionUpgrade):
|
|||||||
def getXmlVersion(self, serialized):
|
def getXmlVersion(self, serialized):
|
||||||
data = ET.fromstring(serialized)
|
data = ET.fromstring(serialized)
|
||||||
|
|
||||||
# get format version
|
version = 1
|
||||||
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")
|
|
||||||
|
|
||||||
# get setting version
|
# get setting version
|
||||||
if "version" in data.attrib:
|
if "version" in data.attrib:
|
||||||
setting_version = self._xmlVersionToSettingVersion(data.attrib["version"])
|
setting_version = self._xmlVersionToSettingVersion(data.attrib["version"])
|
||||||
else:
|
else:
|
||||||
setting_version = self._xmlVersionToSettingVersion("1.2")
|
setting_version = self._xmlVersionToSettingVersion("1.2")
|
||||||
|
|
||||||
if version is None:
|
|
||||||
raise RuntimeError("Missing version in metadata")
|
|
||||||
|
|
||||||
return version * 1000000 + setting_version
|
return version * 1000000 + setting_version
|
||||||
|
|
||||||
def _xmlVersionToSettingVersion(self, xml_version: str) -> int:
|
def _xmlVersionToSettingVersion(self, xml_version: str) -> int:
|
||||||
|
@ -1157,7 +1157,6 @@
|
|||||||
"type": "[int]",
|
"type": "[int]",
|
||||||
"default_value": "[ ]",
|
"default_value": "[ ]",
|
||||||
"enabled": "infill_pattern != 'concentric' and infill_pattern != 'concentric_3d' and infill_pattern != 'cubicsubdiv'",
|
"enabled": "infill_pattern != 'concentric' and infill_pattern != 'concentric_3d' and infill_pattern != 'cubicsubdiv'",
|
||||||
"enabled": "infill_sparse_density > 0",
|
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
"spaghetti_infill_enabled":
|
"spaghetti_infill_enabled":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user