move checkMcVersions to Filter struct

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2024-10-06 23:33:24 +03:00
parent 859fac604b
commit 6e5f616ced
No known key found for this signature in database
GPG Key ID: 55EF5DA53DB36318
6 changed files with 12 additions and 17 deletions

View File

@ -127,15 +127,3 @@ QDebug operator<<(QDebug debug, const Version& v)
return debug;
}
bool checkMcVersions(std::list<Version> filter, QStringList value)
{
bool valid = false;
for (auto mcVersion : filter) {
if (value.contains(mcVersion.toString())) {
valid = true;
break;
}
}
return filter.empty() || valid;
}

View File

@ -161,5 +161,3 @@ class Version {
void parse();
};
bool checkMcVersions(std::list<Version> filter, QStringList value);

View File

@ -123,7 +123,7 @@ bool ModModel::checkVersionFilters(const ModPlatform::IndexedVersion& v)
checkSide(m_filter->side, v.side) && // side
(m_filter->releases.empty() || // releases
std::find(m_filter->releases.cbegin(), m_filter->releases.cend(), v.version_type) != m_filter->releases.cend()) &&
checkMcVersions(m_filter->versions, v.mcVersion)); // mcVersions
m_filter->checkMcVersions(v.mcVersion)); // mcVersions
}
} // namespace ResourceDownload

View File

@ -152,7 +152,7 @@ bool checkVersionFilters(const Flame::IndexedVersion& v, std::shared_ptr<ModFilt
return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) && // loaders
(filter->releases.empty() || // releases
std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
checkMcVersions(filter->versions, { v.mcVersion })); // mcVersions}
filter->checkMcVersions({ v.mcVersion })); // mcVersions}
}
void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)

View File

@ -136,7 +136,7 @@ bool checkVersionFilters(const Modrinth::ModpackVersion& v, std::shared_ptr<ModF
return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) && // loaders
(filter->releases.empty() || // releases
std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
checkMcVersions(filter->versions, { v.gameVersion })); // gameVersion}
filter->checkMcVersions({ v.gameVersion })); // gameVersion}
}
void ModrinthPage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)

View File

@ -71,6 +71,15 @@ class ModFilterWidget : public QTabWidget {
releases == other.releases && categoryIds == other.categoryIds;
}
bool operator!=(const Filter& other) const { return !(*this == other); }
bool checkMcVersions(QStringList value)
{
for (auto mcVersion : versions)
if (value.contains(mcVersion.toString()))
return true;
return versions.empty();
}
};
static unique_qobject_ptr<ModFilterWidget> create(MinecraftInstance* instance, bool extended, QWidget* parent = nullptr);