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.
This commit is contained in:
parent
b04d722732
commit
8b5307572f
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
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='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))
|
||||
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():
|
||||
|
|
|
@ -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 = []
|
||||
|
|
Loading…
Reference in New Issue