Dock: LAYERS opens its pallet like Insert Block, Layer Manager layout fixes, 150 ms auto-hide hover delay

- LAYERS ribbon button runs a command that opens the Layer Manager pallet;
  the ribbon no longer keeps it highlighted.
- Layer Manager: search box stays right-aligned, the column header fills
  the row, no stray contour lines when the pallet is taller than its rows.
- Auto-hidden edges don't show the shown-group accent bar.
- Auto-hide reveal and hide wait 150 ms of rest, so passing over the
  strip doesn't flash groups open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013RyGiMXcsf9HTKfqDxaQGt
This commit is contained in:
Claude committed 2026-10-10 10:22:47 +00:00
1 parent b12a29b233
commit 4e210f65b5
9 files changed
+172 -65

No files matched your search

+6 -1
View File
@@ -147,6 +147,7 @@ impl OpenCADStudio {
}
Some(
mouse_area(row(children).height(Fill))
.on_enter(Message::Dock(crate::ui::dock::DockMsg::HoverStay))
.on_exit(Message::Dock(crate::ui::dock::DockMsg::HoverExit))
.into(),
)
@@ -165,7 +166,11 @@ impl OpenCADStudio {
DockMsg, DropTarget, DOCK_STRIP_W, STRIP_CELL_H, STRIP_DIVIDER_H, STRIP_GRIP_W,
STRIP_PAD, STRIP_PLUS_GAP,
};
let shown = self.dock_shown_group(side);
// Only a group actually on screen is marked as shown: on an
// auto-hiding edge nothing is, until a group is revealed.
let shown = self
.dock_shown_group(side)
.filter(|_| self.dock_edge_expanded(side));
let movement = self.dock_drag.and_then(|d| d.movement());
let move_target = movement.and_then(|(_, _, target)| target);
let dragging = move_target.is_some();