file manager
git clone https://git.lucas.co/cce-files.git
fix: pump ui_context.tick — the dropdown's animated menu froze mid-flight
The Dropdown's expand/contract menu (cce-ui 741ced0..e0bcd1e) keeps
open=true through its close animation and relies on the ctx tick walk
to advance and settle it; cce-files never called ui_context.tick, so
the menu only moved when an event happened to route through the widget
and a landed close never folded back to open=false — the popover hung
fully revealed after selection. The cce-data-editor pattern: tick the
context every frame, rebuild while it reports change.
Co-Authored-By: Claude Fable 5 <[email protected]>
src/main.rs | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/main.rs b/src/main.rs
index 7177c7a..065918e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1195,6 +1195,15 @@ impl Application for FilesystemApp {
}
fn tick(&mut self, dt: f32, needs_rebuild: &mut bool) {
+ // Pump the widget tick walk (the cce-data-editor pattern): animating
+ // widgets — the view dropdown's expand/contract menu — register as
+ // tick receivers and report changed until their transition lands;
+ // without this the close animation freezes at fully open.
+ if self.ui_context.tick(dt) {
+ *needs_rebuild = true;
+ self.needs_rebuild = true;
+ }
+
if self.just_initialized {
self.just_initialized = false;
if self.save_mode {