diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-18 23:27:59 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-05-18 23:28:59 +0300 |
commit | ddebf1ea3bcc1e5f5650af89952f63d21acb2de8 (patch) | |
tree | 7b0a70092e74964b447f85c820f075fd6247aa34 /release/scripts | |
parent | e785048ef31fda682f7aeb457aeaaa3621a28d4a (diff) |
UI: Add menu to show the toolbar
For people who prefer to keep the toolbar hidden,
expose as a menu (currently Shift-Space).
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 21 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_toolsystem_common.py | 8 |
2 files changed, 27 insertions, 2 deletions
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) |