diff --git a/__init__.py b/__init__.py index d78a9e0..51ac3d2 100644 --- a/__init__.py +++ b/__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( @@ -66,7 +62,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( @@ -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() - + register() \ No newline at end of file diff --git a/keymaps.py b/keymaps.py index 597dfbe..cfd3be6 100644 --- a/keymaps.py +++ b/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 - - 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() \ No newline at end of file