diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-31 10:54:36 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-31 11:54:31 -0400 |
| commit | 8efab8bf129b6f9928f478a429e20cf018e5e373 (patch) | |
| tree | 700b51d7d4030c145b535c2bc70b062f41491b58 /src/modinfodialog.cpp | |
| parent | 98b3be3e9bbca73640842f6dadaa159dcec04f7b (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.cpp | 13 |
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; |
