Commit: 5355e9e6031184c599a13d42c531e90dd7978f43 Author: Hans Goudey Date: Tue Jun 15 21:56:56 2021 -0500 Branches: temp-spreadsheet-row-filter https://developer.blender.org/rB5355e9e6031184c599a13d42c531e90dd7978f43
Move "Selection Only" to the editor header =================================================================== M release/scripts/startup/bl_ui/space_spreadsheet.py M source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc M source/blender/makesrna/intern/rna_space.c =================================================================== diff --git a/release/scripts/startup/bl_ui/space_spreadsheet.py b/release/scripts/startup/bl_ui/space_spreadsheet.py index 4afafd91bb3..e812f2c6f0b 100644 --- a/release/scripts/startup/bl_ui/space_spreadsheet.py +++ b/release/scripts/startup/bl_ui/space_spreadsheet.py @@ -59,8 +59,12 @@ class SPREADSHEET_HT_header(bpy.types.Header): layout.operator("spreadsheet.toggle_pin", text="", icon=pin_icon, emboss=False) layout.separator_spacer() - - layout.prop(space, "use_filter", toggle=True, icon='FILTER', icon_only=True) + + row = layout.row(align=True) + sub = row.row(align=True) + sub.active = self.selection_filter_enabled(space) + sub.prop(space, "show_only_selected", text="") + row.prop(space, "use_filter", toggle=True, icon='FILTER', icon_only=True) def draw_without_context_path(self, layout): layout.label(text="No active context") @@ -101,6 +105,17 @@ class SPREADSHEET_HT_header(bpy.types.Header): def draw_spreadsheet_context_path_icon(self, layout, space, icon='RIGHTARROW_THIN'): layout.prop(space, "display_context_path_collapsed", icon_only=True, emboss=False, icon=icon) + def selection_filter_enabled(self, space): + root_context = space.context_path[0] + if root_context.type != 'OBJECT': + return False + obj = root_context.object + if obj is None: + return False + if obj.type != 'MESH' or obj.mode != 'EDIT': + return False + return True + classes = ( SPREADSHEET_HT_header, ) diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc index 927783b41f5..39a3b7325ee 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc @@ -134,12 +134,11 @@ static void spreadsheet_filter_panel_draw_header(const bContext *C, Panel *panel PointerRNA *filter_ptr = UI_panel_custom_data_get(panel); SpreadsheetRowFilter *filter = (SpreadsheetRowFilter *)filter_ptr->data; const StringRef column_name = filter->column_name; - const eSpreadsheetFilterOperation operation = (const eSpreadsheetFilterOperation) - filter->operation; + const eSpreadsheetFilterOperation operation = (eSpreadsheetFilterOperation)filter->operation; const SpreadsheetColumn *column = lookup_visible_column_for_filter(*sspreadsheet, column_name); if (!(sspreadsheet->filter_flag & SPREADSHEET_FILTER_ENABLE) || - column == nullptr && !column_name.is_empty()) { + (column == nullptr && !column_name.is_empty())) { uiLayoutSetActive(layout, false); } if (column != nullptr) { @@ -253,10 +252,6 @@ static void spreadsheet_row_filters_layout(const bContext *C, Panel *panel) SpaceSpreadsheet *sspreadsheet = CTX_wm_space_spreadsheet(C); ListBase *row_filters = &sspreadsheet->row_filters; - PointerRNA sspreadsheet_ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceSpreadsheet, sspreadsheet, &sspreadsheet_ptr); - uiItemR(layout, &sspreadsheet_ptr, "show_only_selected", 0, IFACE_("Selected Only"), ICON_NONE); - if (!(sspreadsheet->filter_flag & SPREADSHEET_FILTER_ENABLE)) { uiLayoutSetActive(layout, false); } diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 478d501ca5b..7c1924d6756 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -7696,6 +7696,7 @@ static void rna_def_space_spreadsheet(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "filter_flag", SPREADSHEET_FILTER_SELECTED_ONLY); RNA_def_property_ui_text( prop, "Show Only Selected", "Only include rows that correspond to selected elements"); + RNA_def_property_ui_icon(prop, ICON_RESTRICT_SELECT_OFF, 0); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_SPREADSHEET, NULL); prop = RNA_def_property(srna, "geometry_component_type", PROP_ENUM, PROP_NONE); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs