[Bf-blender-cvs] [3a2d7ef5415] topbar: Merge branch 'blender2.8' into topbar

Julian Eisel noreply at git.blender.org
Sun Apr 8 12:55:51 CEST 2018


Commit: 3a2d7ef54150e19ce3e7b3d8126c46b8e9005d3e
Author: Julian Eisel
Date:   Sun Apr 8 12:51:13 2018 +0200
Branches: topbar
https://developer.blender.org/rB3a2d7ef54150e19ce3e7b3d8126c46b8e9005d3e

Merge branch 'blender2.8' into topbar

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



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

diff --cc release/scripts/startup/bl_ui/space_topbar.py
index 81f7b96b08c,00000000000..065781e057e
mode 100644,000000..100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@@ -1,409 -1,0 +1,409 @@@
 +# ##### BEGIN GPL LICENSE BLOCK #####
 +#
 +#  This program is free software; you can redistribute it and/or
 +#  modify it under the terms of the GNU General Public License
 +#  as published by the Free Software Foundation; either version 2
 +#  of the License, or (at your option) any later version.
 +#
 +#  This program is distributed in the hope that it will be useful,
 +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +#  GNU General Public License for more details.
 +#
 +#  You should have received a copy of the GNU General Public License
 +#  along with this program; if not, write to the Free Software Foundation,
 +#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 +#
 +# ##### END GPL LICENSE BLOCK #####
 +
 +# <pep8 compliant>
 +import bpy
 +from bpy.types import Header, Menu, Panel
 +
 +
 +class TOPBAR_HT_upper_bar(Header):
 +    bl_space_type = 'TOPBAR'
 +
 +    def draw(self, context):
 +        region = context.region
 +
 +        if region.alignment == 'RIGHT':
 +            self.draw_right(context)
 +        else:
 +            self.draw_left(context)
 +
 +    def draw_left(self, context):
 +        layout = self.layout
 +
 +        window = context.window
 +        screen = context.screen
 +
 +        layout.operator("wm.splash", text="", icon='BLENDER', emboss=False)
 +
 +        TOPBAR_MT_editor_menus.draw_collapsible(context, layout)
 +
 +        layout.separator()
 +
 +        if not screen.show_fullscreen:
 +            layout.template_ID_tabs(window, "workspace", new="workspace.workspace_add_menu", unlink="workspace.workspace_delete")
 +
 +        layout.separator()
 +
 +        layout.template_running_jobs()
 +
 +        layout.template_reports_banner()
 +
 +        row = layout.row(align=True)
 +
 +        if bpy.app.autoexec_fail is True and bpy.app.autoexec_fail_quiet is False:
 +            row.label("Auto-run disabled", icon='ERROR')
 +            if bpy.data.is_saved:
 +                props = row.operator("wm.revert_mainfile", icon='SCREEN_BACK', text="Reload Trusted")
 +                props.use_scripts = True
 +
 +            row.operator("script.autoexec_warn_clear", text="Ignore")
 +
 +            # include last so text doesn't push buttons out of the header
 +            row.label(bpy.app.autoexec_fail_message)
 +            return
 +
 +    def draw_right(self, context):
 +        layout = self.layout
 +
 +        window = context.window
 +        workspace = context.workspace
 +        view_render = workspace.view_render
 +
 +        if view_render.has_multiple_engines:
 +            layout.prop(view_render, "engine", text="")
 +
 +        layout.template_ID(window, "scene", new="scene.new", unlink="scene.delete")
 +
 +
 +class TOPBAR_HT_lower_bar(Header):
 +    bl_space_type = 'TOPBAR'
 +    bl_region_type = 'WINDOW'
 +
 +    def draw(self, context):
 +        layout = self.layout
 +        region = context.region
 +
 +        if region.alignment == 'LEFT':
 +            self.draw_left(context)
 +        elif region.alignment == 'RIGHT':
 +            self.draw_right(context)
 +        else:
 +            layout.template_operator_redo_props()
 +
 +    def draw_left(self, context):
 +        layout = self.layout
-         workspace = context.workspace
++        layer = context.view_layer
 +
-         act_mode_item = bpy.types.WorkSpace.bl_rna.properties['object_mode'].enum_items[workspace.object_mode]
++        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)
 +
 +
 +    def draw_right(self, context):
 +        layout = self.layout
 +
 +        window = context.window
 +        workspace = context.workspace
 +        scene = context.scene
 +        screen = context.screen
 +
 +        if screen.show_fullscreen:
 +            layout.operator("screen.back_to_previous", icon='SCREEN_BACK', text="Back to Previous")
 +        else:
 +            layout.template_search_preview(window, "screen", workspace, "screens", new="screen.new", unlink="screen.delete", rows=2, cols=6)
 +        # Active workspace view-layer is retrieved through window, not through workspace.
 +        layout.template_search(window, "view_layer", scene, "view_layers")
 +
 +
 +class TOPBAR_MT_editor_menus(Menu):
 +    bl_idname = "TOPBAR_MT_editor_menus"
 +    bl_label = ""
 +
 +    def draw(self, context):
 +        self.draw_menus(self.layout, context)
 +
 +    @staticmethod
 +    def draw_menus(layout, context):
 +        view_render = context.view_render
 +
 +        layout.menu("TOPBAR_MT_file")
 +
 +        if view_render.use_game_engine:
 +            layout.menu("TOPBAR_MT_game")
 +        else:
 +            layout.menu("TOPBAR_MT_render")
 +
 +        layout.menu("TOPBAR_MT_window")
 +        layout.menu("TOPBAR_MT_help")
 +
 +
 +class TOPBAR_MT_file(Menu):
 +    bl_label = "File"
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
 +        layout.operator_context = 'INVOKE_AREA'
 +        layout.operator("wm.read_homefile", text="New", icon='NEW')
 +        layout.operator("wm.open_mainfile", text="Open...", icon='FILE_FOLDER')
 +        layout.menu("TOPBAR_MT_file_open_recent", icon='OPEN_RECENT')
 +        layout.operator("wm.revert_mainfile", icon='FILE_REFRESH')
 +        layout.operator("wm.recover_last_session", icon='RECOVER_LAST')
 +        layout.operator("wm.recover_auto_save", text="Recover Auto Save...", icon='RECOVER_AUTO')
 +
 +        layout.separator()
 +
 +        layout.operator_context = 'EXEC_AREA' if context.blend_data.is_saved else 'INVOKE_AREA'
 +        layout.operator("wm.save_mainfile", text="Save", icon='FILE_TICK')
 +
 +        layout.operator_context = 'INVOKE_AREA'
 +        layout.operator("wm.save_as_mainfile", text="Save As...", icon='SAVE_AS')
 +        layout.operator_context = 'INVOKE_AREA'
 +        layout.operator("wm.save_as_mainfile", text="Save Copy...", icon='SAVE_COPY').copy = True
 +
 +        layout.separator()
 +
 +        layout.operator("screen.userpref_show", text="User Preferences...", icon='PREFERENCES')
 +
 +        layout.operator_context = 'INVOKE_AREA'
 +        layout.operator("wm.save_homefile", icon='SAVE_PREFS')
 +        layout.operator("wm.read_factory_settings", icon='LOAD_FACTORY')
 +
 +        layout.separator()
 +
 +        layout.operator_context = 'INVOKE_AREA'
 +        layout.operator("wm.link", text="Link", icon='LINK_BLEND')
 +        layout.operator("wm.append", text="Append", icon='APPEND_BLEND')
 +        layout.menu("TOPBAR_MT_file_previews")
 +
 +        layout.separator()
 +
 +        layout.menu("TOPBAR_MT_file_import", icon='IMPORT')
 +        layout.menu("TOPBAR_MT_file_export", icon='EXPORT')
 +
 +        layout.separator()
 +
 +        layout.menu("TOPBAR_MT_file_external_data", icon='EXTERNAL_DATA')
 +
 +        layout.separator()
 +
 +        layout.operator_context = 'EXEC_AREA'
 +        if bpy.data.is_dirty and context.user_preferences.view.use_quit_dialog:
 +            layout.operator_context = 'INVOKE_SCREEN'  # quit dialog
 +        layout.operator("wm.quit_blender", text="Quit", icon='QUIT')
 +
 +
 +class TOPBAR_MT_file_import(Menu):
 +    bl_idname = "TOPBAR_MT_file_import"
 +    bl_label = "Import"
 +
 +    def draw(self, context):
 +        if bpy.app.build_options.collada:
 +            self.layout.operator("wm.collada_import", text="Collada (Default) (.dae)")
 +        if bpy.app.build_options.alembic:
 +            self.layout.operator("wm.alembic_import", text="Alembic (.abc)")
 +
 +
 +class TOPBAR_MT_file_export(Menu):
 +    bl_idname = "TOPBAR_MT_file_export"
 +    bl_label = "Export"
 +
 +    def draw(self, context):
 +        if bpy.app.build_options.collada:
 +            self.layout.operator("wm.collada_export", text="Collada (Default) (.dae)")
 +        if bpy.app.build_options.alembic:
 +            self.layout.operator("wm.alembic_export", text="Alembic (.abc)")
 +
 +
 +class TOPBAR_MT_file_external_data(Menu):
 +    bl_label = "External Data"
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
 +        icon = 'CHECKBOX_HLT' if bpy.data.use_autopack else 'CHECKBOX_DEHLT'
 +        layout.operator("file.autopack_toggle", icon=icon)
 +
 +        layout.separator()
 +
 +        pack_all = layout.row()
 +        pack_all.operator("file.pack_all")
 +        pack_all.active = not bpy.data.use_autopack
 +
 +        unpack_all = layout.row()
 +        unpack_all.operator("file.unpack_all")
 +        unpack_all.active = not bpy.data.use_autopack
 +
 +        layout.separator()
 +
 +        layout.operator("file.make_paths_relative")
 +        layout.operator("file.make_paths_absolute")
 +        layout.operator("file.report_missing_files")
 +        layout.operator("file.find_missing_files")
 +
 +
 +class TOPBAR_MT_file_previews(Menu):
 +    bl_label = "Data Previews"
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
 +        layout.operator("wm.previews_ensure")
 +        layout.operator("wm.previews_batch_generate")
 +
 +        layout.separator()
 +
 +        layout.operator("wm.previews_clear")
 +        layout.operator("wm.previews_batch_clear")
 +
 +
 +class TOPBAR_MT_game(Menu):
 +    bl_label = "Game"
 +
 +    def draw(self, context):
 +        layout = self.layout
 +
 +        gs = context.scene.game_settings
 +
 +        layout.operator("view3d.game_start")
 +
 +        layout.separator()
 +
 +        layout.prop(gs, "show_debug_properties")
 +        layout.prop(gs, "show_framerate_profile")
 +        layout.prop(gs, "show_physics_visualization")
 +        layout.prop(gs, "use_deprecation_warnings")
 +        layout.prop(gs, "use_animation_record")
 +        layout.separator()
 +        layout.prop(gs, "use_auto_start")
 +
 +
 +class TOPBAR_MT_render(Menu):
 + 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list