forked from 1b-agent/opencadstudio-upstream
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:
1 parent
d8862ee9cf
commit
7764b6cbf9
4 files changed
+84
-29
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user