aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlukeflo2024-10-06 13:29:51 +0200
committerlukeflo2024-10-12 22:41:38 +0200
commit7acb8e72a050402cbd53f74ae15e2fa6661c9fa6 (patch)
tree84456c368cf7e6198eacb4c7efeef052c7da854c /src
parent7369dace2c2584b0302b79eaf15f1945a9dc6e20 (diff)
downloadbibiman-7acb8e72a050402cbd53f74ae15e2fa6661c9fa6.tar.gz
bibiman-7acb8e72a050402cbd53f74ae15e2fa6661c9fa6.zip
fix error in nested search, update vhs gif
Diffstat (limited to 'src')
-rw-r--r--src/frontend/app.rs5
-rw-r--r--src/frontend/entries.rs2
-rw-r--r--src/frontend/keywords.rs3
3 files changed, 7 insertions, 3 deletions
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<String> = Vec::new();
for e in orig_list {