diff options
author | Petr Mrázek <peterix@gmail.com> | 2020-01-08 21:12:45 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2020-01-08 21:12:45 +0100 |
commit | 355e5e24da45c69ffa92bfa76c8c40439a107e7c (patch) | |
tree | ccd0cd241e7405960790db9629e7724471a3c2e6 /application/pages/instance | |
parent | 8bdff97ac0ff39f4a20e7e929b14b70427878b10 (diff) | |
download | MultiMC-355e5e24da45c69ffa92bfa76c8c40439a107e7c.tar MultiMC-355e5e24da45c69ffa92bfa76c8c40439a107e7c.tar.gz MultiMC-355e5e24da45c69ffa92bfa76c8c40439a107e7c.tar.lz MultiMC-355e5e24da45c69ffa92bfa76c8c40439a107e7c.tar.xz MultiMC-355e5e24da45c69ffa92bfa76c8c40439a107e7c.zip |
GH-2819 mod list filter now also looks at descriptions and authors
Diffstat (limited to 'application/pages/instance')
-rw-r--r-- | application/pages/instance/ModFolderPage.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/application/pages/instance/ModFolderPage.cpp b/application/pages/instance/ModFolderPage.cpp index d449f8bf..ec4bf3c9 100644 --- a/application/pages/instance/ModFolderPage.cpp +++ b/application/pages/instance/ModFolderPage.cpp @@ -51,6 +51,26 @@ public: } protected: + bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const override { + ModFolderModel *model = qobject_cast<ModFolderModel *>(sourceModel()); + if(!model) { + return false; + } + const auto &mod = model->at(source_row); + if(mod.name().contains(filterRegExp())) { + return true; + } + if(mod.description().contains(filterRegExp())) { + return true; + } + for(auto & author: mod.authors()) { + if (author.contains(filterRegExp())) { + return true; + } + } + return false; + } + bool lessThan(const QModelIndex & source_left, const QModelIndex & source_right) const override { ModFolderModel *model = qobject_cast<ModFolderModel *>(sourceModel()); |