Files
krowlog/filterwidget.py
2021-10-26 18:51:32 +02:00

37 lines
1.1 KiB
Python

from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QCheckBox
from bigtext import BigText
from logFileModel import LogFileModel
class FilterWidget(QWidget):
def __init__(self, model: LogFileModel):
super(FilterWidget, self).__init__()
self.model = model
self.layout = QVBoxLayout(self)
self.layout.setContentsMargins(0, 0, 0, 0)
query_field = QLineEdit()
query_field.textChanged.connect(self.query_changed)
ignore_case = QCheckBox(self.tr("ignore case"))
ignore_case.setChecked(True)
is_regex = QCheckBox(self.tr("regex"))
is_regex.setChecked(True)
filter_bar = QWidget()
filter_bar.layout = QHBoxLayout(filter_bar)
filter_bar.layout.setContentsMargins(0,0,0,0)
filter_bar.layout.addWidget(query_field)
filter_bar.layout.addWidget(ignore_case)
filter_bar.layout.addWidget(is_regex)
self.hits_view = BigText(model)
self.layout.addWidget(filter_bar)
self.layout.addWidget(self.hits_view)
def query_changed(self, query: str):
print(query)