forked from 1b-agent/opencadstudio-upstream
Dock: simplify drag, peek, width and open/close state
No intended behaviour change except the fixes noted below. - One drag state: a single `DockDrag` (move pallet / group, width, splitter, floating size, Layer Manager column) replaces nine fields (dragging, dragging group, resizing, split, float resizing, origin, target, grab offset, layer column flag) that had to be kept in sync. - `dock_expanded` becomes `dock_peek` with one meaning: a pallet revealed although it auto-hides. `dock_reveal(id)` shows a pallet's group and peeks it; commands that open a pallet now use it, so opening a pallet also switches its edge to that pallet's group. - Each group stores its own width (falling back to its widest pallet's width until first sized), instead of every pallet's width being kept in sync. Pallet widths now only size floating pallets and new groups. - One `dock_set_open(id, open)` holds every pallet's open and close path. - Leftovers removed: the tab-group config format that never reached main, the multi-tab drag ghost header, the separate icon-hover message. Fixes: - Hovering a strip icon reveals an auto-hiding edge again (the icons had lost the hover message in the option B strip). Covered by a test that moves the pointer over the icon in the real view. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013RyGiMXcsf9HTKfqDxaQGt
This commit is contained in:
12 files changed
+667
-548
No files matched your search
@@ -177,7 +177,7 @@ impl OpenCADStudio {
|
||||
self.dock
|
||||
.dock(id, crate::app::config::DockSide::Right, usize::MAX);
|
||||
}
|
||||
self.dock_expanded = Some(id);
|
||||
self.dock_reveal(id);
|
||||
return self.graph_run(i);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user