From 43cdd742212ae0b47080717bfab028b1c78fbebc Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 9 Sep 2017 21:23:32 +0100 Subject: Treeview: Add keypress handling to the search bar. --- desktop/treeview.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/desktop/treeview.c b/desktop/treeview.c index a460f4d12..ba1056ed0 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -3281,7 +3281,7 @@ bool treeview_keypress(treeview *tree, uint32_t key) assert(tree != NULL); - /* Pass to textarea, if editing in progress */ + /* Pass to any textarea, if editing in progress */ if (tree->edit.textarea != NULL) { switch (key) { case NS_KEY_ESCAPE: @@ -3294,6 +3294,23 @@ bool treeview_keypress(treeview *tree, uint32_t key) default: return textarea_keypress(tree->edit.textarea, key); } + } else if (tree->search.active == true) { + switch (key) { + case NS_KEY_ESCAPE: + textarea_set_text(tree->search.textarea, ""); + textarea_set_caret(tree->search.textarea, 0); + r.x0 = tree_g.window_padding + tree_g.icon_size; + r.x1 = 600; + r.y0 = 0; + r.y1 = tree_g.line_height; + cw_invalidate_area(tree, &r); + return true; + case NS_KEY_NL: + case NS_KEY_CR: + return true; + default: + return textarea_keypress(tree->search.textarea, key); + } } /* Keypress to be handled by treeview */ -- cgit v1.2.3