Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-12-20 07:26:27 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-12-20 07:26:27 +0300
commitc4c2c27f971631eb130b1964c33f83e748411c5a (patch)
treefda37b84c6d685b243bfaf450d713e9ce6e87f0e /release
parent98d1231fb5c54bbe50ae6420e961ac04b67ba8b3 (diff)
Fix context menu w/o an active object
Also remove special case when no items are selected, since this only has one or two menu items, one being the add menu which can be better accessed from the header or add shortcut. If the no-selection case is to have it's own alternate menu - it should be more complete before enabling.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_ui/space_node.py3
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py24
2 files changed, 20 insertions, 7 deletions
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index 73afb62567c..9754cf64a86 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -328,12 +328,15 @@ class NODE_MT_specials(Menu):
layout = self.layout
# If nothing is selected
+ # (disabled for now until it can be made more useful).
+ '''
selected_nodes_len = len(context.selected_nodes)
if selected_nodes_len == 0:
layout.operator_context = 'INVOKE_DEFAULT'
layout.menu("NODE_MT_add")
layout.operator("node.clipboard_paste", text="Paste")
return
+ '''
# If something is selected
layout.operator_context = 'INVOKE_DEFAULT'
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 3507ddb6c1f..85c43e78e0a 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -1733,17 +1733,23 @@ class VIEW3D_MT_object_specials(Menu):
obj = context.object
is_eevee = context.scene.render.engine == 'BLENDER_EEVEE'
- # If nothing is selected
selected_objects_len = len(context.selected_objects)
+
+ # If nothing is selected
+ # (disabled for now until it can be made more useful).
+ '''
if selected_objects_len == 0:
layout.menu("VIEW3D_MT_add", text="Add")
layout.operator("view3d.pastebuffer", text="Paste Objects", icon='PASTEDOWN')
return
+ '''
# If something is selected
- if obj.type == 'MESH':
+ if obj is None:
+ pass
+ elif obj.type == 'MESH':
layout.operator("object.shade_smooth", text="Shade Smooth")
layout.operator("object.shade_flat", text="Shade Flat")
@@ -1758,7 +1764,7 @@ class VIEW3D_MT_object_specials(Menu):
if selected_objects_len > 1:
layout.operator("object.join")
- if obj.type == 'CAMERA':
+ elif obj.type == 'CAMERA':
layout.operator_context = 'INVOKE_REGION_WIN'
if obj.data.type == 'PERSP':
@@ -1788,7 +1794,7 @@ class VIEW3D_MT_object_specials(Menu):
props.input_scale = 0.02
props.header_text = "DOF Distance: %.3f"
- if obj.type in {'CURVE', 'FONT'}:
+ elif obj.type in {'CURVE', 'FONT'}:
layout.operator_context = 'INVOKE_REGION_WIN'
props = layout.operator("wm.context_modal_mouse", text="Extrude Size")
@@ -1807,14 +1813,14 @@ class VIEW3D_MT_object_specials(Menu):
layout.operator_menu_enum("object.origin_set", text="Set Origin...", property="type")
- if obj.type == 'GPENCIL':
+ elif obj.type == 'GPENCIL':
layout.operator("gpencil.convert", text="Convert to Path").type = 'PATH'
layout.operator("gpencil.convert", text="Convert to Bezier Curves").type = 'CURVE'
layout.operator("gpencil.convert", text="Convert to Mesh").type = 'POLY'
layout.operator_menu_enum("object.origin_set", text="Set Origin...", property="type")
- if obj.type == 'EMPTY':
+ elif obj.type == 'EMPTY':
layout.operator_context = 'INVOKE_REGION_WIN'
props = layout.operator("wm.context_modal_mouse", text="Empty Draw Size")
@@ -1823,7 +1829,7 @@ class VIEW3D_MT_object_specials(Menu):
props.input_scale = 0.01
props.header_text = "Empty Draw Size: %.3f"
- if obj.type == 'LIGHT':
+ elif obj.type == 'LIGHT':
light = obj.data
layout.operator_context = 'INVOKE_REGION_WIN'
@@ -2827,10 +2833,14 @@ class VIEW3D_MT_edit_mesh_specials(Menu):
layout.operator_context = 'INVOKE_REGION_WIN'
# If nothing is selected
+ # (disabled for now until it can be made more useful).
+ '''
+ # If nothing is selected
if not (selected_verts_len or selected_edges_len or selected_faces_len):
layout.menu("VIEW3D_MT_mesh_add", text="Add")
return
+ '''
# Else something is selected