reset search hits when entering empty or invalid query

This commit is contained in:
2021-10-28 09:48:38 +02:00
parent 02f1ce3af9
commit a0e6c24098
2 changed files with 16 additions and 14 deletions

View File

@@ -123,6 +123,7 @@ class FilterWidget(QWidget):
query = self.query_field.text() query = self.query_field.text()
ignore_case = self.ignore_case.isChecked() ignore_case = self.ignore_case.isChecked()
if len(query) == 0: if len(query) == 0:
self.filter_model.truncate()
return return
# cancel previous search # cancel previous search
@@ -135,7 +136,8 @@ class FilterWidget(QWidget):
else: else:
regex = re.compile(re.escape(query), flags=flags) regex = re.compile(re.escape(query), flags=flags)
except: except:
# query was not a valid regex -> abort # query was not a valid regex -> clear search hits, then abort
self.filter_model.truncate()
return return
self.filter_task = FilterTask( self.filter_task = FilterTask(

View File

@@ -55,7 +55,8 @@ class LogFileModel:
f.seek(offset) f.seek(offset)
while l := f.readline(): while l := f.readline():
new_offset = f.tell() new_offset = f.tell()
line = Line(offset, new_offset, l.decode("utf8", errors="ignore").replace("\r", "").replace("\n", "")) line = Line(offset, new_offset,
l.decode("utf8", errors="ignore").replace("\r", "").replace("\n", ""))
# print("%s %s" %(line.byte_offset(), line.line())) # print("%s %s" %(line.byte_offset(), line.line()))
if offset < byte_offset: if offset < byte_offset:
lines_before_offset.append(line) lines_before_offset.append(line)
@@ -87,5 +88,4 @@ class LogFileModel:
def truncate(self): def truncate(self):
with open(self._file, 'a') as f: with open(self._file, 'a') as f:
print("truncating")
f.truncate(0) f.truncate(0)