fix the scroll again. The scroll size is now a page - 1 and it handles the...

fix the scroll again. The scroll size is now a page - 1 and it handles the multiline message perfectly
parent ba08dd43
......@@ -321,11 +321,11 @@ class Gui(object):
self.refresh_window()
def scroll_page_down(self, args=None):
self.current_room().scroll_down()
self.current_room().scroll_down(self.window.text_win.height-1)
self.refresh_window()
def scroll_page_up(self, args=None):
self.current_room().scroll_up(self.window.size)
self.current_room().scroll_up(self.window.text_win.height-1)
self.refresh_window()
def room_error(self, room, error, msg):
......
......@@ -42,13 +42,11 @@ class Room(object):
self.window = window
self.pos = 0 # offset
def scroll_up(self, y_x, dist=14):
y, x = y_x
if len(self.messages) <= y:
return
def scroll_up(self, dist=14):
# The pos can grow a lot over the top of the number of
# available lines, it will be fixed on the next refresh of the
# screen anyway
self.pos += dist
if self.pos + y >= len(self.messages):
self.pos = len(self.messages) - y+3
def scroll_down(self, dist=14):
self.pos -= dist
......
......@@ -264,6 +264,10 @@ class TextWin(Win):
# else:
# messages = room.messages[-self.height:]
lines = self.build_lines_from_messages(room.messages)
if room.pos + self.height > len(lines):
room.pos = len(lines) - self.height
if room.pos < 0:
room.pos = 0
if room.pos != 0:
lines = lines[-self.height-room.pos:-room.pos]
else:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment