partially fix scrolling in files > 2 GB

This commit is contained in:
2021-10-31 13:53:17 +01:00
parent 79f9219e9a
commit bb99fb2c58
4 changed files with 27 additions and 9 deletions

View File

@@ -84,7 +84,7 @@ class BigText(QWidget):
self.h_scroll_bar.valueChanged.connect(big_text.h_scroll_event)
self.v_scroll_bar = ScaledScrollBar()
self.v_scroll_bar.setPageStep(1)
# self.v_scroll_bar.setPageStep(1)
self.v_scroll_bar.valueChanged.connect(big_text.v_scroll_event)
self.grid.addWidget(big_text, 0, 0)
@@ -185,8 +185,8 @@ class InnerBigText(QWidget):
# print("left_offset: %d" % left_offset)
self.update()
def v_scroll_event(self, byte_offset: int):
self._byte_offset = byte_offset
def v_scroll_event(self, byte_offset: str):
self._byte_offset = int(byte_offset)
self.update()
def update_longest_line(self, length: int):
@@ -271,9 +271,10 @@ class InnerBigText(QWidget):
# print("%s / %s = %s" %(self.height(), float(self.char_height), lines_to_show))
self.lines = self.model.data(self._byte_offset, self.scroll_lines, lines_to_show)
# print("lines_to_show: %d returned: %d" % (lines_to_show, len(self.lines)))
#print("lines_to_show: %d returned: %d" % (lines_to_show, len(self.lines)))
self.scroll_lines = 0
self._byte_offset = self.lines[0].byte_offset() if len(self.lines) > 0 else 0
# print("new byte offset: ", self._byte_offset)
# document length == maximum + pageStep + aFewBytesSoThatTheLastLineIsShown
self.parent.v_scroll_bar.setMaximum(self.model.byte_count() - 1)