summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tabs.py6
-rw-r--r--src/windows.py22
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