diff options
| author | lukeflo | 2024-10-11 14:05:34 +0200 |
|---|---|---|
| committer | lukeflo | 2024-10-12 22:41:38 +0200 |
| commit | d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc (patch) | |
| tree | 471932b621f1e4cbedf9eeaf4bb7ead74f0af95f /src/frontend/entries.rs | |
| parent | 1ad9a97e9a25622a9946cb9c55705922c42d9149 (diff) | |
| download | bibiman-d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc.tar.gz bibiman-d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc.zip | |
scrollbar for entries and keywords. scroll symbols for abstract first steps
Diffstat (limited to 'src/frontend/entries.rs')
| -rw-r--r-- | src/frontend/entries.rs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/frontend/entries.rs b/src/frontend/entries.rs index b0bb0b7..081de4c 100644 --- a/src/frontend/entries.rs +++ b/src/frontend/entries.rs @@ -31,6 +31,8 @@ pub struct EntryTable { pub entry_table_items: Vec<EntryTableItem>, pub entry_table_state: TableState, pub entry_scroll_state: ScrollbarState, + pub entry_info_scroll: u16, + pub entry_info_scroll_state: ScrollbarState, } impl FromIterator<Vec<String>> for EntryTable { @@ -49,10 +51,13 @@ impl FromIterator<Vec<String>> for EntryTable { .collect(); let entry_table_state = TableState::default().with_selected(0); let entry_scroll_state = ScrollbarState::new(entry_table_items.len()); + let entry_info_scroll_state = ScrollbarState::default(); Self { entry_table_items, entry_table_state, entry_scroll_state, + entry_info_scroll: 0, + entry_info_scroll_state, } } } @@ -128,7 +133,9 @@ impl App { // Movement pub fn select_next_entry(&mut self) { - self.scroll_info = 0; + self.entry_table.entry_info_scroll = 0; + self.entry_table.entry_info_scroll_state = + self.entry_table.entry_info_scroll_state.position(0); self.entry_table.entry_table_state.select_next(); self.entry_table.entry_scroll_state = self .entry_table @@ -137,7 +144,9 @@ impl App { } pub fn select_previous_entry(&mut self) { - self.scroll_info = 0; + self.entry_table.entry_info_scroll = 0; + self.entry_table.entry_info_scroll_state = + self.entry_table.entry_info_scroll_state.position(0); self.entry_table.entry_table_state.select_previous(); self.entry_table.entry_scroll_state = self .entry_table @@ -146,13 +155,17 @@ impl App { } pub fn select_first_entry(&mut self) { - self.scroll_info = 0; + self.entry_table.entry_info_scroll = 0; + self.entry_table.entry_info_scroll_state = + self.entry_table.entry_info_scroll_state.position(0); self.entry_table.entry_table_state.select_first(); self.entry_table.entry_scroll_state = self.entry_table.entry_scroll_state.position(0); } pub fn select_last_entry(&mut self) { - self.scroll_info = 0; + self.entry_table.entry_info_scroll = 0; + self.entry_table.entry_info_scroll_state = + self.entry_table.entry_info_scroll_state.position(0); self.entry_table.entry_table_state.select_last(); self.entry_table.entry_scroll_state = self .entry_table |
