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");

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to