From 134e04444ccbf67d2efbb8daa99baae0c343d4b3 Mon Sep 17 00:00:00 2001 From: Oleksandr Kholiavko <43780952+HalavicH@users.noreply.github.com> Date: Mon, 31 Aug 2026 11:43:50 +0000 Subject: [PATCH] tabular_data_preview: Revive filter funnel icon (#63266) # Objective Originally, `IconName::Filter` was a funnel glyph and `IconName::Sliders` was used for settings/controls. In #60937 (commit `1a06fd4f2b`), `filter.svg` was replaced with the sliders glyph, and `sliders.svg` / `Sliders` enum variants were deleted. Consequently, `IconName::Filter` has become a sliders-shaped icon used across 8+ surfaces in Zed (git_ui, search, debugger_ui, keymap_editor, language_tools, quick_action_bar, editor view settings). When moving tabular data preview settings to follow the editor's convention (using `IconName::Filter` sliders for table view settings), column filter buttons in the table header were left using the same sliders icon instead of a traditional funnel. Repurposing `IconName::Filter` back to a funnel would break all other UI surfaces across Zed. ## Solution - Restored the funnel icon under a new dedicated `IconName::FilterFunnel` variant (`assets/icons/filter_funnel.svg` and `crates/icons/src/icons.rs`). - Updated `tabular_data_preview` column filter trigger buttons (`table_header.rs`) to use `IconName::FilterFunnel`. - Left all existing `IconName::Filter` (sliders) usages across the app untouched. Before: image After: image ## Testing - `cargo check -p icons -p tabular_data_preview` and `./script/clippy` build clean. - `cargo test -p tabular_data_preview --lib` passes. - Verified column filter button renders the funnel icon in tabular data preview and highlights correctly when filters are active. ## Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [x] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - Replace column filter icon in tabular data preview with filter funnel --- assets/icons/filter_funnel.svg | 3 +++ crates/icons/src/icons.rs | 1 + crates/tabular_data_preview/src/renderer/table_header.rs | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 assets/icons/filter_funnel.svg diff --git a/assets/icons/filter_funnel.svg b/assets/icons/filter_funnel.svg new file mode 100644 index 0000000000..4ccf2a9a5d --- /dev/null +++ b/assets/icons/filter_funnel.svg @@ -0,0 +1,3 @@ + + + diff --git a/crates/icons/src/icons.rs b/crates/icons/src/icons.rs index 1b2eda162c..64531a165a 100644 --- a/crates/icons/src/icons.rs +++ b/crates/icons/src/icons.rs @@ -141,6 +141,7 @@ pub enum IconName { FileToml, FileTree, Filter, + FilterFunnel, Flame, FoldVertical, Folder, diff --git a/crates/tabular_data_preview/src/renderer/table_header.rs b/crates/tabular_data_preview/src/renderer/table_header.rs index 8811284e08..172a290c97 100644 --- a/crates/tabular_data_preview/src/renderer/table_header.rs +++ b/crates/tabular_data_preview/src/renderer/table_header.rs @@ -669,7 +669,7 @@ impl TabularDataPreviewPane { .trigger_with_tooltip( IconButton::new( ElementId::NamedInteger("filter-button".into(), col.get() as u64), - IconName::Filter, + IconName::FilterFunnel, ) .icon_size(IconSize::Small) .style(if has_active_filters {