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-05-27 00:25:14 +0300
committerRyan Inch <mythologylover75@gmail.com>2020-05-27 00:25:14 +0300
commitdee3d138e3d534d9ad7cf81c2dff6e65acdc3e94 (patch)
tree462bace82427ecd14c53c6865ec9609fdd353b45
parentf9d47c0c32501ed8ad485d782b99ffb9bad70954 (diff)
Collection Manager: Fix error with QCD switching. Task: T69577
This fixes an error when switching to collections with objects in pose or weight paint mode and adds in the missing hotkeys for these modes.
-rw-r--r--object_collection_manager/__init__.py2
-rw-r--r--object_collection_manager/qcd_init.py23
-rw-r--r--object_collection_manager/qcd_operators.py8
3 files changed, 18 insertions, 15 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index c2da282f..33e4c6e0 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, 7, 25),
+ "version": (2, 7, 26),
"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/qcd_init.py b/object_collection_manager/qcd_init.py
index 8eb31e4d..03154830 100644
--- a/object_collection_manager/qcd_init.py
+++ b/object_collection_manager/qcd_init.py
@@ -99,17 +99,18 @@ def register_qcd_view_hotkeys():
]
for key in qcd_hotkeys:
- km = wm.keyconfigs.addon.keymaps.new(name='Object Mode')
- kmi = km.keymap_items.new('view3d.view_qcd_slot', key[0], 'PRESS', alt=key[1])
- kmi.properties.slot = key[2]
- kmi.properties.toggle = False
- addon_qcd_view_hotkey_keymaps.append((km, kmi))
-
- km = wm.keyconfigs.addon.keymaps.new(name='Object Mode')
- kmi = km.keymap_items.new('view3d.view_qcd_slot', key[0], 'PRESS',shift=True, alt=key[1])
- kmi.properties.slot = key[2]
- kmi.properties.toggle = True
- addon_qcd_view_hotkey_keymaps.append((km, kmi))
+ for mode in ['Object Mode', 'Pose', 'Weight Paint']:
+ km = wm.keyconfigs.addon.keymaps.new(name=mode)
+ kmi = km.keymap_items.new('view3d.view_qcd_slot', key[0], 'PRESS', alt=key[1])
+ kmi.properties.slot = key[2]
+ kmi.properties.toggle = False
+ addon_qcd_view_hotkey_keymaps.append((km, kmi))
+
+ km = wm.keyconfigs.addon.keymaps.new(name=mode)
+ kmi = km.keymap_items.new('view3d.view_qcd_slot', key[0], 'PRESS',shift=True, alt=key[1])
+ kmi.properties.slot = key[2]
+ kmi.properties.toggle = True
+ addon_qcd_view_hotkey_keymaps.append((km, kmi))
def register_qcd_view_edit_mode_hotkeys():
diff --git a/object_collection_manager/qcd_operators.py b/object_collection_manager/qcd_operators.py
index 208e5ae0..53212920 100644
--- a/object_collection_manager/qcd_operators.py
+++ b/object_collection_manager/qcd_operators.py
@@ -201,15 +201,17 @@ class ViewQCDSlot(Operator):
locked_objs_mode = ""
for obj in context.view_layer.objects:
if obj.mode != 'OBJECT':
- locked_objs.append(obj)
- locked_objs_mode = obj.mode
+ if obj.mode not in ['POSE', 'WEIGHT_PAINT'] or obj == locked_active_obj:
+ locked_objs.append(obj)
+ locked_objs_mode = obj.mode
if self.toggle:
# check if slot can be toggled off.
for obj in qcd_laycol.collection.objects:
if obj.mode != 'OBJECT':
- return {'CANCELLED'}
+ if obj.mode not in ['POSE', 'WEIGHT_PAINT'] or obj == locked_active_obj:
+ return {'CANCELLED'}
# get current child exclusion state
child_exclusion = []