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:
Diffstat (limited to 'release/scripts/startup/bl_ui/space_info.py')
-rw-r--r--release/scripts/startup/bl_ui/space_info.py39
1 files changed, 28 insertions, 11 deletions
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index a7b518dfd2e..f032f6a899b 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -28,25 +28,43 @@ class INFO_HT_header(Header):
layout = self.layout
window = context.window
+ workspace = context.workspace
+ screen = context.screen
scene = context.scene
- rd = scene.render
+ layer = context.view_layer
+ view_render = workspace.view_render
row = layout.row(align=True)
row.template_header()
INFO_MT_editor_menus.draw_collapsible(context, layout)
- if window.screen.show_fullscreen:
+ layout.separator()
+
+ if screen.show_fullscreen:
layout.operator("screen.back_to_previous", icon='SCREEN_BACK', text="Back to Previous")
layout.separator()
else:
- layout.template_ID(context.window, "screen", new="screen.new", unlink="screen.delete")
- layout.template_ID(context.screen, "scene", new="scene.new", unlink="scene.delete")
+ layout.template_ID(window, "workspace", new="workspace.workspace_add_menu", unlink="workspace.workspace_delete")
+ layout.template_search_preview(window, "screen", workspace, "screens", new="screen.new", unlink="screen.delete", rows=2, cols=6)
+
+ if hasattr(window, 'object_mode'):
+ act_mode_item = bpy.types.Object.bl_rna.properties['mode'].enum_items[window.object_mode]
+ else:
+ act_mode_item = bpy.types.Object.bl_rna.properties['mode'].enum_items[layer.objects.active.mode]
+ layout.operator_menu_enum("object.mode_set", "mode", text=act_mode_item.name, icon=act_mode_item.icon)
+
+ row = layout.row()
+ row.active = not workspace.use_scene_settings
+ # Active workspace view-layer is retrieved through window, not through workspace.
+ row.template_search(window, "view_layer", scene, "view_layers")
+
+ if view_render.has_multiple_engines:
+ row.prop(view_render, "engine", text="")
layout.separator()
- if rd.has_multiple_engines:
- layout.prop(rd, "engine", text="")
+ layout.template_ID(window, "scene", new="scene.new", unlink="scene.delete")
layout.separator()
@@ -69,7 +87,7 @@ class INFO_HT_header(Header):
return
row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
- row.label(text=scene.statistics(), translate=False)
+ row.label(text=scene.statistics(context.view_layer), translate=False)
class INFO_MT_editor_menus(Menu):
@@ -81,12 +99,11 @@ class INFO_MT_editor_menus(Menu):
@staticmethod
def draw_menus(layout, context):
- scene = context.scene
- rd = scene.render
+ view_render = context.view_render
layout.menu("INFO_MT_file")
- if rd.use_game_engine:
+ if view_render.use_game_engine:
layout.menu("INFO_MT_game")
else:
layout.menu("INFO_MT_render")
@@ -293,7 +310,7 @@ class INFO_MT_window(Menu):
layout = self.layout
- layout.operator("wm.window_duplicate")
+ layout.operator("wm.window_new")
layout.operator("wm.window_fullscreen_toggle", icon='FULLSCREEN_ENTER')
layout.separator()