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
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs