summaryrefslogtreecommitdiff
path: root/view/kernelcache/ui/kctriage.h
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2026-01-26 14:23:12 -0500
committerJosh Ferrell <josh@vector35.com>2026-02-06 17:53:45 -0500
commit70bbb18a9444824a8ec2b9a7ff57fc848e017b6e (patch)
treefe87c0976b75a7557986d1ac6bcc2409a839624c /view/kernelcache/ui/kctriage.h
parent9b7604d13e8bd98c6998facb9326926ed96281b5 (diff)
Add regex and case sensitivity options to FilterEdit
Diffstat (limited to 'view/kernelcache/ui/kctriage.h')
-rw-r--r--view/kernelcache/ui/kctriage.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/view/kernelcache/ui/kctriage.h b/view/kernelcache/ui/kctriage.h
index c69c6a0a..f73fd264 100644
--- a/view/kernelcache/ui/kctriage.h
+++ b/view/kernelcache/ui/kctriage.h
@@ -102,7 +102,9 @@ public:
class FilterableTableView : public QTableView, public FilterTarget {
Q_OBJECT
+ std::string m_filter;
bool m_filterByHiding;
+ FilterOptions m_filterOptions;
public:
explicit FilterableTableView(QWidget* parent = nullptr, bool filterByHiding = true)
@@ -113,19 +115,24 @@ public:
~FilterableTableView() override = default;
- void setFilter(const std::string& filter) override {
+ void setFilter(const std::string& filter, FilterOptions options) override {
+ m_filter = filter;
+ m_filterOptions = options;
+ QString qFilter = QString::fromStdString(m_filter);
+
if (!m_filterByHiding)
{
- emit filterTextChanged(QString::fromStdString(filter));
+ emit filterTextChanged(qFilter);
return;
}
- QString qFilter = QString::fromStdString(filter);
+
+ bool caseSensitive = options.testFlag(CaseSensitiveOption);
for (int row = 0; row < model()->rowCount(); ++row) {
bool match = false;
for (int col = 0; col < model()->columnCount(); ++col) {
QModelIndex index = model()->index(row, col);
QString data = model()->data(index).toString();
- if (data.contains(qFilter, Qt::CaseInsensitive)) {
+ if (data.contains(qFilter, caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive)) {
match = true;
break;
}