diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2017-04-08 12:10:03 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2017-04-08 12:41:11 +0300 |
commit | 582a14ff6d1da5aab4e23c38b58cd4838dd037d0 (patch) | |
tree | 2d8c2dd0ab93359eeb281a3bc6063e944558c5b4 /mesh_extra_tools/mesh_pen_tool.py | |
parent | 2aa13cb25adfe95bbc57f4c7442c91f020df5f2d (diff) |
mesh_extra_tools: fix keymaps (un)registering issues.
Using newly-added bpy_extras.keyconfig_utils helper.
Diffstat (limited to 'mesh_extra_tools/mesh_pen_tool.py')
-rw-r--r-- | mesh_extra_tools/mesh_pen_tool.py | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/mesh_extra_tools/mesh_pen_tool.py b/mesh_extra_tools/mesh_pen_tool.py index 704ebc30..d0853088 100644 --- a/mesh_extra_tools/mesh_pen_tool.py +++ b/mesh_extra_tools/mesh_pen_tool.py @@ -21,8 +21,8 @@ bl_info = { "name": "Pen Tool", "author": "zmj100", - "version": (0, 2, 8), - "blender": (2, 6, 5), + "version": (0, 2, 9), + "blender": (2, 78, 0), "location": "View3D > Tool Shelf", "description": "", "warning": "", @@ -32,6 +32,7 @@ bl_info = { } import bpy +import bpy_extras import blf import bgl import bmesh @@ -522,7 +523,15 @@ class_list = [pen_tool_panel, ] -addon_keymaps = [] +KEYMAPS = ( + # First, keymap identifiers (last bool is True for modal km). + (("3D View", "VIEW_3D", "WINDOW", False), ( + # Then a tuple of keymap items, defined by a dict of kwargs for the km new func, and a tuple of tuples (name, val) + # for ops properties, if needing non-default values. + ({"idname": pen_tool_operator.bl_idname, "type": 'D', "value": 'PRESS', "ctrl": True}, + ()), + )), +) def register(): @@ -531,21 +540,11 @@ def register(): bpy.types.Scene.pen_tool_props = PointerProperty(type=pen_tool_properties) - wm = bpy.context.window_manager - km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D') - - # Note: left click + D key is reserved for Grease Pencil draw - kmi = km.keymap_items.new("pen_tool.operator", 'D', 'PRESS', ctrl=True) - addon_keymaps.append((km, kmi)) + bpy_extras.keyconfig_utils.addon_keymap_register(bpy.context.window_manager, KEYMAPS) def unregister(): - wm = bpy.context.window_manager - kc = wm.keyconfigs.addon - if kc: - for km, kmi in addon_keymaps: - km.keymap_items.remove(kmi) - addon_keymaps.clear() + bpy_extras.keyconfig_utils.addon_keymap_unregister(bpy.context.window_manager, KEYMAPS) del bpy.types.Scene.pen_tool_props |