summaryrefslogtreecommitdiff
path: root/plugins/warp
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 /plugins/warp
parent9b7604d13e8bd98c6998facb9326926ed96281b5 (diff)
Add regex and case sensitivity options to FilterEdit
Diffstat (limited to 'plugins/warp')
-rw-r--r--plugins/warp/ui/matches.cpp2
-rw-r--r--plugins/warp/ui/shared/constraint.cpp4
-rw-r--r--plugins/warp/ui/shared/constraint.h2
-rw-r--r--plugins/warp/ui/shared/function.cpp4
-rw-r--r--plugins/warp/ui/shared/function.h2
5 files changed, 9 insertions, 5 deletions
diff --git a/plugins/warp/ui/matches.cpp b/plugins/warp/ui/matches.cpp
index 4b8f0495..289c1102 100644
--- a/plugins/warp/ui/matches.cpp
+++ b/plugins/warp/ui/matches.cpp
@@ -78,7 +78,7 @@ WarpCurrentFunctionWidget::WarpCurrentFunctionWidget()
"Search for Source", [this](WarpFunctionItem* item, std::optional<uint64_t>) {
// Apply the source as the filter.
if (const auto source = item->GetSource(); source)
- m_tableWidget->setFilter(source->ToString());
+ m_tableWidget->setFilter(source->ToString(), NoFilterOption);
});
connect(m_tableWidget->GetTableView(), &QTableView::clicked, this, [this](const QModelIndex& index) {
diff --git a/plugins/warp/ui/shared/constraint.cpp b/plugins/warp/ui/shared/constraint.cpp
index 39c9c7d3..fcebbfb0 100644
--- a/plugins/warp/ui/shared/constraint.cpp
+++ b/plugins/warp/ui/shared/constraint.cpp
@@ -124,8 +124,10 @@ void WarpConstraintTableWidget::SetMatchedConstraints(const std::vector<Warp::Co
m_model->SetMatchedConstraints(analysisConstraints);
}
-void WarpConstraintTableWidget::setFilter(const std::string& filter)
+void WarpConstraintTableWidget::setFilter(const std::string& filter, FilterOptions options)
{
m_proxyModel->setFilterFixedString(QString::fromStdString(filter));
+ m_proxyModel->setFilterCaseSensitivity(
+ options.testFlag(CaseSensitiveOption) ? Qt::CaseSensitive : Qt::CaseInsensitive);
m_filterView->showFilter(QString::fromStdString(filter));
}
diff --git a/plugins/warp/ui/shared/constraint.h b/plugins/warp/ui/shared/constraint.h
index 02702144..632c39ce 100644
--- a/plugins/warp/ui/shared/constraint.h
+++ b/plugins/warp/ui/shared/constraint.h
@@ -58,7 +58,7 @@ public:
void SetMatchedConstraints(const std::vector<Warp::Constraint>& analysisConstraints);
- void setFilter(const std::string&) override;
+ void setFilter(const std::string&, FilterOptions options) override;
void scrollToFirstItem() override {}
diff --git a/plugins/warp/ui/shared/function.cpp b/plugins/warp/ui/shared/function.cpp
index 06d4cbcf..3b2451ab 100644
--- a/plugins/warp/ui/shared/function.cpp
+++ b/plugins/warp/ui/shared/function.cpp
@@ -299,9 +299,11 @@ void WarpFunctionTableWidget::RemoveFunction(uint64_t address)
m_model->RemoveFunction(address);
}
-void WarpFunctionTableWidget::setFilter(const std::string& filter)
+void WarpFunctionTableWidget::setFilter(const std::string& filter, FilterOptions options)
{
m_proxyModel->setFilterFixedString(QString::fromStdString(filter));
+ m_proxyModel->setFilterCaseSensitivity(
+ options.testFlag(CaseSensitiveOption) ? Qt::CaseSensitive : Qt::CaseInsensitive);
m_filterView->showFilter(QString::fromStdString(filter));
}
diff --git a/plugins/warp/ui/shared/function.h b/plugins/warp/ui/shared/function.h
index 23b2bd3b..c6e5ba63 100644
--- a/plugins/warp/ui/shared/function.h
+++ b/plugins/warp/ui/shared/function.h
@@ -123,7 +123,7 @@ public:
void RemoveFunction(uint64_t address);
- void setFilter(const std::string&) override;
+ void setFilter(const std::string&, FilterOptions options) override;
void scrollToFirstItem() override {}