Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralekseisasin <a.sasin@ultimaker.com>2017-09-28 14:22:15 +0300
committeralekseisasin <a.sasin@ultimaker.com>2017-09-28 14:22:15 +0300
commit5402092bb47963277999d80bc89c6668fd47fe66 (patch)
tree71d9efca44718d266293b8b795165a783b41e4f8 /cura/Settings
parent2dee054003cb65ced5e715f9503ea3114969368b (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.py18
-rwxr-xr-xcura/Settings/MachineManager.py6
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: