Sub-task of #448 — Migrate GTK event dispatch to ShellApp::handle(UiEvent)
Scope (chunk 2 of 3): #448-B: Write dormant App: ShellApp impl
Add an impl ShellApp for App block to src/gtk/mod.rs. The impl is NOT wired up — it compiles alongside the Relm4 path with no behavior change. fn handle() matches on UiEvent variants and delegates to self.handle_key_press(...) or self.dispatch(Msg::...) as appropriate. fn render_content() may be a stub (todo!()). Read only: (a) ~/src/quadraui/quadraui/src/shell.rs lines 205-250 for the ShellApp trait; (b) src/gtk/mod.rs lines 5280-9768 for fn handle_key_press key-routing logic; (c) src/gtk/mod.rs lines 4890-5279 for fn dispatch_engine_action mouse/action routing. DO NOT touch fn init, fn update, enum Msg, or pub fn run(). Do not wire up the ShellApp runner. Exit criterion: cargo build passes, no behavior change. Depends on #448-A.
Files likely touched
Context
Sub-task of #448 — Migrate GTK event dispatch to ShellApp::handle(UiEvent)
Scope (chunk 2 of 3): #448-B: Write dormant App: ShellApp impl
Add an impl ShellApp for App block to src/gtk/mod.rs. The impl is NOT wired up — it compiles alongside the Relm4 path with no behavior change. fn handle() matches on UiEvent variants and delegates to self.handle_key_press(...) or self.dispatch(Msg::...) as appropriate. fn render_content() may be a stub (todo!()). Read only: (a) ~/src/quadraui/quadraui/src/shell.rs lines 205-250 for the ShellApp trait; (b) src/gtk/mod.rs lines 5280-9768 for fn handle_key_press key-routing logic; (c) src/gtk/mod.rs lines 4890-5279 for fn dispatch_engine_action mouse/action routing. DO NOT touch fn init, fn update, enum Msg, or pub fn run(). Do not wire up the ShellApp runner. Exit criterion: cargo build passes, no behavior change. Depends on #448-A.
Files likely touched
src/gtk/mod.rsContext