diff options
| author | Josh Ferrell <josh@vector35.com> | 2026-01-26 14:23:12 -0500 |
|---|---|---|
| committer | Josh Ferrell <josh@vector35.com> | 2026-02-06 17:53:45 -0500 |
| commit | 70bbb18a9444824a8ec2b9a7ff57fc848e017b6e (patch) | |
| tree | fe87c0976b75a7557986d1ac6bcc2409a839624c /view/kernelcache/ui/kctriage.h | |
| parent | 9b7604d13e8bd98c6998facb9326926ed96281b5 (diff) | |
Add regex and case sensitivity options to FilterEdit
Diffstat (limited to 'view/kernelcache/ui/kctriage.h')
| -rw-r--r-- | view/kernelcache/ui/kctriage.h | 15 |
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; } |
