mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 02:58:59 +08:00
Create new SettingInstance when moving extruder DC settings
CURA-4708
This commit is contained in:
parent
a7d51326c0
commit
0cd392fbd2
@ -14,6 +14,7 @@ from UM.Decorators import override
|
|||||||
from UM.Settings.ContainerRegistry import ContainerRegistry
|
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.SettingInstance import SettingInstance
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
from UM.Message import Message
|
from UM.Message import Message
|
||||||
@ -443,10 +444,16 @@ class CuraContainerRegistry(ContainerRegistry):
|
|||||||
|
|
||||||
# move definition_changes settings if exist
|
# move definition_changes settings if exist
|
||||||
for setting_key in ("machine_nozzle_size", "material_diameter"):
|
for setting_key in ("machine_nozzle_size", "material_diameter"):
|
||||||
setting_instance = machine.definitionChanges.getInstance(setting_key)
|
setting_value = machine.definitionChanges.getProperty(setting_key, "value")
|
||||||
if setting_instance is not None:
|
if setting_value is not None:
|
||||||
# move it to the extruder stack's definition_changes
|
# move it to the extruder stack's definition_changes
|
||||||
definition_changes.addInstance(setting_instance)
|
setting_definition = machine.getSettingDefinition(setting_key)
|
||||||
|
new_instance = SettingInstance(setting_definition, definition_changes)
|
||||||
|
new_instance.setProperty("value", setting_value)
|
||||||
|
new_instance.resetState() # Ensure that the state is not seen as a user state.
|
||||||
|
definition_changes.addInstance(new_instance)
|
||||||
|
definition_changes.setDirty(True)
|
||||||
|
|
||||||
machine.definitionChanges.removeInstance(setting_key, postpone_emit = True)
|
machine.definitionChanges.removeInstance(setting_key, postpone_emit = True)
|
||||||
|
|
||||||
self.addContainer(definition_changes)
|
self.addContainer(definition_changes)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user