diff options
author | alekseisasin <a.sasin@ultimaker.com> | 2017-09-28 14:22:15 +0300 |
---|---|---|
committer | alekseisasin <a.sasin@ultimaker.com> | 2017-09-28 14:22:15 +0300 |
commit | 5402092bb47963277999d80bc89c6668fd47fe66 (patch) | |
tree | 71d9efca44718d266293b8b795165a783b41e4f8 /cura/Settings | |
parent | 2dee054003cb65ced5e715f9503ea3114969368b (diff) |
During adding a new printer the printer name generated from default name and not from custom name (changed by user)
CURA-4345
Diffstat (limited to 'cura/Settings')
-rw-r--r-- | cura/Settings/CuraStackBuilder.py | 18 | ||||
-rwxr-xr-x | cura/Settings/MachineManager.py | 6 |
2 files changed, 16 insertions, 8 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: |