add dialog to manage highlighters

- no support for "no color"
- settings not saved to disk
This commit is contained in:
2021-10-30 16:25:34 +02:00
parent 43e85d2863
commit aee0ff9968
9 changed files with 325 additions and 62 deletions

View File

@@ -129,6 +129,7 @@ class FilterWidget(QWidget):
def filter_changed(self):
query = self.query_field.text()
ignore_case = self.ignore_case.isChecked()
is_regex = self.is_regex.isChecked()
if len(query) == 0:
self.reset_filter()
return
@@ -138,7 +139,7 @@ class FilterWidget(QWidget):
try:
flags = re.IGNORECASE if ignore_case else 0
if self.is_regex.isChecked():
if is_regex:
regex = re.compile(query, flags=flags)
else:
regex = re.compile(re.escape(query), flags=flags)
@@ -147,8 +148,8 @@ class FilterWidget(QWidget):
self.filter_model.truncate()
return
self.source_model.set_query_highlight(regex)
self.filter_model.set_query_highlight(regex)
self.source_model.set_query_highlight(query, ignore_case, is_regex)
self.filter_model.set_query_highlight(query, ignore_case, is_regex)
self.filter_task = FilterTask(
self.source_model,