feat(statusbar): Select All/Clear All in filter popup, drop osnap settings row

The selection-filter popup now has the same Select All / Clear All header
as the OSNAP popup: Select All clears every exclusion (all types
selectable), Clear All excludes every present type. Each button disables
when it would be a no-op.

Also remove the "Object Snap Settings…" footer from the OSNAP popup.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-07-01 09:47:13 +03:00
1 parent d8862ee9cf
commit 7764b6cbf9
4 files changed
+84 -29

No files matched your search

+4
View File
@@ -1317,6 +1317,10 @@ pub enum Message {
CloseSelectionFilterPopup,
/// Include/exclude an entity type from interactive selection.
ToggleSelectionFilterType(String),
/// Make every entity type selectable again (clear the filter).
SelectionFilterSelectAll,
/// Exclude every present entity type from selection.
SelectionFilterClearAll,
/// Toggle the drawing-units picker open/closed.
ToggleUnitsPopup,
/// Close the drawing-units picker.
+13
View File
@@ -1486,6 +1486,19 @@ impl OpenCADStudio {
}
Task::none()
}
Message::SelectionFilterSelectAll => {
self.tabs[self.active_tab].scene.selection_filter.clear();
Task::none()
}
Message::SelectionFilterClearAll => {
let i = self.active_tab;
let types = self.tabs[i].scene.entity_type_names_in_layout();
let f = &mut self.tabs[i].scene.selection_filter;
for t in types {
f.insert(t.to_string());
}
Task::none()
}
Message::ToggleUnitsPopup => {
self.units_popup_open ^= true;
Task::none()