diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index d25a74bf91..b1dd1c4c8e 100644 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -107,7 +107,6 @@ class PlatformPhysics: continue # Other node is already moving, wait for next pass. overlap = (0, 0) # Start loop with no overlap - move_vector = move_vector.set(x=overlap[0] * self._move_factor, z=overlap[1] * self._move_factor) current_overlap_checks = 0 # Continue to check the overlap until we no longer find one. while overlap and current_overlap_checks < self._max_overlap_checks: diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 40e036eba5..c082c64da1 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -254,6 +254,10 @@ class ContainerManager(QObject): return True return False + @pyqtSlot(str, result = str) + def makeUniqueName(self, original_name): + return self._container_registry.uniqueName(original_name) + ## Get a list of string that can be used as name filters for a Qt File Dialog # # This will go through the list of available container types and generate a list of strings diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py index b4086291ca..25c2290b37 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py @@ -69,7 +69,7 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0] else: stack = UM.Application.getInstance().getGlobalContainerStack() - new_instance.setProperty("value", stack.getProperty(item, "value")) + new_instance.setProperty("value", stack.getRawProperty(item, "value")) new_instance.resetState() # Ensure that the state is not seen as a user state. settings.addInstance(new_instance) visibility_changed = True diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index df8de3f00d..4e872bdc2b 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -84,7 +84,7 @@ UM.ManagementPage onClicked: { - newNameDialog.object = base.currentItem != null ? base.currentItem.name : ""; + newNameDialog.object = base.currentItem != null ? Cura.ContainerManager.makeUniqueName(base.currentItem.name) : ""; newNameDialog.open(); newNameDialog.selectText(); } @@ -100,7 +100,7 @@ UM.ManagementPage onClicked: { - newDuplicateNameDialog.object = base.currentItem.name; + newDuplicateNameDialog.object = Cura.ContainerManager.makeUniqueName(base.currentItem.name); newDuplicateNameDialog.open(); newDuplicateNameDialog.selectText(); } @@ -144,7 +144,7 @@ UM.ManagementPage signal createProfile() onCreateProfile: { - newNameDialog.object = base.currentItem != null ? base.currentItem.name : ""; + newNameDialog.object = base.currentItem != null ? Cura.ContainerManager.makeUniqueName(base.currentItem.name) : ""; newNameDialog.open(); newNameDialog.selectText(); }