summaryrefslogtreecommitdiffstats
path: root/src/listview.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/listview.rs')
-rw-r--r--src/listview.rs18
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
}