diff --git a/src/bonsai/bonsai/bim/helper.py b/src/bonsai/bonsai/bim/helper.py index 1fac2c9b5f..16c6226326 100644 --- a/src/bonsai/bonsai/bim/helper.py +++ b/src/bonsai/bonsai/bim/helper.py @@ -490,7 +490,7 @@ def draw_filter( sprops = tool.Search.get_search_props() preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if tool.Ifc.get(): row = layout.row(align=True) diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index 434880d5da..76eb3c7afa 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -3688,7 +3688,7 @@ class EditElementFilter(bpy.types.Operator, tool.Ifc.Operator): assert pset preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if self.filter_mode == "INCLUDE": filter_groups = props.include_filter_groups diff --git a/src/bonsai/bonsai/bim/module/search/operator.py b/src/bonsai/bonsai/bim/module/search/operator.py index fc78ed9aa5..75dccd4d95 100644 --- a/src/bonsai/bonsai/bim/module/search/operator.py +++ b/src/bonsai/bonsai/bim/module/search/operator.py @@ -663,7 +663,7 @@ class EditFilterQuery(Operator, tool.Ifc.Operator): def _execute(self, context): module = getattr(self, "module", "search") preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if not enable_suggestions: if self.query == self.old_query: @@ -677,7 +677,7 @@ class EditFilterQuery(Operator, tool.Ifc.Operator): def draw(self, context): preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if not enable_suggestions: row = self.layout.row() @@ -687,7 +687,7 @@ class EditFilterQuery(Operator, tool.Ifc.Operator): module = getattr(self, "module", "search") filter_groups = tool.Search.get_filter_groups(module) preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if enable_suggestions: filter_structure = [] @@ -767,7 +767,7 @@ class Search(Operator): assert_never(self.property_group) preferences = tool.Blender.get_addon_preferences() - enable_suggestions = getattr(preferences, "search_filter_suggestions", False) + enable_suggestions = getattr(preferences, "chain_filter_with_set_operations", False) if enable_suggestions: results = tool.Search.execute_filter_groups(props.filter_groups) diff --git a/src/bonsai/bonsai/bim/ui.py b/src/bonsai/bonsai/bim/ui.py index d3cd1012fc..eacd6ec472 100644 --- a/src/bonsai/bonsai/bim/ui.py +++ b/src/bonsai/bonsai/bim/ui.py @@ -690,9 +690,9 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): default=False, ) - search_filter_suggestions: BoolProperty( - name="Enable advanced search with filter suggestions", - description="Enable filter mode (ADD/SUBTRACT/FILTER) and value suggestions for search filters", + chain_filter_with_set_operations: BoolProperty( + name="Enable chained filters with set operations", + description="Enable chaining search filters with set operations: ADD (union: combine sets), SUBTRACT (difference: remove from set), FILTER (intersection: only elements in both sets), with autocomplete suggestions for filter values", default=False, ) @@ -733,7 +733,7 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): default_parameters: DefaultParameters container_hide_show_isolate: bool mass_time_units_in_wizard: bool - search_filter_suggestions: bool + chain_filter_with_set_operations: bool def draw(self, context: bpy.types.Context) -> None: layout = self.layout @@ -916,7 +916,7 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): def draw_extras_settings(self, layout: bpy.types.UILayout, context: bpy.types.Context) -> None: layout.prop(self, "container_hide_show_isolate") layout.prop(self, "mass_time_units_in_wizard") - layout.prop(self, "search_filter_suggestions") + layout.prop(self, "chain_filter_with_set_operations") # Scene panel groups