diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/space_properties.py')
-rw-r--r-- | release/scripts/startup/bl_ui/space_properties.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/release/scripts/startup/bl_ui/space_properties.py b/release/scripts/startup/bl_ui/space_properties.py index 7d9ca687524..0f64ab63d6b 100644 --- a/release/scripts/startup/bl_ui/space_properties.py +++ b/release/scripts/startup/bl_ui/space_properties.py @@ -23,11 +23,29 @@ from bpy.types import Header, Panel class PROPERTIES_HT_header(Header): bl_space_type = 'PROPERTIES' - def draw(self, _context): + def draw(self, context): layout = self.layout + view = context.space_data + region = context.region + ui_scale = context.preferences.system.ui_scale layout.template_header() + layout.separator_spacer() + + # The following is an ugly attempt to make the search button center-align better visually. + # A dummy icon is inserted that has to be scaled as the available width changes. + content_size_est = 160 * ui_scale + layout_scale = min(1, max(0, (region.width / content_size_est) - 1)) + if layout_scale > 0: + row = layout.row() + row.scale_x = layout_scale + row.label(icon='BLANK1') + + layout.prop(view, "search_filter", icon='VIEWZOOM', text="") + + layout.separator_spacer() + class PROPERTIES_PT_navigation_bar(Panel): bl_space_type = 'PROPERTIES' @@ -42,7 +60,11 @@ class PROPERTIES_PT_navigation_bar(Panel): layout.scale_x = 1.4 layout.scale_y = 1.4 - layout.prop_tabs_enum(view, "context", icon_only=True) + if view.search_filter: + layout.prop_tabs_enum(view, "context", data_highlight=view, + property_highlight="tab_search_results", icon_only=True) + else: + layout.prop_tabs_enum(view, "context", icon_only=True) classes = ( |