37 lines
1.1 KiB
Python
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) |