[Bf-blender-cvs] [ddebf1ea3bc] blender2.8: UI: Add menu to show the toolbar
Campbell Barton
noreply at git.blender.org
Fri May 18 22:29:02 CEST 2018
Commit: ddebf1ea3bcc1e5f5650af89952f63d21acb2de8
Author: Campbell Barton
Date: Fri May 18 22:27:59 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBddebf1ea3bcc1e5f5650af89952f63d21acb2de8
UI: Add menu to show the toolbar
For people who prefer to keep the toolbar hidden,
expose as a menu (currently Shift-Space).
===================================================================
M release/scripts/startup/bl_operators/wm.py
M release/scripts/startup/bl_ui/space_toolsystem_common.py
M source/blender/editors/screen/screen_ops.c
M source/blender/windowmanager/intern/wm_operators.c
===================================================================
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 970eff34026..2f1cf4dc1db 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -2356,6 +2356,26 @@ class WM_OT_tool_set_by_name(Operator):
return {'CANCELLED'}
+class WM_OT_toolbar(Operator):
+ bl_idname = "wm.toolbar"
+ bl_label = "Toolbar"
+
+ def execute(self, context):
+
+ def draw_menu(popover, context):
+ from bl_ui.space_toolsystem_common import ToolSelectPanelHelper
+ space_type = context.space_data.type
+ cls = ToolSelectPanelHelper._tool_class_from_space_type(space_type)
+ if cls is None:
+ self.report({'WARNING'}, "Toolbar not found for {space_type!r}")
+ return {'CANCELLED'}
+ cls.draw_cls(popover.layout, context, detect_layout=False)
+
+ wm = context.window_manager
+ wm.popup_menu(draw_menu)
+ return {'FINISHED'}
+
+
classes = (
BRUSH_OT_active_index_set,
WM_OT_addon_disable,
@@ -2411,4 +2431,5 @@ classes = (
WM_OT_owner_enable,
WM_OT_url_open,
WM_OT_tool_set_by_name,
+ WM_OT_toolbar,
)
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index a8d1ef02003..e1594dfa8ad 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -432,7 +432,7 @@ class ToolSelectPanelHelper:
@classmethod
- def draw_cls(cls, layout, context):
+ def draw_cls(cls, layout, context, detect_layout=True):
# Use a classmethod so it can be called outside of a panel context.
# XXX, this UI isn't very nice.
@@ -447,7 +447,11 @@ class ToolSelectPanelHelper:
"name", None,
)
- ui_gen, show_text = cls._layout_generator_detect_from_region(layout, context.region)
+ if detect_layout:
+ ui_gen, show_text = cls._layout_generator_detect_from_region(layout, context.region)
+ else:
+ ui_gen = ToolSelectPanelHelper._layout_generator_single_column(layout)
+ show_text = True
# Start iteration
ui_gen.send(None)
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index df0466075ef..68c05900520 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -4637,7 +4637,10 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_screen_set", LEFTARROWKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", -1);
WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", UPARROWKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", DOWNARROWKEY, KM_PRESS, KM_CTRL, 0);
+ /* we already have two keys for this, disabled for use by WM_OT_toolbar */
+#if 0
WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", SPACEKEY, KM_PRESS, KM_SHIFT, 0);
+#endif
kmi = WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", F10KEY, KM_PRESS, KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "use_hide_panels", true);
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 3ed5de7b796..70be609dba3 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -3959,6 +3959,8 @@ void wm_window_keymap(wmKeyConfig *keyconf)
WM_keymap_add_menu(keymap, "USERPREF_MT_ndof_settings", NDOF_BUTTON_MENU, KM_PRESS, 0, 0);
#endif
+ WM_keymap_add_item(keymap, "WM_OT_toolbar", SPACEKEY, KM_PRESS, KM_SHIFT, 0);
+
/* Space switching */
kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F3KEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "area.type");
More information about the Bf-blender-cvs
mailing list