respect range limit when selecting all text
This commit is contained in:
@@ -432,8 +432,10 @@ class InnerBigText(QWidget):
|
|||||||
PluginRegistry.execute("open_file", selected_file)
|
PluginRegistry.execute("open_file", selected_file)
|
||||||
|
|
||||||
def _select_all(self):
|
def _select_all(self):
|
||||||
self.selection_highlight.start_byte = 0
|
self.selection_highlight.start_byte = self.model.get_line_start_at(self._range_start)
|
||||||
self.selection_highlight.end_byte = self.model.byte_count()
|
end_byte = self.model.byte_count() if self._range_end < 0 else min(
|
||||||
|
self.model.byte_count(), self._range_end)
|
||||||
|
self.selection_highlight.end_byte = self.model.get_line_end_at(end_byte)
|
||||||
self._update_highlight_selected_text()
|
self._update_highlight_selected_text()
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,18 @@ class LogFileModel:
|
|||||||
target.write(buffer)
|
target.write(buffer)
|
||||||
offset = new_offset
|
offset = new_offset
|
||||||
|
|
||||||
|
def get_line_start_at(self, byte_offset: int) -> int:
|
||||||
|
lines = self.data(byte_offset, 0, 1, 0, -1);
|
||||||
|
if len(lines) == 0:
|
||||||
|
return 0
|
||||||
|
return lines[0].byte_offset()
|
||||||
|
|
||||||
|
def get_line_end_at(self, byte_offset: int) -> int:
|
||||||
|
lines = self.data(byte_offset, 0, 1, 0, -1);
|
||||||
|
if len(lines) == 0:
|
||||||
|
return 0
|
||||||
|
return lines[0].byte_end()
|
||||||
|
|
||||||
def read_word_at(self, byte_offset: int) -> (str, int, int):
|
def read_word_at(self, byte_offset: int) -> (str, int, int):
|
||||||
lines = self.data(byte_offset, 0, 1, 0, -1)
|
lines = self.data(byte_offset, 0, 1, 0, -1)
|
||||||
if len(lines) == 0:
|
if len(lines) == 0:
|
||||||
|
|||||||
Reference in New Issue
Block a user