Implement keymap
This commit is contained in:
27
__init__.py
27
__init__.py
@ -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(
|
||||
@ -76,15 +72,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
|
||||
@ -95,14 +83,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()
|
||||
|
||||
|
40
keymaps.py
40
keymaps.py
@ -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
|
||||
def register_keymaps():
|
||||
wm = bpy.context.window_manager
|
||||
|
||||
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))
|
||||
# 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))
|
||||
|
||||
# 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() -> None:
|
||||
for km, kmi in addon_keymaps:
|
||||
km.keymap_items.remove(kmi)
|
||||
addon_keymaps.clear()
|
||||
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()
|
Reference in New Issue
Block a user