[Bf-extensions-cvs] [d37e28f9] master: space_view3d_spacebar_menu: fix context "no object selected"

meta-androcto noreply at git.blender.org
Wed May 8 11:31:19 CEST 2019


Commit: d37e28f9bf03fc9b46ee0419bed6ea85c53a5d12
Author: meta-androcto
Date:   Wed May 8 19:30:56 2019 +1000
Branches: master
https://developer.blender.org/rBAd37e28f9bf03fc9b46ee0419bed6ea85c53a5d12

space_view3d_spacebar_menu: fix context "no object selected"

===================================================================

M	space_view3d_spacebar_menu.py

===================================================================

diff --git a/space_view3d_spacebar_menu.py b/space_view3d_spacebar_menu.py
index 673febc0..5521723b 100644
--- a/space_view3d_spacebar_menu.py
+++ b/space_view3d_spacebar_menu.py
@@ -20,7 +20,7 @@
 bl_info = {
     "name": "Dynamic Context Menu",
     "author": "meta-androcto",
-    "version": (1, 8, 9),
+    "version": (1, 9, 0),
     "blender": (2, 80, 0),
     "location": "View3D > Spacebar",
     "description": "Object Mode Context Sensitive Spacebar Menu",
@@ -57,15 +57,16 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu):
         obj = context.active_object
         view = context.space_data
 # No Object Selected #
-        if not obj:
+        ob = bpy.context.object
+        if not ob.select_get():
 
             layout.operator_context = 'INVOKE_REGION_WIN'
             layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
             UseSeparator(self, context)
+            layout.menu("INFO_MT_area", icon='WORKSPACE')
             layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
             layout.menu("VIEW3D_MT_View_Directions", icon='ZOOM_ALL')
             layout.menu("VIEW3D_MT_View_Navigation", icon='PIVOT_BOUNDBOX')
-            layout.menu("VIEW3D_MT_View_Toggle", icon='WORKSPACE')
             layout.operator("view3d.snap_cursor_to_center",
                             text="Cursor to World Origin")
             layout.operator("view3d.snap_cursor_to_grid",
@@ -76,701 +77,702 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu):
             layout.prop(view, "show_region_ui", icon='MENU_PANEL')
             if context.gpencil_data and context.gpencil_data.use_stroke_edit_mode:
                 layout.menu("VIEW3D_MT_Edit_Gpencil", icon='GREASEPENCIL')
-
+        else:
 # Mesh Object Mode #
-        if obj and obj.type == 'MESH' and obj.mode in {'OBJECT'}:
-
-            layout.operator_context = 'INVOKE_REGION_WIN'
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
-            layout.menu("VIEW3D_MT_Object", icon='VIEW3D')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS')
-            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-            layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE')
-            layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF')
-            if context.gpencil_data and context.gpencil_data.use_stroke_edit_mode:
-                layout.menu("VIEW3D_MT_Edit_Gpencil", icon='GREASEPENCIL')
-            layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA')
-            layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER')
-            layout.operator_menu_enum("object.constraint_add",
-                                      "type", text="Add Constraint", icon='CONSTRAINT')
-            UseSeparator(self, context)
-            layout.operator("object.delete", text="Delete Object", icon='X')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Mesh Edit Mode #
-        if obj and obj.type == 'MESH' and obj.mode in {'EDIT'}:
-
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            layout.menu("VIEW3D_MT_Select_Edit_Mesh", icon='RESTRICT_SELECT_OFF')
-            layout.menu("VIEW3D_MT_Edit_Multi", icon='VERTEXSEL')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_mesh_add", text="Add Mesh", icon='OUTLINER_OB_MESH')
-            layout.menu("VIEW3D_MT_Edit_Mesh", text="Mesh", icon='MESH_DATA')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_TransformMenuEdit", icon='EMPTY_ARROWS')
-            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-            layout.menu("VIEW3D_MT_EditCursorMenu", icon='PIVOT_CURSOR')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UV_Map", icon='MOD_UVPROJECT')
-            layout.menu("VIEW3D_MT_edit_mesh_context_menu",  text="Specials", icon='SOLO_OFF')
-            layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='XRAY')
-            UseSeparator(self, context)
-            layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER')
-            layout.operator_menu_enum("object.constraint_add",
-                                      "type", text="Add Constraint", icon='CONSTRAINT')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_edit_mesh_delete", icon='X')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Sculpt Mode #
-        if obj and obj.type == 'MESH' and obj.mode in {'SCULPT'}:
-
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_Sculpts", icon='SCULPTMODE_HLT')
-#            layout.menu("VIEW3D_MT_Brush_Selection", text="Sculpt Tool", icon='BRUSH_SCULPT_DRAW')
-            layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA')
-            layout.menu("VIEW3D_MT_Hide_Masks", icon='RESTRICT_VIEW_OFF')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_Sculpt_Specials", icon='SOLO_OFF')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Vertex Paint #
-        if obj and obj.type == 'MESH' and obj.mode in {'VERTEX_PAINT'}:
-
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            UseSeparator(self, context)
-#            layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA')
-            layout.menu("VIEW3D_MT_Brush_Selection",
-                        text="Vertex Paint Tool")
-            layout.menu("VIEW3D_MT_Vertex_Colors", icon='GROUP_VCOL')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Weight Paint Menu #
-        if obj and obj.type == 'MESH' and obj.mode in {'WEIGHT_PAINT'}:
-
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_Paint_Weights", icon='WPAINT_HLT')
-#            layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA')
-            layout.menu("VIEW3D_MT_Brush_Selection",
-                        text="Weight Paint Tool", icon='BRUSH_TEXMASK')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Texture Paint #
-        if obj and obj.type == 'MESH' and obj.mode in {'TEXTURE_PAINT'}:
-
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-#            layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA')
-            layout.menu("VIEW3D_MT_Brush_Selection",
-                        text="Texture Paint Tool", icon='SCULPTMODE_HLT')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
-            layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT')
-            UseSeparator(self, context)
-            layout.prop(view, "show_region_toolbar", icon='MENU_PANEL')
-            layout.prop(view, "show_region_ui", icon='MENU_PANEL')
-
-# Curve Object Mode #
-        if obj and obj.type == 'CURVE' and obj.mode in {'OBJECT'}:
-
-            layout.operator_context = 'INVOKE_REGION_WIN'
-            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
-            layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF')
-            UseSeparator(self, context)
-            layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
-            layout.menu("VIEW3D_MT_Object", icon='VIEW3D')
-            UseSeparator(self, contex

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list