WM: batch rename collections

User must activate the operator from the outliner,
so that the selected collections can be determined.

Reviewed By: campbellbarton

Ref D13821
This commit is contained in:
Red Mser 2022-01-18 10:26:20 +11:00 committed by Campbell Barton
parent 0fa36c81d9
commit 54fb1a75ee
Notes: blender-bot 2023-02-13 22:20:49 +01:00
Referenced by issue #95297, Blender crashes on start up
Referenced by issue #94987, Dragged node links are invisible
1 changed files with 14 additions and 0 deletions

View File

@ -23,6 +23,7 @@ import bpy
from bpy.types import (
Menu,
Operator,
Collection,
bpy_prop_array,
)
from bpy.props import (
@ -2467,6 +2468,7 @@ class WM_OT_batch_rename(Operator):
name="Type",
items=(
('OBJECT', "Objects", ""),
('COLLECTION', "Collections", ""),
('MATERIAL', "Materials", ""),
None,
# Enum identifiers are compared with 'object.type'.
@ -2531,6 +2533,18 @@ class WM_OT_batch_rename(Operator):
"name",
"Node(s)",
)
elif space_type == 'OUTLINER':
data_type_test = 'COLLECTION'
if check_context:
return data_type_test
if data_type == data_type_test:
data = (
[id for id in context.selected_ids if isinstance(id, Collection)]
if only_selected else
scene.collection.children_recursive,
"name",
"Collection(s)",
)
else:
if mode == 'POSE' or (mode == 'WEIGHT_PAINT' and context.pose_object):
data_type_test = 'BONE'