From 409dc98299d15960df42c801e3ac3ae58a6e109a Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 13 Dec 2019 15:00:22 +0100 Subject: [PATCH] Keep global settings on sync to diff printer type In addition to the per-extruder user changes, copy the global user changes to the new_machine. CURA-6127 --- cura/Settings/MachineManager.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index ece3e1ce92..989a92d8f9 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1257,16 +1257,19 @@ class MachineManager(QObject): new_machine.setMetaDataEntry("hidden", False) self._global_container_stack.setMetaDataEntry("hidden", True) - # The new_machine only has the global user changes and not the per-extruder user changes (since it has an empty - # extruderList before it becomes active). Keep a temporary copy of the per-extruder user changes and transfer - # it to the user changes of the new machine after the new_machine becomes active. + # The new_machine does not contain user changes (global or per-extruder user changes). + # Keep a temporary copy of the global and per-extruder user changes and transfer them to the user changes + # of the new machine after the new_machine becomes active. + global_user_changes = self._global_container_stack.userChanges per_extruder_user_changes = {} for extruder_name, extruder_stack in self._global_container_stack.extruders.items(): per_extruder_user_changes[extruder_name] = extruder_stack.userChanges self.setActiveMachine(new_machine.getId()) - # Apply the per-extruder userChanges to the new_machine (which is of different type than the previous one). + # Apply the global and per-extruder userChanges to the new_machine (which is of different type than the + # previous one). + self._global_container_stack.setUserChanges(global_user_changes) for extruder_name in self._global_container_stack.extruders.keys(): self._global_container_stack.extruders[extruder_name].setUserChanges(per_extruder_user_changes[extruder_name])