diff options
Diffstat (limited to 'src/listview.rs')
-rw-r--r-- | src/listview.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/listview.rs b/src/listview.rs index 1d2d44e..ca84e84 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -71,6 +71,8 @@ impl Listable for ListView<Files> { self.move_down(); self.refresh()?; }, + Key::PageUp => self.page_up(), + Key::PageDown => self.page_down(), Key::Char('<') => self.move_top(), Key::Char('>') => self.move_bottom(), Key::Char('S') => { self.search_file().log(); } @@ -164,6 +166,22 @@ where self.set_selection(lines - 1); } + pub fn page_up(&mut self) { + let ysize = self.get_coordinates().unwrap().ysize_u(); + + for _ in 0..ysize { + self.move_up(); + } + } + + pub fn page_down(&mut self) { + let ysize = self.get_coordinates().unwrap().ysize_u(); + + for _ in 0..ysize { + self.move_down(); + } + } + pub fn get_selection(&self) -> usize { self.selection } |