From 5402092bb47963277999d80bc89c6668fd47fe66 Mon Sep 17 00:00:00 2001 From: alekseisasin Date: Thu, 28 Sep 2017 13:22:15 +0200 Subject: [PATCH 1/2] During adding a new printer the printer name generated from default name and not from custom name (changed by user) CURA-4345 --- cura/Settings/CuraStackBuilder.py | 18 +++++++++++++----- cura/Settings/MachineManager.py | 6 +++--- resources/qml/AddMachineDialog.qml | 3 ++- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 0f8b999800..6ff4051db7 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -21,7 +21,7 @@ class CuraStackBuilder: # # \return The new global stack or None if an error occurred. @classmethod - def createMachine(cls, name: str, definition_id: str) -> Optional[GlobalStack]: + def createMachine(cls, name: str, definition_id: str, default_name: str) -> Optional[GlobalStack]: registry = ContainerRegistry.getInstance() definitions = registry.findDefinitionContainers(id = definition_id) if not definitions: @@ -29,21 +29,29 @@ class CuraStackBuilder: return None machine_definition = definitions[0] - name = registry.createUniqueName("machine", "", name, machine_definition.name) + generated_name = registry.createUniqueName("machine", "", default_name, machine_definition.name) # Make sure the new name does not collide with any definition or (quality) profile # createUniqueName() only looks at other stacks, but not at definitions or quality profiles # Note that we don't go for uniqueName() immediately because that function matches with ignore_case set to true - if registry.findContainers(id = name): - name = registry.uniqueName(name) + if registry.findContainers(id = generated_name): + generated_name = registry.uniqueName(generated_name) new_global_stack = cls.createGlobalStack( - new_stack_id = name, + new_stack_id = generated_name, definition = machine_definition, quality = "default", material = "default", variant = "default", ) + # after creating a global stack can be set custom defined name + if(name != generated_name): + name = registry.createUniqueName("machine", "", name, machine_definition.name) + if registry.findContainers(id = name): + name = registry.uniqueName(name) + + new_global_stack.setName(name) + for extruder_definition in registry.findDefinitionContainers(machine = machine_definition.id): position = extruder_definition.getMetaDataEntry("position", None) if not position: diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 69f672ab0f..e323b3ff98 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -352,9 +352,9 @@ class MachineManager(QObject): if containers: Application.getInstance().setGlobalContainerStack(containers[0]) - @pyqtSlot(str, str) - def addMachine(self, name: str, definition_id: str) -> None: - new_stack = CuraStackBuilder.createMachine(name, definition_id) + @pyqtSlot(str, str, str) + def addMachine(self, name: str, definition_id: str, default_name: str) -> None: + new_stack = CuraStackBuilder.createMachine(name, definition_id, default_name) if new_stack: Application.getInstance().setGlobalContainerStack(new_stack) else: diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index 756badc4d2..de2631457e 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -217,7 +217,8 @@ UM.Dialog { base.visible = false var item = machineList.model.getItem(machineList.currentIndex); - Cura.MachineManager.addMachine(machineName.text, item.id) + var defaultName = (item != undefined) ? item.name : "" + Cura.MachineManager.addMachine(machineName.text, item.id, defaultName) base.machineAdded(item.id) // Emit signal that the user added a machine. } From 4e4e71ad4b3e6c7fc8062969846214cb09eff437 Mon Sep 17 00:00:00 2001 From: Mark Date: Thu, 28 Sep 2017 15:04:24 +0200 Subject: [PATCH 2/2] Change AGPL to LGPL --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f68d5683d9..a91ba535d5 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ setup(name="Cura", author="Ultimaker", author_email="a.hiemstra@ultimaker.com", url="http://software.ultimaker.com/", - license="GNU AFFERO GENERAL PUBLIC LICENSE (AGPL)", + license="GNU LESSER GENERAL PUBLIC LICENSE (LGPL)", scripts=["cura_app.py"], windows=[{"script": "cura_app.py", "dest_name": "Cura", "icon_resources": [(1, "icons/cura.ico")]}], #console=[{"script": "cura_app.py"}],