chore(clang-tidy): modernize the code

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2026-05-11 23:16:39 +03:00
parent 18f04b1e29
commit 9c88eb9bc0
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318
36 changed files with 713 additions and 632 deletions

View file

@ -20,30 +20,35 @@
#include <QJsonDocument>
#include <QJsonObject>
namespace ExportToModList {
QString toHTML(QList<Mod*> mods, OptionalData extraData)
namespace {
QString toHTML(const QList<Mod*>& mods, ExportToModList::OptionalData extraData)
{
QStringList lines;
for (auto mod : mods) {
for (auto* mod : mods) {
auto meta = mod->metadata();
auto modName = mod->name().toHtmlEscaped();
if (extraData & Url) {
if ((extraData & ExportToModList::Url) != 0) {
auto url = mod->homepage().toHtmlEscaped();
if (!url.isEmpty())
if (!url.isEmpty()) {
modName = QString("<a href=\"%1\">%2</a>").arg(url, modName);
}
}
auto line = modName;
if (extraData & Version) {
if ((extraData & ExportToModList::Version) != 0) {
auto ver = mod->version();
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = meta->version().toString();
if (!ver.isEmpty())
}
if (!ver.isEmpty()) {
line += QString(" [%1]").arg(ver.toHtmlEscaped());
}
}
if (extraData & Authors && !mod->authors().isEmpty())
if (((extraData & ExportToModList::Authors) != 0) && !mod->authors().isEmpty()) {
line += " by " + mod->authors().join(", ").toHtmlEscaped();
if (extraData & FileName)
}
if ((extraData & ExportToModList::FileName) != 0) {
line += QString(" (%1)").arg(mod->fileinfo().fileName().toHtmlEscaped());
}
lines.append(QString("<li>%1</li>").arg(line));
}
@ -52,93 +57,109 @@ QString toHTML(QList<Mod*> mods, OptionalData extraData)
QString toMarkdownEscaped(QString src)
{
for (auto ch : "\\`*_{}[]<>()#+-.!|")
for (auto ch : "\\`*_{}[]<>()#+-.!|") {
src.replace(ch, QString("\\%1").arg(ch));
}
return src;
}
QString toMarkdown(QList<Mod*> mods, OptionalData extraData)
QString toMarkdown(const QList<Mod*>& mods, ExportToModList::OptionalData extraData)
{
QStringList lines;
for (auto mod : mods) {
for (auto* mod : mods) {
auto meta = mod->metadata();
auto modName = toMarkdownEscaped(mod->name());
if (extraData & Url) {
if ((extraData & ExportToModList::Url) != 0) {
auto url = mod->homepage();
if (!url.isEmpty())
if (!url.isEmpty()) {
modName = QString("[%1](%2)").arg(modName, url);
}
}
auto line = modName;
if (extraData & Version) {
if ((extraData & ExportToModList::Version) != 0) {
auto ver = toMarkdownEscaped(mod->version());
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = toMarkdownEscaped(meta->version().toString());
if (!ver.isEmpty())
}
if (!ver.isEmpty()) {
line += QString(" [%1]").arg(ver);
}
}
if (extraData & Authors && !mod->authors().isEmpty())
if (((extraData & ExportToModList::Authors) != 0) && !mod->authors().isEmpty()) {
line += " by " + toMarkdownEscaped(mod->authors().join(", "));
if (extraData & FileName)
}
if ((extraData & ExportToModList::FileName) != 0) {
line += QString(" (%1)").arg(toMarkdownEscaped(mod->fileinfo().fileName()));
}
lines << "- " + line;
}
return lines.join("\n");
}
QString toPlainTXT(QList<Mod*> mods, OptionalData extraData)
QString toPlainTXT(const QList<Mod*>& mods, ExportToModList::OptionalData extraData)
{
QStringList lines;
for (auto mod : mods) {
for (auto* mod : mods) {
auto meta = mod->metadata();
auto modName = mod->name();
auto line = modName;
if (extraData & Url) {
if ((extraData & ExportToModList::Url) != 0) {
auto url = mod->homepage();
if (!url.isEmpty())
if (!url.isEmpty()) {
line += QString(" (%1)").arg(url);
}
}
if (extraData & Version) {
if ((extraData & ExportToModList::Version) != 0) {
auto ver = mod->version();
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = meta->version().toString();
if (!ver.isEmpty())
}
if (!ver.isEmpty()) {
line += QString(" [%1]").arg(ver);
}
}
if (extraData & Authors && !mod->authors().isEmpty())
if (((extraData & ExportToModList::Authors) != 0) && !mod->authors().isEmpty()) {
line += " by " + mod->authors().join(", ");
if (extraData & FileName)
}
if ((extraData & ExportToModList::FileName) != 0) {
line += QString(" (%1)").arg(mod->fileinfo().fileName());
}
lines << line;
}
return lines.join("\n");
}
QString toJSON(QList<Mod*> mods, OptionalData extraData)
QString toJSON(const QList<Mod*>& mods, ExportToModList::OptionalData extraData)
{
QJsonArray lines;
for (auto mod : mods) {
for (auto* mod : mods) {
auto meta = mod->metadata();
auto modName = mod->name();
QJsonObject line;
line["name"] = modName;
if (extraData & Url) {
if ((extraData & ExportToModList::Url) != 0) {
auto url = mod->homepage();
if (!url.isEmpty())
if (!url.isEmpty()) {
line["url"] = url;
}
}
if (extraData & Version) {
if ((extraData & ExportToModList::Version) != 0) {
auto ver = mod->version();
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = meta->version().toString();
if (!ver.isEmpty())
}
if (!ver.isEmpty()) {
line["version"] = ver;
}
}
if (extraData & Authors && !mod->authors().isEmpty())
if (((extraData & ExportToModList::Authors) != 0) && !mod->authors().isEmpty()) {
line["authors"] = QJsonArray::fromStringList(mod->authors());
if (extraData & FileName)
}
if ((extraData & ExportToModList::FileName) != 0) {
line["filename"] = mod->fileinfo().fileName();
}
lines << line;
}
QJsonDocument doc;
@ -146,39 +167,45 @@ QString toJSON(QList<Mod*> mods, OptionalData extraData)
return doc.toJson();
}
QString toCSV(QList<Mod*> mods, OptionalData extraData)
QString toCSV(const QList<Mod*>& mods, ExportToModList::OptionalData extraData)
{
QStringList lines;
for (auto mod : mods) {
for (auto* mod : mods) {
QStringList data;
auto meta = mod->metadata();
auto modName = mod->name();
data << modName;
if (extraData & Url)
if ((extraData & ExportToModList::Url) != 0) {
data << mod->homepage();
if (extraData & Version) {
}
if ((extraData & ExportToModList::Version) != 0) {
auto ver = mod->version();
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = meta->version().toString();
}
data << ver;
}
if (extraData & Authors) {
if ((extraData & ExportToModList::Authors) != 0) {
QString authors;
if (mod->authors().length() == 1)
if (mod->authors().length() == 1) {
authors = mod->authors().back();
else if (mod->authors().length() > 1)
} else if (mod->authors().length() > 1) {
authors = QString("\"%1\"").arg(mod->authors().join(","));
}
data << authors;
}
if (extraData & FileName)
if ((extraData & ExportToModList::FileName) != 0) {
data << mod->fileinfo().fileName();
}
lines << data.join(",");
}
return lines.join("\n");
}
} // namespace
namespace ExportToModList {
QString exportToModList(QList<Mod*> mods, Formats format, OptionalData extraData)
QString exportToModList(const QList<Mod*>& mods, Formats format, OptionalData extraData)
{
switch (format) {
case HTML:
@ -197,17 +224,18 @@ QString exportToModList(QList<Mod*> mods, Formats format, OptionalData extraData
}
}
QString exportToModList(QList<Mod*> mods, QString lineTemplate)
QString exportToModList(const QList<Mod*>& mods, const QString& lineTemplate)
{
QStringList lines;
for (auto mod : mods) {
for (auto* mod : mods) {
auto meta = mod->metadata();
auto modName = mod->name();
auto modID = mod->mod_id();
auto modID = mod->modId();
auto url = mod->homepage();
auto ver = mod->version();
if (ver.isEmpty() && meta != nullptr)
if (ver.isEmpty() && meta != nullptr) {
ver = meta->version().toString();
}
auto authors = mod->authors().join(", ");
auto filename = mod->fileinfo().fileName();
lines << QString(lineTemplate)