From 626ee79654cefc3b16dfe92e894c5f45cfdaa4a2 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 31 Mar 2019 21:33:32 +0200 Subject: [PATCH] Pass focus cmd through, fix search keybinding --- src/ui/layout.rs | 2 ++ src/ui/search.rs | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/ui/layout.rs b/src/ui/layout.rs index 9ef2a49..c1b142a 100644 --- a/src/ui/layout.rs +++ b/src/ui/layout.rs @@ -266,6 +266,8 @@ impl ViewExt for Layout { if let Some(view) = args.get(0) { if self.views.keys().any(|k| k == view) { self.set_view(view.clone()); + let screen = self.views.get_mut(view).unwrap(); + screen.view.on_command(s, cmd, args)?; } } diff --git a/src/ui/search.rs b/src/ui/search.rs index edaa304..25714d0 100644 --- a/src/ui/search.rs +++ b/src/ui/search.rs @@ -51,6 +51,13 @@ impl SearchView { } } + pub fn clear(&mut self) { + self.edit + .call_on(&Selector::Id(EDIT_ID), |v: &mut EditView| { + v.set_content(""); + }); + } + pub fn run_search>(&mut self, query: S) { let query = query.into(); let q = query.clone(); @@ -130,6 +137,12 @@ impl ViewExt for SearchView { return Ok(CommandResult::Consumed(None)); } + if cmd == "focus" { + self.edit_focused = true; + self.clear(); + return Ok(CommandResult::Consumed(None)); + } + let result = if !self.edit_focused { self.list.on_command(s, cmd, args)? } else {