From 3199e05e338732c1ffcd788f89ce51de50e26d91 Mon Sep 17 00:00:00 2001 From: Eijebong Date: Sat, 17 Sep 2016 18:00:51 +0200 Subject: Add a PgUp/PgDown keybind to /bookmarks. Fixes #3231 --- poezio/windows/bookmark_forms.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'poezio/windows/bookmark_forms.py') diff --git a/poezio/windows/bookmark_forms.py b/poezio/windows/bookmark_forms.py index 9a3c80fd..98a3889e 100644 --- a/poezio/windows/bookmark_forms.py +++ b/poezio/windows/bookmark_forms.py @@ -227,6 +227,44 @@ class BookmarksWin(Win): self.current_horizontal_input = 0 self.lines[self.current_input][self.current_horizontal_input].set_color(get_theme().COLOR_SELECTED_ROW) + def go_to_next_page(self): + if not self.lines: + return + + if self.current_input == len(self.lines) - 1: + return + + self.lines[self.current_input][self.current_horizontal_input].set_color(get_theme().COLOR_NORMAL_TEXT) + inc = min(self.height, len(self.lines) - self.current_input - 1) + + if self.current_input + inc - self.scroll_pos > self.height - 1: + self.current_input += inc + self.scroll_pos += inc + self.refresh() + else: + self.current_input += inc + self.lines[self.current_input][self.current_horizontal_input].set_color(get_theme().COLOR_SELECTED_ROW) + return True + + def go_to_previous_page(self): + if not self.lines: + return + + if self.current_input == 0: + return + + self.lines[self.current_input][self.current_horizontal_input].set_color(get_theme().COLOR_NORMAL_TEXT) + + dec = min(self.height, self.current_input) + self.current_input -= dec + # Adjust the scroll position if the current_input would be outside + # of the visible area + if self.current_input < self.scroll_pos: + self.scroll_pos = self.current_input + self.refresh() + self.lines[self.current_input][self.current_horizontal_input].set_color(get_theme().COLOR_SELECTED_ROW) + return True + def go_to_previous_horizontal_input(self): if not self.lines: return -- cgit v1.2.3