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 | |
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')
-rw-r--r-- | mesh_extra_tools/__init__.py | 4 | ||||
-rw-r--r-- | mesh_extra_tools/mesh_pen_tool.py | 29 | ||||
-rw-r--r-- | mesh_extra_tools/vfe_specials.py | 31 |
3 files changed, 32 insertions, 32 deletions
diff --git a/mesh_extra_tools/__init__.py b/mesh_extra_tools/__init__.py index 096206ea..4e861a6e 100644 --- a/mesh_extra_tools/__init__.py +++ b/mesh_extra_tools/__init__.py @@ -24,8 +24,8 @@ bl_info = { "name": "Edit Tools 2", "author": "meta-androcto", - "version": (0, 3, 1), - "blender": (2, 77, 0), + "version": (0, 3, 2), + "blender": (2, 78, 0), "location": "View3D > Toolshelf > Tools and Specials (W-key)", "description": "Extra mesh edit tools - modifying meshes and selection", "warning": "", 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 diff --git a/mesh_extra_tools/vfe_specials.py b/mesh_extra_tools/vfe_specials.py index 99536c0a..da451e66 100644 --- a/mesh_extra_tools/vfe_specials.py +++ b/mesh_extra_tools/vfe_specials.py @@ -3,13 +3,15 @@ bl_info = { "name": "V/E/F Context Menu", "author": "Stanislav Blinov", - "version": (1, 0, 0), - "blender": (2, 74, 0), + "version": (1, 0, 1), + "blender": (2, 78, 0), "description": "Vert Edge Face Double Right Click Edit Mode", "category": "Mesh", } import bpy +import bpy_extras + from bpy.types import ( Menu, Operator, @@ -63,32 +65,31 @@ classes = [ MESH_OT_CallContextMenu ] -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": MESH_OT_CallContextMenu.bl_idname, "type": 'RIGHTMOUSE', "value": 'DOUBLE_CLICK'}, + ()), + )), +) def register(): for cls in classes: bpy.utils.register_class(cls) - wm = bpy.context.window_manager - if wm.keyconfigs.addon: - km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D') - kmi = km.keymap_items.new('mesh.addon_call_context_menu', 'RIGHTMOUSE', 'DOUBLE_CLICK') - 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) for cls in classes: bpy.utils.unregister_class(cls) - if __name__ == "__main__": register() |