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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Inch <mythologylover75@gmail.com>2020-06-25 07:56:08 +0300
committerRyan Inch <mythologylover75@gmail.com>2020-06-25 07:56:08 +0300
commit0e9e40f5e438b27ebfa1d5931a6bc9250557b57e (patch)
tree56f5a45d398893b302e6b6cc9eee3d9b1291d0c2
parent2aa47457996acac2fa0d1505b7699e1a1da62010 (diff)
Collection Manager: Depth first renumber. Task: T69577
Add a depth first option to the Renumber QCD Slots operator.
-rw-r--r--object_collection_manager/__init__.py2
-rw-r--r--object_collection_manager/internals.py8
-rw-r--r--object_collection_manager/qcd_operators.py6
3 files changed, 12 insertions, 4 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index 6a1a9f22..91901c6f 100644
--- a/object_collection_manager/__init__.py
+++ b/object_collection_manager/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
"name": "Collection Manager",
"description": "Manage collections and their objects",
"author": "Ryan Inch",
- "version": (2, 8, 0),
+ "version": (2, 9, 0),
"blender": (2, 80, 0),
"location": "View3D - Object Mode (Shortcut - M)",
"warning": '', # used for warning icon and text in addons panel
diff --git a/object_collection_manager/internals.py b/object_collection_manager/internals.py
index f3bcf37f..8e0c5b90 100644
--- a/object_collection_manager/internals.py
+++ b/object_collection_manager/internals.py
@@ -210,7 +210,7 @@ class QCDSlots():
if self.length() > 20:
break
- def renumerate(self, *, beginning=False):
+ def renumerate(self, *, depth_first=False, beginning=False):
if beginning:
self.clear_slots()
self.overrides.clear()
@@ -242,7 +242,11 @@ class QCDSlots():
self.add_slot(f"{x+1}", layer_collection.name)
- laycol_iter_list.extend(list(layer_collection.children))
+ if depth_first:
+ laycol_iter_list[0:0] = list(layer_collection.children)
+
+ else:
+ laycol_iter_list.extend(list(layer_collection.children))
if self.length() > 20:
break
diff --git a/object_collection_manager/qcd_operators.py b/object_collection_manager/qcd_operators.py
index 53212920..7330dd0f 100644
--- a/object_collection_manager/qcd_operators.py
+++ b/object_collection_manager/qcd_operators.py
@@ -287,7 +287,8 @@ class RenumerateQCDSlots(Operator):
bl_label = "Renumber QCD Slots"
bl_description = (
"Renumber QCD slots.\n"
- " * LMB - Renumber starting from the slot designated 1.\n"
+ " * LMB - Renumber (breadth first) starting from the slot designated 1.\n"
+ " * Ctrl+LMB - Renumber (depth first) starting from the slot designated 1.\n"
" * Alt+LMB - Renumber from the beginning"
)
bl_idname = "view3d.renumerate_qcd_slots"
@@ -301,6 +302,9 @@ class RenumerateQCDSlots(Operator):
if modifiers == {'alt'}:
qcd_slots.renumerate(beginning=True)
+ elif modifiers == {'ctrl'}:
+ qcd_slots.renumerate(depth_first=True)
+
else:
qcd_slots.renumerate()