Merge pull request 'Implement keymap' (#6) from keymaps into develop

Reviewed-on: #6
This commit is contained in:
2024-12-28 01:33:17 -06:00
2 changed files with 29 additions and 44 deletions

View File

@ -1,6 +1,5 @@
import bpy
from . import gui, operators, common
from typing import List, Tuple
from . import gui, operators, common, keymaps
bl_info = \
{
"name": "Damn Simple Pose Library",
@ -19,12 +18,9 @@ if _need_reload:
gui = importlib.reload(gui)
common = importlib.reload(common)
# keymaps = importlib.reload(keymaps)
keymaps = importlib.reload(keymaps)
operators = importlib.reload(operators)
# addon_keymaps: List[Tuple[bpy.types.KeyMap, bpy.types.KeyMapItem]] = []
# addon_keymaps = []
class dsplObj(bpy.types.PropertyGroup):
pose_library: bpy.props.PointerProperty(
@ -63,7 +59,7 @@ def register():
# bpy.types.Object.pose_library = bpy.props.PointerProperty(
# type=bpy.types.Action, options={'LIBRARY_EDITABLE'}, override={'LIBRARY_OVERRIDABLE'})
bpy.types.Object.dspl = bpy.props.PointerProperty(
type=dsplObj, override={'LIBRARY_OVERRIDABLE'})
bpy.types.Object.dsplvars = bpy.props.PointerProperty(
@ -73,15 +69,7 @@ def register():
gui.register()
operators.register()
# kc = bpy.context.window_manager.keyconfigs.addon
# km = kc.keymaps.new(name='3D View', space_type='VIEW_3D')
# kmi = [
# km.keymap_items.new("dspl.add_pose", type='L', value='PRESS', shift=True),
# km.keymap_items.new("dspl.browse_poses", type='L', value='PRESS', alt=True),
# ]
# addon_keymaps.append((km, kmi))
keymaps.register()
def unregister() -> None:
from bpy.utils import unregister_class
@ -92,14 +80,9 @@ def unregister() -> None:
del bpy.types.Object.dsplvars
del bpy.types.Scene.dsplSettings
gui.unregister()
keymaps.unregister()
operators.unregister()
# for km, kmi in addon_keymaps:
# km.keymap_items.remove(kmi)
# addon_keymaps.clear()
gui.unregister()
if __name__ == "__main__":
register()
register()

View File

@ -1,28 +1,30 @@
# SPDX-FileCopyrightText: 2010-2023 Blender Foundation
#
# SPDX-License-Identifier: GPL-2.0-or-later
import bpy
from .operators import *
from typing import List, Tuple
addon_keymaps = []
def register() -> None:
wm = bpy.context.window_manager
kc = wm.keyconfigs.addon
if kc is None:
return
km = kc.keymaps.new(name="File Browser Main")
kmi = km.keymap_items.new("dspl.browse_poses", type="L", value="PRESS", alt=True)
kmi.active = True
addon_keymaps.append((km, kmi))
def register_keymaps():
wm = bpy.context.window_manager
# Add Pose
km = wm.keyconfigs.addon.keymaps.new(name='Pose', space_type='EMPTY')
kmi = km.keymap_items.new('wm.call_menu', 'L', 'PRESS', shift=True)
kmi.properties.name = "OBJECT_MT_AddPoseMenu"
addon_keymaps.append((km, kmi))
def unregister() -> None:
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()
# Browse Poses
km = wm.keyconfigs.addon.keymaps.new(name='Pose', space_type='EMPTY')
kmi = km.keymap_items.new('dspl.browse_poses', 'L', 'PRESS', alt=True)
addon_keymaps.append((km, kmi))
def unregister_keymaps():
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()
def register():
register_keymaps()
def unregister():
unregister_keymaps()