From a52bb1422b80291304354b11eced79e208b4b54c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 6 Sep 2016 17:46:11 +0200 Subject: [PATCH 1/3] Suggest unique name when creating/duplicating profiles CURA-2161 --- cura/Settings/ContainerManager.py | 4 ++++ resources/qml/Preferences/ProfilesPage.qml | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) 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/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(); } From e010c90c435aab94dc8e7814b89c66fae23a226c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 7 Sep 2016 09:21:19 +0200 Subject: [PATCH 2/3] No longer set move_vector when we don't have to --- cura/PlatformPhysics.py | 1 - 1 file changed, 1 deletion(-) 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: From 1bafac94bd27817b5e5310618658809e0be3afeb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 7 Sep 2016 09:55:22 +0200 Subject: [PATCH 3/3] Value functions are now correcty copied when using per-object settings CURA-2224 --- .../PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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