diff options
author | mathieui <mathieui@mathieui.net> | 2011-09-12 01:24:43 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2011-09-12 01:24:43 +0200 |
commit | d24b3c42958f50c3979b37ab7666379d78b3fad1 (patch) | |
tree | 92f38367804f53d0f47f4997fea6ecb5891cd1c9 /src | |
parent | a20b42d2b4bf42fc9d6b9883439235fe43b7f533 (diff) | |
download | poezio-d24b3c42958f50c3979b37ab7666379d78b3fad1.tar.gz poezio-d24b3c42958f50c3979b37ab7666379d78b3fad1.tar.bz2 poezio-d24b3c42958f50c3979b37ab7666379d78b3fad1.tar.xz poezio-d24b3c42958f50c3979b37ab7666379d78b3fad1.zip |
PGUP/PGDOWN on muc list (partially fixes #2165)
Diffstat (limited to 'src')
-rw-r--r-- | src/tabs.py | 6 | ||||
-rw-r--r-- | src/windows.py | 22 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/tabs.py b/src/tabs.py index 37c5e888..0d1c5751 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -1736,6 +1736,12 @@ class MucListTab(Tab): def get_color_state(self): return self._color_state + def on_scroll_up(self): + self.listview.scroll_up() + + def on_scroll_down(self): + self.listview.scroll_down() + class SimpleTextTab(Tab): """ A very simple tab, with just a text displaying some diff --git a/src/windows.py b/src/windows.py index 89fb368c..4e464a75 100644 --- a/src/windows.py +++ b/src/windows.py @@ -1617,6 +1617,28 @@ class ListWin(Win): self._starting_pos -= self.height // 2 return True + def scroll_down(self): + if not self.lines: + return + self._selected_row += self.height + if self._selected_row > len(self.lines) - 1: + self._selected_row = len(self.lines) -1 + while self._selected_row >= self._starting_pos + self.height: + self._starting_pos += self.height // 2 + if self._starting_pos < 0: + self._starting_pos = 0 + return True + + def scroll_up(self): + if not self.lines: + return + self._selected_row -= self.height + 1 + if self._selected_row < 0: + self._selected_row = 0 + while self._selected_row < self._starting_pos: + self._starting_pos -= self.height // 2 + return True + class ColumnHeaderWin(Win): """ A class displaying the column's names |