diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-09-03 16:12:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-09-03 16:19:27 +0300 |
commit | e152483a320d2da88199697da02ddb2befc73778 (patch) | |
tree | 98e8a1e7791e2d76b0ce423db2ce7a4b693c83fb /release | |
parent | 0a26c122ed444c587d31c8665ec85e397d30d99a (diff) |
Tool System: add paint brush shortcut
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_ui/space_toolsystem_common.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py index 91545ee258e..191cae2ea20 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_common.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py @@ -734,6 +734,9 @@ def keymap_from_context(context, space_type): kmi_hack = keymap.keymap_items.new("wm.tool_set_by_name", 'A', 'PRESS') kmi_hack_properties = kmi_hack.properties + kmi_hack_brush_select = keymap.keymap_items.new("paint.brush_select", 'A', 'PRESS') + kmi_hack_brush_select_properties = kmi_hack_brush_select.properties + if use_simple_keymap: # Simply assign a key from A-Z. for i, (item, _, _) in enumerate(items_all): @@ -754,6 +757,29 @@ def keymap_from_context(context, space_type): # properties={"name": item.text}, properties=kmi_hack_properties, )[1] + + if kmi_found is None: + if item.data_block: + # PAINT_OT_brush_select + brush = bpy.data.brushes.get(item.data_block) + if brush is not None: + # print(dir(brush)) + mode = context.mode + attr = { + 'SCULPT': "sculpt_tool", + 'VERTEX_PAINT': "vertex_paint_tool", + 'WEIGHT_PAINT': "weight_paint_tool", + 'TEXTURE_PAINT': "texture_paint_tool", + }[mode] + kmi_hack_brush_select_properties.paint_mode = mode + setattr(kmi_hack_brush_select_properties, attr, getattr(brush, attr)) + kmi_found = wm.keyconfigs.find_item_from_operator( + idname="paint.brush_select", + context='INVOKE_REGION_WIN', + properties=kmi_hack_brush_select_properties, + )[1] + del mode, attr + else: kmi_found = None |