file manager
git clone https://git.lucas.co/cce-files.git
feat: recess the file list like a text box well
The RowList now carves a relief_recessed well over its rounded bg, so the
list floor reads as sunken below the pane surface. Also forward page
PageContent.reliefs into the aggregate (they were silently dropped for
both Browse and Network), which is what kept page-level reliefs from
ever rendering.
Co-Authored-By: Claude Fable 5 <[email protected]>
src/main.rs | 2 ++
src/row_list.rs | 3 +++
2 files changed, 5 insertions(+)
diff --git a/src/main.rs b/src/main.rs
index 5e6505e..94bdfb3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -535,6 +535,7 @@ impl FilesystemApp {
pc.rects.extend(browse_pc.rects);
pc.texts.extend(browse_pc.texts);
pc.buttons.extend(browse_pc.buttons);
+ pc.reliefs.extend(browse_pc.reliefs);
}
Page::Network => {
let (nx, ny, nw, nh) = self.network_split.left_rect();
@@ -543,6 +544,7 @@ impl FilesystemApp {
pc.rects.extend(network_pc.rects);
pc.texts.extend(network_pc.texts);
pc.buttons.extend(network_pc.buttons);
+ pc.reliefs.extend(network_pc.reliefs);
}
}
diff --git a/src/row_list.rs b/src/row_list.rs
index f34bbc3..d983525 100644
--- a/src/row_list.rs
+++ b/src/row_list.rs
@@ -341,6 +341,9 @@ impl RowList {
cce_ui::layout::list_corner_radius(),
(true, true, true, true),
);
+ // Recessed well like a text box: the list floor sits below the pane
+ // surface, its wall carved over the bg and row overlays.
+ pc.relief_recessed(x, y, w, h, cce_ui::layout::list_corner_radius());
if self.content_h > self.viewport_h {
let (sb_x, track_y, sb_w, track_h, thumb_y, thumb_h) = self.scrollbar_geom();