From 12b67d9d67d0e3256f6ddc8bc47572f6a178df4c Mon Sep 17 00:00:00 2001 From: lukeflo Date: Sat, 12 Oct 2024 21:34:12 +0200 Subject: reworked search mechanism --- src/frontend/app.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/frontend/app.rs') diff --git a/src/frontend/app.rs b/src/frontend/app.rs index 2f88ff2..3f679bf 100644 --- a/src/frontend/app.rs +++ b/src/frontend/app.rs @@ -163,6 +163,7 @@ impl App { } self.search_struct.filtered_entry_list_by_search.clear(); self.search_struct.filtered_entry_list_by_tags.clear(); + self.entry_table.entry_table_at_search_start.clear(); self.search_struct.filtered_tag_list.clear(); self.search_struct.inner_search = false; self.former_area = None @@ -176,7 +177,6 @@ impl App { } pub fn scroll_info_down(&mut self) { - // self.entry_table.entry_info_scroll = self.entry_table.entry_info_scroll + 1; self.entry_table.entry_info_scroll = self.entry_table.entry_info_scroll.saturating_add(1); self.entry_table.entry_info_scroll_state = self .entry_table @@ -185,11 +185,6 @@ impl App { } pub fn scroll_info_up(&mut self) { - // if self.entry_table.entry_info_scroll == 0 { - // {} - // } else { - // self.entry_table.entry_info_scroll = self.entry_table.entry_info_scroll - 1; - // } self.entry_table.entry_info_scroll = self.entry_table.entry_info_scroll.saturating_sub(1); self.entry_table.entry_info_scroll_state = self .entry_table @@ -205,6 +200,8 @@ impl App { if let Some(FormerArea::TagArea) = self.former_area { self.search_struct.inner_search = true } + self.entry_table.entry_table_at_search_start = + self.entry_table.entry_table_items.clone(); self.former_area = Some(FormerArea::EntryArea) } else if let CurrentArea::TagArea = self.current_area { self.former_area = Some(FormerArea::TagArea) @@ -222,6 +219,7 @@ impl App { } self.former_area = Some(FormerArea::SearchArea); self.search_struct.search_string.clear(); + self.entry_table.entry_table_at_search_start.clear(); } // Break search: leave search area without filtering list @@ -239,6 +237,7 @@ impl App { self.former_area = None; // If search is canceled, reset default status of struct self.search_struct.search_string.clear(); + self.entry_table.entry_table_at_search_start.clear(); } // Remove last char from search pattern and filter list immidiately -- cgit v1.2.3