summaryrefslogtreecommitdiff
path: root/src/modinfodialog.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-05-31 10:54:36 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-05-31 11:54:31 -0400
commit8efab8bf129b6f9928f478a429e20cf018e5e373 (patch)
tree700b51d7d4030c145b535c2bc70b062f41491b58 /src/modinfodialog.cpp
parent98b3be3e9bbca73640842f6dadaa159dcec04f7b (diff)
FilterWidget takes a predicate to match strings
copied the logic from modlistsortproxy so the basic boolean syntax in filters works
Diffstat (limited to 'src/modinfodialog.cpp')
-rw-r--r--src/modinfodialog.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp
index 0f18033a..4852150f 100644
--- a/src/modinfodialog.cpp
+++ b/src/modinfodialog.cpp
@@ -874,10 +874,15 @@ QTreeWidgetItem* ModInfoDialog::createAdvancedConflictItem(
}
}
- if (!m_advancedConflictFilter.matches(before) &&
- !m_advancedConflictFilter.matches(relativeName) &&
- !m_advancedConflictFilter.matches(after)) {
- return nullptr;
+ bool matched = m_advancedConflictFilter.matches([&](auto&& what) {
+ return
+ before.contains(what, Qt::CaseInsensitive) ||
+ relativeName.contains(what, Qt::CaseInsensitive) ||
+ after.contains(what, Qt::CaseInsensitive);
+ });
+
+ if (!matched) {
+ return nullptr;
}
QTreeWidgetItem* item = new QTreeWidgetItem;