diff --git a/src/ui/bigtext/line.py b/src/ui/bigtext/line.py index 93d8983..49627a6 100644 --- a/src/ui/bigtext/line.py +++ b/src/ui/bigtext/line.py @@ -15,7 +15,7 @@ class Line: self._cache_char_to_column() def get_width_in_px(self, font_metric: QFontMetrics): - return font_metric.horizontalAdvance(self._line) + return font_metric.horizontalAdvance(self.line_prepared_for_display()) def byte_offset(self) -> int: return self._byte_offset @@ -43,7 +43,8 @@ class Line: return len(prefix_chars) def line_prepared_for_display(self) -> str: - line = self._line_tabs_replaced() + # line = self._line_tabs_replaced() + line = self._line line = self._replace_control_chars_with_pictures(line) return line @@ -108,7 +109,7 @@ class Line: if not result in self._column_to_char_cache: self._column_to_char_cache[result] = i current_char = self._line[i] - if current_char == "\t": + if False and current_char == "\t": result = result + constants.tab_width - result % constants.tab_width else: result = result + 1 diff --git a/src/ui/bigtext/testline.py b/src/ui/bigtext/testline.py index 111c0ee..c193f7e 100644 --- a/src/ui/bigtext/testline.py +++ b/src/ui/bigtext/testline.py @@ -78,20 +78,6 @@ class MyTestCase(unittest.TestCase): self.assertEqual(2, line.char_to_column(4)) # z̈ self.assertEqual(2, line.char_to_column(5)) # z̈ - def test_line_tabs_replaced(self): - byte_offset = 123 - text = "\ta\tb" # will be rendered as: ....abc where . represents a whitespace column - expected = " a b" - line = Line(byte_offset=byte_offset, byte_end=byte_offset + len(text.encode("utf8")), line=text) - self.assertEqual(expected, line.line_prepared_for_display()) - - def test_line_tabs_replaced_performance(self): - byte_offset = 123 - text = "a\t" * 10000 - expected = "a " * 10000 - line = Line(byte_offset=byte_offset, byte_end=byte_offset + len(text.encode("utf8")), line=text) - self.assertEqual(expected, line.line_prepared_for_display()) - def test_byte_index_to_char_index(self): byte_offset = 123 text = "x\u0308y\u0308z\u0308\t\u0308a"