From d2b7a1a321d5cf496860f717eccdfb9487621169 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Thu, 28 May 2020 19:48:21 +0200 Subject: Expose ModDataContentHolder from OrganizerCore instead of vector of Content. --- src/modlist.cpp | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) (limited to 'src/modlist.cpp') diff --git a/src/modlist.cpp b/src/modlist.cpp index 614588db..06e5e9bf 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -181,29 +181,21 @@ QString ModList::getConflictFlagText(ModInfo::EConflictFlag flag, ModInfo::Ptr m QVariantList ModList::contentsToIcons(const std::set &contents) const { QVariantList result; - for (auto &content: m_Organizer->modDataContents()) { - if (!content.isOnlyForFilter()) { - if (contents.find(content.id()) != contents.end()) { - result.append(content.icon()); - } - else { - result.append(QString()); - } - } - } + m_Organizer->modDataContents().forEachContentInOrOut( + contents, + [&result](auto const& content) { result.append(content.icon()); }, + [&result](auto const&) { result.append(QString()); }); return result; } QString ModList::contentsToToolTip(const std::set &contents) const { QString result(""); - for (auto& content : m_Organizer->modDataContents()) { - if (!content.isOnlyForFilter() && contents.find(content.id()) != contents.end()) { - result.append(QString("" - "") - .arg(content.icon()).arg(content.name())); - } - } + m_Organizer->modDataContents().forEachContentIn(contents, [&result](auto const& content) { + result.append(QString("" + "") + .arg(content.icon()).arg(content.name())); + }); result.append("
%2
%2
"); return result; } @@ -1320,16 +1312,14 @@ QString ModList::getColumnToolTip(int column) const case COL_FLAGS: return tr("Emblems to highlight things that might require attention."); case COL_CONTENT: { auto& contents = m_Organizer->modDataContents(); - if (contents.empty()) { + if (m_Organizer->modDataContents().empty()) { return QString(); } QString result = tr("Depicts the content of the mod:") + "
" + ""; - for (auto& content : contents) { - if (!content.isOnlyForFilter()) { - result += QString("") - .arg(content.icon()).arg(content.name()); - } - } + m_Organizer->modDataContents().forEachContent([&result](auto const& content) { + result += QString("") + .arg(content.icon()).arg(content.name()); + }); return result + "
%2
%2
"; }; case COL_INSTALLTIME: return tr("Time this mod was installed"); -- cgit v1.3.1