[Bf-blender-cvs] [768a1528833] blender2.8: UI: proof of concept keymap for the popup toolbar
Campbell Barton
noreply at git.blender.org
Sun May 20 22:39:52 CEST 2018
Commit: 768a1528833e014606e71ee18a2a34f412662886
Author: Campbell Barton
Date: Sun May 20 22:37:35 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB768a1528833e014606e71ee18a2a34f412662886
UI: proof of concept keymap for the popup toolbar
===================================================================
M release/scripts/startup/bl_operators/wm.py
===================================================================
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index c4b04e63e3f..9320145369c 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -2360,6 +2360,8 @@ class WM_OT_toolbar(Operator):
bl_idname = "wm.toolbar"
bl_label = "Toolbar"
+ keymap = None
+
def execute(self, context):
space_type = context.space_data.type
from bl_ui.space_toolsystem_common import ToolSelectPanelHelper
@@ -2368,12 +2370,30 @@ class WM_OT_toolbar(Operator):
self.report({'WARNING'}, f"Toolbar not found for {space_type!r}")
return {'CANCELLED'}
+ wm = context.window_manager
+
+ if WM_OT_toolbar.keymap is None:
+ keyconf = wm.keyconfigs.active
+ km = keyconf.keymaps.new("Toolbar Popup", space_type='EMPTY', region_type='TEMPORARY')
+ WM_OT_toolbar.keymap = km
+
+ # Example
+ for key, value in (
+ ('G', "Move"),
+ ('R', "Rotate"),
+ ('S', "Scale"),
+ ('C', "Select Circle"),
+ ('B', "Select Border"),
+ ):
+ kmi = km.keymap_items.new("wm.tool_set_by_name", key, 'PRESS')
+ kmi.properties.name = value
+
def draw_menu(popover, context):
- cls.draw_cls(popover.layout, context, detect_layout=False)
+ layout = popover.layout
+ cls.draw_cls(layout, context, detect_layout=False)
- wm = context.window_manager
# wm.popup_menu(draw_menu) # this also works
- wm.popover(draw_menu)
+ wm.popover(draw_menu, keymap=WM_OT_toolbar.keymap)
return {'FINISHED'}
More information about the Bf-blender-cvs
mailing list