aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-05-03 23:04:54 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-05-03 23:04:54 +0200
commit4d102e069e4a0b6064a79915d368773338dbbb8e (patch)
treeb5e9bd1c287040b2f2261e6b6e0e49823a84a56f
parentb0bf51b90bc233024f1b82bf3f050d26f677b935 (diff)
downloadmail-4d102e069e4a0b6064a79915d368773338dbbb8e.tar.gz
dont scroll too far
Closes #11
-rw-r--r--src/buffer/threads.rs2
-rw-r--r--src/window.rs7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/buffer/threads.rs b/src/buffer/threads.rs
index 893b4ec..5a87388 100644
--- a/src/buffer/threads.rs
+++ b/src/buffer/threads.rs
@@ -92,7 +92,7 @@ impl Threads {
} else {
self.i - 1
},
- Key::Char('e') => window.scroll_down(),
+ Key::Char('e') => window.scroll_down(self.threads.len()),
Key::Char('y') => window.scroll_up(),
Key::Char('i') => {
self.threads[self.i].remove_tag("inbox");
diff --git a/src/window.rs b/src/window.rs
index 68fc258..3714c4c 100644
--- a/src/window.rs
+++ b/src/window.rs
@@ -57,9 +57,10 @@ impl Window {
Ok(())
}
- pub fn scroll_down(&mut self) {
- //TODO check if we're at bottom
- self.scroll += 1;
+ pub fn scroll_down(&mut self, until: usize) {
+ if self.scroll < until - 1 {
+ self.scroll += 1;
+ }
}
pub fn scroll_up(&mut self) {