[Bf-blender-cvs] [dfdb21745dd] asset-browser: Cleanup: Make header layout definition a bit cleaner

Julian Eisel noreply at git.blender.org
Sat Nov 21 00:26:23 CET 2020


Commit: dfdb21745ddc562a6706d6b611ea9941879137a8
Author: Julian Eisel
Date:   Sat Nov 21 00:17:49 2020 +0100
Branches: asset-browser
https://developer.blender.org/rBdfdb21745ddc562a6706d6b611ea9941879137a8

Cleanup: Make header layout definition a bit cleaner

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

M	release/scripts/startup/bl_ui/space_filebrowser.py

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

diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index 2dfb3843c39..ea043e98671 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -27,52 +27,59 @@ from bpy_extras import (
 class FILEBROWSER_HT_header(Header):
     bl_space_type = 'FILE_BROWSER'
 
-    def draw(self, context):
+    def draw_asset_browser_buttons(self, context):
         layout = self.layout
 
-        st = context.space_data
-        params = st.params
+        space_data = context.space_data
+        params = space_data.params
 
-        if st.active_operator is None:
-            layout.template_header()
+        layout.prop(params, "asset_repository", text="")
 
-        FILEBROWSER_MT_editor_menus.draw_collapsible(context, layout)
+        layout.separator_spacer()
 
-        if panel_poll_is_asset_browsing(context):
-            layout.separator()
+        # Uses prop_with_popover() as popover() only adds the triangle icon in headers.
+        layout.prop_with_popover(
+            params,
+            "display_type",
+            panel="FILEBROWSER_PT_display",
+            text="",
+            icon_only=True,
+        )
+        layout.prop_with_popover(
+            params,
+            "display_type",
+            panel="FILEBROWSER_PT_filter",
+            text="",
+            icon='FILTER',
+            icon_only=True,
+        )
+
+        layout.prop(params, "filter_search", text="", icon='VIEWZOOM')
+
+        layout.operator(
+            "screen.region_toggle",
+            text="",
+            icon='PREFERENCES',
+            depress=is_option_region_visible(context, space_data)
+        ).region_type = 'TOOL_PROPS'
 
-            layout.prop(params, "asset_repository", text="")
+    def draw(self, context):
+        from bpy_extras.asset_utils import SpaceAssetInfo
 
-        # can be None when save/reload with a file selector open
+        layout = self.layout
 
-        layout.separator_spacer()
+        space_data = context.space_data
 
-        if panel_poll_is_asset_browsing(context):
-            # Uses prop_with_popover() as popover() only adds the triangle icon in headers.
-            layout.prop_with_popover(
-                params,
-                "display_type",
-                panel="FILEBROWSER_PT_display",
-                text="",
-                icon_only=True,
-            )
-            layout.prop_with_popover(
-                params,
-                "display_type",
-                panel="FILEBROWSER_PT_filter",
-                text="",
-                icon='FILTER',
-                icon_only=True,
-            )
+        if space_data.active_operator is None:
+            layout.template_header()
 
-            layout.prop(params, "filter_search", text="", icon='VIEWZOOM')
+        FILEBROWSER_MT_editor_menus.draw_collapsible(context, layout)
 
-            layout.operator(
-                "screen.region_toggle",
-                text="",
-                icon='PREFERENCES',
-                depress=is_option_region_visible(context, st)
-            ).region_type = 'TOOL_PROPS'
+        if SpaceAssetInfo.is_asset_browser(space_data):
+            layout.separator()
+            self.draw_asset_browser_buttons(context)
+        else:
+            layout.separator_spacer()
 
         if not context.screen.show_statusbar:
             layout.template_running_jobs()



More information about the Bf-blender-cvs mailing list