From 7acb8e72a050402cbd53f74ae15e2fa6661c9fa6 Mon Sep 17 00:00:00 2001 From: lukeflo Date: Sun, 6 Oct 2024 13:29:51 +0200 Subject: fix error in nested search, update vhs gif --- Cargo.toml | 2 +- src/frontend/app.rs | 5 ++++- src/frontend/entries.rs | 2 +- src/frontend/keywords.rs | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index de1cb5c..c3f8f5c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bibiman" -version = "0.1.0" +version = "0.1.1" authors = ["lukeflo "] license = "GPL-3.0-or-later" edition = "2021" diff --git a/src/frontend/app.rs b/src/frontend/app.rs index 00c1b45..0751da1 100644 --- a/src/frontend/app.rs +++ b/src/frontend/app.rs @@ -211,7 +211,10 @@ impl App { self.current_area = CurrentArea::TagArea; self.tag_list.tag_list_state.select(Some(0)) } - self.reset_current_list(); + // But keep filtering by tag if applied before entering search area + if !self.search_struct.inner_search { + self.reset_current_list(); + } self.former_area = None; // If search is canceled, reset default status of struct self.search_struct.search_string.clear(); diff --git a/src/frontend/entries.rs b/src/frontend/entries.rs index 46adcff..c532bf0 100644 --- a/src/frontend/entries.rs +++ b/src/frontend/entries.rs @@ -195,7 +195,7 @@ impl App { let filtered_list = BibiSearch::search_entry_list(&mut self.search_struct.search_string, orig_list.clone()); //search::search_entry_list(&self.search_string, orig_list.clone()); - self.search_struct.filtered_entry_list = filtered_list.clone(); + // self.search_struct.filtered_entry_list = filtered_list.clone(); self.entry_table = EntryTable::from_iter(filtered_list) } } diff --git a/src/frontend/keywords.rs b/src/frontend/keywords.rs index 311366a..4beec14 100644 --- a/src/frontend/keywords.rs +++ b/src/frontend/keywords.rs @@ -90,7 +90,8 @@ impl App { pub fn filter_tags_by_entries(&mut self) { if !self.search_struct.filtered_entry_list.is_empty() { - let orig_list = &self.search_struct.filtered_entry_list; + self.search_struct.filtered_tag_list.clear(); + let orig_list = self.search_struct.filtered_entry_list.clone(); let mut filtered_keywords: Vec = Vec::new(); for e in orig_list { -- cgit v1.2.3