refactor: Use a single indexed pack for mods
Since there's little difference between them, let's remove duplication and merge them.
This commit is contained in:
@ -39,7 +39,7 @@ QVariant ListModel::data(const QModelIndex &index, int role) const
|
||||
return QString("INVALID INDEX %1").arg(pos);
|
||||
}
|
||||
|
||||
IndexedPack pack = modpacks.at(pos);
|
||||
ModPlatform::IndexedPack pack = modpacks.at(pos);
|
||||
if(role == Qt::DisplayRole)
|
||||
{
|
||||
return pack.name;
|
||||
@ -225,12 +225,12 @@ void ListModel::searchRequestFinished()
|
||||
return;
|
||||
}
|
||||
|
||||
QList<FlameMod::IndexedPack> newList;
|
||||
QList<ModPlatform::IndexedPack> newList;
|
||||
auto packs = doc.array();
|
||||
for(auto packRaw : packs) {
|
||||
auto packObj = packRaw.toObject();
|
||||
|
||||
FlameMod::IndexedPack pack;
|
||||
ModPlatform::IndexedPack pack;
|
||||
try
|
||||
{
|
||||
FlameMod::loadIndexedPack(pack, packObj);
|
||||
|
@ -57,7 +57,7 @@ private:
|
||||
void requestLogo(QString file, QString url);
|
||||
|
||||
private:
|
||||
QList<IndexedPack> modpacks;
|
||||
QList<ModPlatform::IndexedPack> modpacks;
|
||||
QStringList m_failedLogos;
|
||||
QStringList m_loadingLogos;
|
||||
LogoMap m_logoMap;
|
||||
|
@ -77,7 +77,7 @@ void FlameModPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
return;
|
||||
}
|
||||
|
||||
current = listModel->data(first, Qt::UserRole).value<FlameMod::IndexedPack>();
|
||||
current = listModel->data(first, Qt::UserRole).value<ModPlatform::IndexedPack>();
|
||||
QString text = "";
|
||||
QString name = current.name;
|
||||
|
||||
@ -86,7 +86,7 @@ void FlameModPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
else
|
||||
text = "<a href=\"" + current.websiteUrl + "\">" + name + "</a>";
|
||||
if (!current.authors.empty()) {
|
||||
auto authorToStr = [](FlameMod::ModpackAuthor &author) {
|
||||
auto authorToStr = [](ModPlatform::ModpackAuthor &author) {
|
||||
if (author.url.isEmpty()) {
|
||||
return author.name;
|
||||
}
|
||||
@ -112,7 +112,7 @@ void FlameModPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
new NetJob(QString("Flame::ModVersions(%1)").arg(current.name),
|
||||
APPLICATION->network());
|
||||
auto response = new QByteArray();
|
||||
int addonId = current.addonId;
|
||||
int addonId = current.addonId.toInt();
|
||||
netJob->addNetAction(Net::Download::makeByteArray(
|
||||
QString("https://addons-ecs.forgesvc.net/api/v2/addon/%1/files")
|
||||
.arg(addonId),
|
||||
|
@ -62,7 +62,7 @@ private:
|
||||
Ui::FlameModPage *ui = nullptr;
|
||||
ModDownloadDialog* dialog = nullptr;
|
||||
FlameMod::ListModel* listModel = nullptr;
|
||||
FlameMod::IndexedPack current;
|
||||
ModPlatform::IndexedPack current;
|
||||
|
||||
int selectedVersion = -1;
|
||||
};
|
||||
|
@ -41,7 +41,7 @@ QVariant ListModel::data(const QModelIndex &index, int role) const
|
||||
return QString("INVALID INDEX %1").arg(pos);
|
||||
}
|
||||
|
||||
IndexedPack pack = modpacks.at(pos);
|
||||
ModPlatform::IndexedPack pack = modpacks.at(pos);
|
||||
if(role == Qt::DisplayRole)
|
||||
{
|
||||
return pack.name;
|
||||
@ -222,12 +222,12 @@ void Modrinth::ListModel::searchRequestFinished()
|
||||
return;
|
||||
}
|
||||
|
||||
QList<Modrinth::IndexedPack> newList;
|
||||
QList<ModPlatform::IndexedPack> newList;
|
||||
auto packs = doc.object().value("hits").toArray();
|
||||
for(auto packRaw : packs) {
|
||||
auto packObj = packRaw.toObject();
|
||||
|
||||
Modrinth::IndexedPack pack;
|
||||
ModPlatform::IndexedPack pack;
|
||||
try
|
||||
{
|
||||
Modrinth::loadIndexedPack(pack, packObj);
|
||||
|
@ -57,7 +57,7 @@ private:
|
||||
void requestLogo(QString file, QString url);
|
||||
|
||||
private:
|
||||
QList<IndexedPack> modpacks;
|
||||
QList<ModPlatform::IndexedPack> modpacks;
|
||||
QStringList m_failedLogos;
|
||||
QStringList m_loadingLogos;
|
||||
LogoMap m_logoMap;
|
||||
|
@ -76,7 +76,7 @@ void ModrinthPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
return;
|
||||
}
|
||||
|
||||
current = listModel->data(first, Qt::UserRole).value<Modrinth::IndexedPack>();
|
||||
current = listModel->data(first, Qt::UserRole).value<ModPlatform::IndexedPack>();
|
||||
QString text = "";
|
||||
QString name = current.name;
|
||||
|
||||
@ -84,8 +84,8 @@ void ModrinthPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
text = name;
|
||||
else
|
||||
text = "<a href=\"" + current.websiteUrl + "\">" + name + "</a>";
|
||||
text += "<br>" + tr(" by ") + "<a href=\"" + current.author.url + "\">" +
|
||||
current.author.name + "</a><br><br>";
|
||||
text += "<br>" + tr(" by ") + "<a href=\"" + current.authors[0].url + "\">" +
|
||||
current.authors[0].name + "</a><br><br>";
|
||||
ui->packDescription->setHtml(text + current.description);
|
||||
|
||||
if (!current.versionsLoaded) {
|
||||
@ -98,7 +98,7 @@ void ModrinthPage::onSelectionChanged(QModelIndex first, QModelIndex second) {
|
||||
new NetJob(QString("Modrinth::ModVersions(%1)").arg(current.name),
|
||||
APPLICATION->network());
|
||||
auto response = new QByteArray();
|
||||
QString addonId = current.addonId;
|
||||
QString addonId = current.addonId.toString();
|
||||
netJob->addNetAction(Net::Download::makeByteArray(
|
||||
QString("https://api.modrinth.com/v2/project/%1/version").arg(addonId),
|
||||
response));
|
||||
|
@ -62,7 +62,7 @@ private:
|
||||
Ui::ModrinthPage *ui = nullptr;
|
||||
ModDownloadDialog* dialog = nullptr;
|
||||
Modrinth::ListModel* listModel = nullptr;
|
||||
Modrinth::IndexedPack current;
|
||||
ModPlatform::IndexedPack current;
|
||||
|
||||
int selectedVersion = -1;
|
||||
};
|
||||
|
Reference in New Issue
Block a user