tidy: Fix clang-tidy issues on files changed in this PR

The checks used are roughly the same as the ones proposed in the
clang-tidy PR (except perhaps that I used modernize-* instead of listing
them individually,though I don't think this caused any readability
detriments).

In ModrinthModel.cpp and FlameModModel.cpp I ignored the
modernize-avoid-c-arrays one, mostly because making the sorts array an
std::array would most likely increase the code complexity because of the
virtual function. Aside from that, the static_cast warning from
Application.h was not dealt with, since it's not in this PR's scope.
This commit is contained in:
flow 2022-03-08 11:12:35 -03:00
parent b3c2a56ece
commit 8409aa2571
No known key found for this signature in database
GPG Key ID: 8D0F221F0A59F469
20 changed files with 86 additions and 84 deletions

View File

@ -4,7 +4,7 @@
class FlameAPI : public NetworkModAPI { class FlameAPI : public NetworkModAPI {
private: private:
inline QString getModSearchURL(SearchArgs& args) const inline auto getModSearchURL(SearchArgs& args) const -> QString override
{ {
return QString( return QString(
"https://addons-ecs.forgesvc.net/api/v2/addon/search?" "https://addons-ecs.forgesvc.net/api/v2/addon/search?"
@ -25,7 +25,7 @@ class FlameAPI : public NetworkModAPI {
.arg(args.version); .arg(args.version);
}; };
inline QString getVersionsURL(const QString& addonId) const inline auto getVersionsURL(const QString& addonId) const -> QString override
{ {
return QString("https://addons-ecs.forgesvc.net/api/v2/addon/%1/files").arg(addonId); return QString("https://addons-ecs.forgesvc.net/api/v2/addon/%1/files").arg(addonId);
}; };

View File

@ -43,8 +43,8 @@ void FlameMod::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
BaseInstance* inst) BaseInstance* inst)
{ {
QVector<ModPlatform::IndexedVersion> unsortedVersions; QVector<ModPlatform::IndexedVersion> unsortedVersions;
bool hasFabric = !((MinecraftInstance*)inst)->getPackProfile()->getComponentVersion("net.fabricmc.fabric-loader").isEmpty(); bool hasFabric = !(dynamic_cast<MinecraftInstance*>(inst))->getPackProfile()->getComponentVersion("net.fabricmc.fabric-loader").isEmpty();
QString mcVersion = ((MinecraftInstance*)inst)->getPackProfile()->getComponentVersion("net.minecraft"); QString mcVersion = (dynamic_cast<MinecraftInstance*>(inst))->getPackProfile()->getComponentVersion("net.minecraft");
for (auto versionIter : arr) { for (auto versionIter : arr) {
auto obj = versionIter.toObject(); auto obj = versionIter.toObject();

View File

@ -6,8 +6,8 @@
#include "modplatform/ModIndex.h" #include "modplatform/ModIndex.h"
#include <QNetworkAccessManager>
#include "BaseInstance.h" #include "BaseInstance.h"
#include <QNetworkAccessManager>
namespace FlameMod { namespace FlameMod {

View File

@ -7,7 +7,7 @@
void NetworkModAPI::searchMods(CallerType* caller, SearchArgs&& args) const void NetworkModAPI::searchMods(CallerType* caller, SearchArgs&& args) const
{ {
auto netJob = new NetJob(QString("Modrinth::Search"), APPLICATION->network()); auto netJob = new NetJob(QString("%1::Search").arg(caller->debugName()), APPLICATION->network());
auto searchUrl = getModSearchURL(args); auto searchUrl = getModSearchURL(args);
auto response = new QByteArray(); auto response = new QByteArray();
@ -16,7 +16,7 @@ void NetworkModAPI::searchMods(CallerType* caller, SearchArgs&& args) const
QObject::connect(netJob, &NetJob::started, caller, [caller, netJob] { caller->setActiveJob(netJob); }); QObject::connect(netJob, &NetJob::started, caller, [caller, netJob] { caller->setActiveJob(netJob); });
QObject::connect(netJob, &NetJob::failed, caller, &CallerType::searchRequestFailed); QObject::connect(netJob, &NetJob::failed, caller, &CallerType::searchRequestFailed);
QObject::connect(netJob, &NetJob::succeeded, caller, [caller, response] { QObject::connect(netJob, &NetJob::succeeded, caller, [caller, response] {
QJsonParseError parse_error; QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error); QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);
if (parse_error.error != QJsonParseError::NoError) { if (parse_error.error != QJsonParseError::NoError) {
qWarning() << "Error while parsing JSON response from " << caller->debugName() << " at " << parse_error.offset qWarning() << "Error while parsing JSON response from " << caller->debugName() << " at " << parse_error.offset
@ -39,7 +39,7 @@ void NetworkModAPI::getVersions(CallerType* caller, const QString& addonId) cons
netJob->addNetAction(Net::Download::makeByteArray(getVersionsURL(addonId), response)); netJob->addNetAction(Net::Download::makeByteArray(getVersionsURL(addonId), response));
QObject::connect(netJob, &NetJob::succeeded, caller, [response, caller, addonId] { QObject::connect(netJob, &NetJob::succeeded, caller, [response, caller, addonId] {
QJsonParseError parse_error; QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error); QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);
if (parse_error.error != QJsonParseError::NoError) { if (parse_error.error != QJsonParseError::NoError) {
qWarning() << "Error while parsing JSON response from " << caller->debugName() << " at " << parse_error.offset qWarning() << "Error while parsing JSON response from " << caller->debugName() << " at " << parse_error.offset

View File

@ -8,6 +8,6 @@ class NetworkModAPI : public ModAPI {
void getVersions(CallerType* caller, const QString& addonId) const override; void getVersions(CallerType* caller, const QString& addonId) const override;
protected: protected:
virtual QString getModSearchURL(SearchArgs& args) const = 0; virtual auto getModSearchURL(SearchArgs& args) const -> QString = 0;
virtual QString getVersionsURL(const QString& addonId) const = 0; virtual auto getVersionsURL(const QString& addonId) const -> QString = 0;
}; };

View File

@ -6,10 +6,10 @@
class ModrinthAPI : public NetworkModAPI { class ModrinthAPI : public NetworkModAPI {
public: public:
inline QString getAuthorURL(const QString& name) const { return "https://modrinth.com/user/" + name; }; inline auto getAuthorURL(const QString& name) const -> QString { return "https://modrinth.com/user/" + name; };
private: private:
inline QString getModSearchURL(SearchArgs& args) const override inline auto getModSearchURL(SearchArgs& args) const -> QString override
{ {
if (!validateModLoader(args.mod_loader)) { if (!validateModLoader(args.mod_loader)) {
qWarning() << "Modrinth only have Forge and Fabric-compatible mods!"; qWarning() << "Modrinth only have Forge and Fabric-compatible mods!";
@ -30,12 +30,12 @@ class ModrinthAPI : public NetworkModAPI {
.arg(args.version); .arg(args.version);
}; };
inline QString getVersionsURL(const QString& addonId) const override inline auto getVersionsURL(const QString& addonId) const -> QString override
{ {
return QString("https://api.modrinth.com/v2/project/%1/version").arg(addonId); return QString("https://api.modrinth.com/v2/project/%1/version").arg(addonId);
}; };
inline QString getModLoaderString(ModLoaderType modLoader) const inline auto getModLoaderString(ModLoaderType modLoader) const -> QString
{ {
switch (modLoader) { switch (modLoader) {
case Any: case Any:
@ -49,7 +49,7 @@ class ModrinthAPI : public NetworkModAPI {
} }
} }
inline bool validateModLoader(ModLoaderType modLoader) const inline auto validateModLoader(ModLoaderType modLoader) const -> bool
{ {
return modLoader == Any || modLoader == Forge || modLoader == Fabric; return modLoader == Any || modLoader == Forge || modLoader == Fabric;
} }

View File

@ -30,8 +30,8 @@ void Modrinth::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
BaseInstance* inst) BaseInstance* inst)
{ {
QVector<ModPlatform::IndexedVersion> unsortedVersions; QVector<ModPlatform::IndexedVersion> unsortedVersions;
bool hasFabric = !((MinecraftInstance*)inst)->getPackProfile()->getComponentVersion("net.fabricmc.fabric-loader").isEmpty(); bool hasFabric = !(static_cast<MinecraftInstance*>(inst))->getPackProfile()->getComponentVersion("net.fabricmc.fabric-loader").isEmpty();
QString mcVersion = ((MinecraftInstance*)inst)->getPackProfile()->getComponentVersion("net.minecraft"); QString mcVersion = (static_cast<MinecraftInstance*>(inst))->getPackProfile()->getComponentVersion("net.minecraft");
for (auto versionIter : arr) { for (auto versionIter : arr) {
auto obj = versionIter.toObject(); auto obj = versionIter.toObject();

View File

@ -2,8 +2,8 @@
#include "modplatform/ModIndex.h" #include "modplatform/ModIndex.h"
#include <QNetworkAccessManager>
#include "BaseInstance.h" #include "BaseInstance.h"
#include <QNetworkAccessManager>
namespace Modrinth { namespace Modrinth {

View File

@ -11,7 +11,7 @@ namespace ModPlatform {
ListModel::ListModel(ModPage* parent) : QAbstractListModel(parent), m_parent(parent) {} ListModel::ListModel(ModPage* parent) : QAbstractListModel(parent), m_parent(parent) {}
QString ListModel::debugName() const auto ListModel::debugName() const -> QString
{ {
return m_parent->debugName(); return m_parent->debugName();
} }
@ -29,7 +29,7 @@ void ListModel::fetchMore(const QModelIndex& parent)
performPaginatedSearch(); performPaginatedSearch();
} }
QVariant ListModel::data(const QModelIndex& index, int role) const auto ListModel::data(const QModelIndex& index, int role) const -> QVariant
{ {
int pos = index.row(); int pos = index.row();
if (pos >= modpacks.size() || pos < 0 || !index.isValid()) { return QString("INVALID INDEX %1").arg(pos); } if (pos >= modpacks.size() || pos < 0 || !index.isValid()) { return QString("INVALID INDEX %1").arg(pos); }
@ -56,7 +56,7 @@ QVariant ListModel::data(const QModelIndex& index, int role) const
return v; return v;
} }
return QVariant(); return {};
} }
void ListModel::requestModVersions(ModPlatform::IndexedPack const& current) void ListModel::requestModVersions(ModPlatform::IndexedPack const& current)
@ -66,8 +66,8 @@ void ListModel::requestModVersions(ModPlatform::IndexedPack const& current)
void ListModel::performPaginatedSearch() void ListModel::performPaginatedSearch()
{ {
QString mcVersion = ((MinecraftInstance*)((ModPage*)parent())->m_instance)->getPackProfile()->getComponentVersion("net.minecraft"); QString mcVersion = (dynamic_cast<MinecraftInstance*>((dynamic_cast<ModPage*>(parent()))->m_instance))->getPackProfile()->getComponentVersion("net.minecraft");
bool hasFabric = !((MinecraftInstance*)((ModPage*)parent())->m_instance) bool hasFabric = !(dynamic_cast<MinecraftInstance*>((dynamic_cast<ModPage*>(parent()))->m_instance))
->getPackProfile() ->getPackProfile()
->getComponentVersion("net.fabricmc.fabric-loader") ->getComponentVersion("net.fabricmc.fabric-loader")
.isEmpty(); .isEmpty();
@ -188,7 +188,7 @@ void ListModel::searchRequestFailed(QString reason)
QMessageBox::critical(nullptr, tr("Error"), QMessageBox::critical(nullptr, tr("Error"),
QString("%1 %2").arg(m_parent->displayName()).arg(tr("API version too old!\nPlease update PolyMC!"))); QString("%1 %2").arg(m_parent->displayName()).arg(tr("API version too old!\nPlease update PolyMC!")));
// self-destruct // self-destruct
((ModDownloadDialog*)((ModPage*)parent())->parentWidget())->reject(); (dynamic_cast<ModDownloadDialog*>((dynamic_cast<ModPage*>(parent()))->parentWidget()))->reject();
} }
jobPtr.reset(); jobPtr.reset();

View File

@ -10,24 +10,24 @@ class ModPage;
namespace ModPlatform { namespace ModPlatform {
typedef QMap<QString, QIcon> LogoMap; using LogoMap = QMap<QString, QIcon>;
typedef std::function<void(QString)> LogoCallback; using LogoCallback = std::function<void (QString)>;
class ListModel : public QAbstractListModel { class ListModel : public QAbstractListModel {
Q_OBJECT Q_OBJECT
public: public:
ListModel(ModPage* parent); ListModel(ModPage* parent);
virtual ~ListModel() = default; ~ListModel() override = default;
inline int rowCount(const QModelIndex& parent) const override { return modpacks.size(); }; inline auto rowCount(const QModelIndex& parent) const -> int override { return modpacks.size(); };
inline int columnCount(const QModelIndex& parent) const override { return 1; }; inline auto columnCount(const QModelIndex& parent) const -> int override { return 1; };
inline Qt::ItemFlags flags(const QModelIndex& index) const override { return QAbstractListModel::flags(index); }; inline auto flags(const QModelIndex& index) const -> Qt::ItemFlags override { return QAbstractListModel::flags(index); };
QString debugName() const; auto debugName() const -> QString;
/* Retrieve information from the model at a given index with the given role */ /* Retrieve information from the model at a given index with the given role */
QVariant data(const QModelIndex& index, int role) const override; auto data(const QModelIndex& index, int role) const -> QVariant override;
inline void setActiveJob(NetJob::Ptr ptr) { jobPtr = ptr; } inline void setActiveJob(NetJob::Ptr ptr) { jobPtr = ptr; }
@ -41,7 +41,7 @@ class ListModel : public QAbstractListModel {
void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback); void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback);
inline bool canFetchMore(const QModelIndex& parent) const override { return searchState == CanPossiblyFetchMore; }; inline auto canFetchMore(const QModelIndex& parent) const -> bool override { return searchState == CanPossiblyFetchMore; };
public slots: public slots:
void searchRequestFinished(QJsonDocument& doc); void searchRequestFinished(QJsonDocument& doc);
@ -57,8 +57,8 @@ class ListModel : public QAbstractListModel {
void performPaginatedSearch(); void performPaginatedSearch();
protected: protected:
virtual QJsonArray documentToArray(QJsonDocument& obj) const = 0; virtual auto documentToArray(QJsonDocument& obj) const -> QJsonArray = 0;
virtual const char** getSorts() const = 0; virtual auto getSorts() const -> const char** = 0;
void requestLogo(QString file, QString url); void requestLogo(QString file, QString url);

View File

@ -33,10 +33,10 @@ void ModPage::openedImpl()
triggerSearch(); triggerSearch();
} }
bool ModPage::eventFilter(QObject* watched, QEvent* event) auto ModPage::eventFilter(QObject* watched, QEvent* event) -> bool
{ {
if (watched == ui->searchEdit && event->type() == QEvent::KeyPress) { if (watched == ui->searchEdit && event->type() == QEvent::KeyPress) {
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event); auto* keyEvent = dynamic_cast<QKeyEvent*>(event);
if (keyEvent->key() == Qt::Key_Return) { if (keyEvent->key() == Qt::Key_Return) {
triggerSearch(); triggerSearch();
keyEvent->accept(); keyEvent->accept();
@ -70,7 +70,7 @@ void ModPage::onSelectionChanged(QModelIndex first, QModelIndex second)
text = "<a href=\"" + current.websiteUrl + "\">" + name + "</a>"; text = "<a href=\"" + current.websiteUrl + "\">" + name + "</a>";
if (!current.authors.empty()) { if (!current.authors.empty()) {
auto authorToStr = [](ModPlatform::ModpackAuthor& author) { auto authorToStr = [](ModPlatform::ModpackAuthor& author) -> QString {
if (author.url.isEmpty()) { return author.name; } if (author.url.isEmpty()) { return author.name; }
return QString("<a href=\"%1\">%2</a>").arg(author.url, author.name); return QString("<a href=\"%1\">%2</a>").arg(author.url, author.name);
}; };
@ -128,7 +128,7 @@ void ModPage::onModSelected()
void ModPage::updateModVersions() void ModPage::updateModVersions()
{ {
auto packProfile = (static_cast<MinecraftInstance*>(m_instance))->getPackProfile(); auto packProfile = (dynamic_cast<MinecraftInstance*>(m_instance))->getPackProfile();
QString mcVersion = packProfile->getComponentVersion("net.minecraft"); QString mcVersion = packProfile->getComponentVersion("net.minecraft");
QString loaderString = (packProfile->getComponentVersion("net.minecraftforge").isEmpty()) ? "fabric" : "forge"; QString loaderString = (packProfile->getComponentVersion("net.minecraftforge").isEmpty()) ? "fabric" : "forge";

View File

@ -14,36 +14,35 @@ namespace Ui {
class ModPage; class ModPage;
} }
/* This page handles most logic related to browsing and selecting mods to download. /* This page handles most logic related to browsing and selecting mods to download. */
* By default, the methods provided work with net requests, to fetch data from remote APIs. */
class ModPage : public QWidget, public BasePage { class ModPage : public QWidget, public BasePage {
Q_OBJECT Q_OBJECT
public: public:
explicit ModPage(ModDownloadDialog* dialog, BaseInstance* instance, ModAPI* api); explicit ModPage(ModDownloadDialog* dialog, BaseInstance* instance, ModAPI* api);
virtual ~ModPage(); ~ModPage() override;
/* Affects what the user sees */ /* Affects what the user sees */
virtual QString displayName() const override = 0; auto displayName() const -> QString override = 0;
virtual QIcon icon() const override = 0; auto icon() const -> QIcon override = 0;
virtual QString id() const override = 0; auto id() const -> QString override = 0;
virtual QString helpPage() const override = 0; auto helpPage() const -> QString override = 0;
/* Used internally */ /* Used internally */
virtual QString metaEntryBase() const = 0; virtual auto metaEntryBase() const -> QString = 0;
virtual QString debugName() const = 0; virtual auto debugName() const -> QString = 0;
virtual bool shouldDisplay() const override = 0; auto shouldDisplay() const -> bool override = 0;
virtual bool validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const = 0; virtual auto validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const -> bool = 0;
const ModAPI* apiProvider() const { return api.get(); }; auto apiProvider() const -> const ModAPI* { return api.get(); };
ModPlatform::IndexedPack& getCurrent() { return current; } auto getCurrent() -> ModPlatform::IndexedPack& { return current; }
void updateModVersions(); void updateModVersions();
void openedImpl() override; void openedImpl() override;
bool eventFilter(QObject* watched, QEvent* event) override; auto eventFilter(QObject* watched, QEvent* event) -> bool override;
BaseInstance* m_instance; BaseInstance* m_instance;

View File

@ -4,6 +4,7 @@
namespace FlameMod { namespace FlameMod {
// NOLINTNEXTLINE(modernize-avoid-c-arrays)
const char* ListModel::sorts[6]{ "Featured", "Popularity", "LastUpdated", "Name", "Author", "TotalDownloads" }; const char* ListModel::sorts[6]{ "Featured", "Popularity", "LastUpdated", "Name", "Author", "TotalDownloads" };
void ListModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) void ListModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj)
@ -16,7 +17,7 @@ void ListModel::loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray&
FlameMod::loadIndexedPackVersions(m, arr, APPLICATION->network(), m_parent->m_instance); FlameMod::loadIndexedPackVersions(m, arr, APPLICATION->network(), m_parent->m_instance);
} }
QJsonArray ListModel::documentToArray(QJsonDocument& obj) const auto ListModel::documentToArray(QJsonDocument& obj) const -> QJsonArray
{ {
return obj.array(); return obj.array();
} }

View File

@ -9,17 +9,17 @@ class ListModel : public ModPlatform::ListModel {
public: public:
ListModel(FlameModPage* parent) : ModPlatform::ListModel(parent) {} ListModel(FlameModPage* parent) : ModPlatform::ListModel(parent) {}
; ~ListModel() override = default;
virtual ~ListModel() = default;
private: private:
void loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) override; void loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) override;
void loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr) override; void loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr) override;
QJsonArray documentToArray(QJsonDocument& obj) const override; auto documentToArray(QJsonDocument& obj) const -> QJsonArray override;
// NOLINTNEXTLINE(modernize-avoid-c-arrays)
static const char* sorts[6]; static const char* sorts[6];
inline const char** getSorts() const override { return sorts; }; inline auto getSorts() const -> const char** override { return sorts; };
}; };
} // namespace FlameMod } // namespace FlameMod

View File

@ -26,7 +26,7 @@ FlameModPage::FlameModPage(ModDownloadDialog* dialog, BaseInstance* instance)
connect(ui->modSelectionButton, &QPushButton::clicked, this, &FlameModPage::onModSelected); connect(ui->modSelectionButton, &QPushButton::clicked, this, &FlameModPage::onModSelected);
} }
bool FlameModPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer) const auto FlameModPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer) const -> bool
{ {
(void) loaderVer; (void) loaderVer;
return ver.mcVersion.contains(mineVer); return ver.mcVersion.contains(mineVer);
@ -35,4 +35,4 @@ bool FlameModPage::validateVersion(ModPlatform::IndexedVersion& ver, QString min
// I don't know why, but doing this on the parent class makes it so that // I don't know why, but doing this on the parent class makes it so that
// other mod providers start loading before being selected, at least with // other mod providers start loading before being selected, at least with
// my Qt, so we need to implement this in every derived class... // my Qt, so we need to implement this in every derived class...
bool FlameModPage::shouldDisplay() const { return true; } auto FlameModPage::shouldDisplay() const -> bool { return true; }

View File

@ -9,17 +9,17 @@ class FlameModPage : public ModPage {
public: public:
explicit FlameModPage(ModDownloadDialog* dialog, BaseInstance* instance); explicit FlameModPage(ModDownloadDialog* dialog, BaseInstance* instance);
virtual ~FlameModPage() = default; ~FlameModPage() override = default;
inline QString displayName() const override { return tr("CurseForge"); } inline auto displayName() const -> QString override { return tr("CurseForge"); }
inline QIcon icon() const override { return APPLICATION->getThemedIcon("flame"); } inline auto icon() const -> QIcon override { return APPLICATION->getThemedIcon("flame"); }
inline QString id() const override { return "curseforge"; } inline auto id() const -> QString override { return "curseforge"; }
inline QString helpPage() const override { return "Flame-platform"; } inline auto helpPage() const -> QString override { return "Flame-platform"; }
inline QString debugName() const override { return tr("Flame"); } inline auto debugName() const -> QString override { return tr("Flame"); }
inline QString metaEntryBase() const override { return "FlameMods"; }; inline auto metaEntryBase() const -> QString override { return "FlameMods"; };
bool validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const override; auto validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const -> bool override;
bool shouldDisplay() const override; auto shouldDisplay() const -> bool override;
}; };

View File

@ -4,6 +4,7 @@
namespace Modrinth { namespace Modrinth {
// NOLINTNEXTLINE(modernize-avoid-c-arrays)
const char* ListModel::sorts[5]{ "relevance", "downloads", "follows", "updated", "newest" }; const char* ListModel::sorts[5]{ "relevance", "downloads", "follows", "updated", "newest" };
void ListModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) void ListModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj)
@ -16,7 +17,7 @@ void ListModel::loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray&
Modrinth::loadIndexedPackVersions(m, arr, APPLICATION->network(), m_parent->m_instance); Modrinth::loadIndexedPackVersions(m, arr, APPLICATION->network(), m_parent->m_instance);
} }
QJsonArray ListModel::documentToArray(QJsonDocument& obj) const auto ListModel::documentToArray(QJsonDocument& obj) const -> QJsonArray
{ {
return obj.object().value("hits").toArray(); return obj.object().value("hits").toArray();
} }

View File

@ -9,16 +9,17 @@ class ListModel : public ModPlatform::ListModel {
public: public:
ListModel(ModrinthPage* parent) : ModPlatform::ListModel(parent){}; ListModel(ModrinthPage* parent) : ModPlatform::ListModel(parent){};
virtual ~ListModel() = default; ~ListModel() override = default;
private: private:
void loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) override; void loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) override;
void loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr) override; void loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr) override;
QJsonArray documentToArray(QJsonDocument& obj) const override; auto documentToArray(QJsonDocument& obj) const -> QJsonArray override;
// NOLINTNEXTLINE(modernize-avoid-c-arrays)
static const char* sorts[5]; static const char* sorts[5];
inline const char** getSorts() const override { return sorts; }; inline auto getSorts() const -> const char** override { return sorts; };
}; };
} // namespace Modrinth } // namespace Modrinth

View File

@ -25,7 +25,7 @@ ModrinthPage::ModrinthPage(ModDownloadDialog* dialog, BaseInstance* instance)
connect(ui->modSelectionButton, &QPushButton::clicked, this, &ModrinthPage::onModSelected); connect(ui->modSelectionButton, &QPushButton::clicked, this, &ModrinthPage::onModSelected);
} }
bool ModrinthPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer) const auto ModrinthPage::validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer) const -> bool
{ {
return ver.mcVersion.contains(mineVer) && ver.loaders.contains(loaderVer); return ver.mcVersion.contains(mineVer) && ver.loaders.contains(loaderVer);
} }
@ -33,4 +33,4 @@ bool ModrinthPage::validateVersion(ModPlatform::IndexedVersion& ver, QString min
// I don't know why, but doing this on the parent class makes it so that // I don't know why, but doing this on the parent class makes it so that
// other mod providers start loading before being selected, at least with // other mod providers start loading before being selected, at least with
// my Qt, so we need to implement this in every derived class... // my Qt, so we need to implement this in every derived class...
bool ModrinthPage::shouldDisplay() const { return true; } auto ModrinthPage::shouldDisplay() const -> bool { return true; }

View File

@ -9,17 +9,17 @@ class ModrinthPage : public ModPage {
public: public:
explicit ModrinthPage(ModDownloadDialog* dialog, BaseInstance* instance); explicit ModrinthPage(ModDownloadDialog* dialog, BaseInstance* instance);
virtual ~ModrinthPage() = default; ~ModrinthPage() override = default;
inline QString displayName() const override { return tr("Modrinth"); } inline auto displayName() const -> QString override { return tr("Modrinth"); }
inline QIcon icon() const override { return APPLICATION->getThemedIcon("modrinth"); } inline auto icon() const -> QIcon override { return APPLICATION->getThemedIcon("modrinth"); }
inline QString id() const override { return "modrinth"; } inline auto id() const -> QString override { return "modrinth"; }
inline QString helpPage() const override { return "Modrinth-platform"; } inline auto helpPage() const -> QString override { return "Modrinth-platform"; }
inline QString debugName() const override { return tr("Modrinth"); } inline auto debugName() const -> QString override { return tr("Modrinth"); }
inline QString metaEntryBase() const override { return "ModrinthPacks"; }; inline auto metaEntryBase() const -> QString override { return "ModrinthPacks"; };
bool validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const override; auto validateVersion(ModPlatform::IndexedVersion& ver, QString mineVer, QString loaderVer = "") const -> bool override;
bool shouldDisplay() const override; auto shouldDisplay() const -> bool override;
}; };