diff options
author | Ghostkeeper <rubend@tutanota.com> | 2021-06-16 19:04:54 +0300 |
---|---|---|
committer | Ghostkeeper <rubend@tutanota.com> | 2021-06-16 19:04:54 +0300 |
commit | 611208368ca5ab40d91453a7084938429bce7dab (patch) | |
tree | d4e5df410abe5ada3fbdbde919ca8e5115006192 /cura/UI | |
parent | d788bab150657c54f9a6cd238c52a4352237e813 (diff) | |
parent | 92ff9ac31367dece80c40700e4cbf585e19dd421 (diff) |
Merge branch 'master' into libArachne_rebased
Conflicts:
cura/CuraApplication.py: Setting version
fdmprinter and fdmextruder: Setting version
intents, qualities and variants: Setting version
Changelog: 4.9.1 was added, should be below Arachne changes
Diffstat (limited to 'cura/UI')
-rw-r--r-- | cura/UI/ObjectsModel.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/cura/UI/ObjectsModel.py b/cura/UI/ObjectsModel.py index 02d4096278..0c109d7a4a 100644 --- a/cura/UI/ObjectsModel.py +++ b/cura/UI/ObjectsModel.py @@ -132,30 +132,35 @@ class ObjectsModel(ListModel): is_group = bool(node.callDecoration("isGroup")) + name_handled_as_group = False force_rename = False - if not is_group: - # Handle names for individual nodes - name = node.getName() - - name_match = self._naming_regex.fullmatch(name) - if name_match is None: - original_name = name - name_index = 0 - else: - original_name = name_match.groups()[0] - name_index = int(name_match.groups()[1]) - else: + if is_group: # Handle names for grouped nodes original_name = self._group_name_prefix current_name = node.getName() if current_name.startswith(self._group_name_prefix): + # This group has a standard group name, but we may need to renumber it name_index = int(current_name.split("#")[-1]) - else: + name_handled_as_group = True + elif not current_name: # Force rename this group because this node has not been named as a group yet, probably because # it's a newly created group. name_index = 0 force_rename = True + name_handled_as_group = True + + if not is_group or not name_handled_as_group: + # Handle names for individual nodes or groups that already have a non-group name + name = node.getName() + + name_match = self._naming_regex.fullmatch(name) + if name_match is None: + original_name = name + name_index = 0 + else: + original_name = name_match.groups()[0] + name_index = int(name_match.groups()[1]) if original_name not in name_to_node_info_dict: # Keep track of 2 things: |