mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-08-03 19:37:45 -04:00
chore: update link and sync with other providers changes
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
22dfeec865
commit
9359c4833d
@ -173,6 +173,7 @@ class Config {
|
||||
QString TRANSLATION_FILES_URL;
|
||||
|
||||
QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/";
|
||||
QString FTB_API_BASE_URL = "https://api.feed-the-beast.com/v1/modpacks/public";
|
||||
|
||||
QString LEGACY_FTB_CDN_BASE_URL = "https://dist.creeper.host/FTB2/";
|
||||
|
||||
|
@ -999,7 +999,6 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
|
||||
m_metacache->addBase("FTBPacks", QDir("cache/FTBPacks").absolutePath());
|
||||
m_metacache->addBase("TechnicPacks", QDir("cache/TechnicPacks").absolutePath());
|
||||
m_metacache->addBase("FlamePacks", QDir("cache/FlamePacks").absolutePath());
|
||||
m_metacache->addBase("ModpacksCHPacks", QDir("cache/ModpacksCHPacks").absolutePath());
|
||||
m_metacache->addBase("FlameMods", QDir("cache/FlameMods").absolutePath());
|
||||
m_metacache->addBase("ModrinthPacks", QDir("cache/ModrinthPacks").absolutePath());
|
||||
m_metacache->addBase("ModrinthModpacks", QDir("cache/ModrinthModpacks").absolutePath());
|
||||
|
@ -533,6 +533,11 @@ set(FTB_SOURCES
|
||||
modplatform/import_ftb/PackInstallTask.cpp
|
||||
modplatform/import_ftb/PackHelpers.h
|
||||
modplatform/import_ftb/PackHelpers.cpp
|
||||
|
||||
modplatform/ftb/FTBPackInstallTask.h
|
||||
modplatform/ftb/FTBPackInstallTask.cpp
|
||||
modplatform/ftb/FTBPackManifest.h
|
||||
modplatform/ftb/FTBPackManifest.cpp
|
||||
)
|
||||
|
||||
set(FLAME_SOURCES
|
||||
@ -566,13 +571,6 @@ set(MODRINTH_SOURCES
|
||||
modplatform/modrinth/ModrinthPackExportTask.h
|
||||
)
|
||||
|
||||
set(MODPACKSCH_SOURCES
|
||||
modplatform/modpacksch/FTBPackInstallTask.h
|
||||
modplatform/modpacksch/FTBPackInstallTask.cpp
|
||||
modplatform/modpacksch/FTBPackManifest.h
|
||||
modplatform/modpacksch/FTBPackManifest.cpp
|
||||
)
|
||||
|
||||
set(PACKWIZ_SOURCES
|
||||
modplatform/packwiz/Packwiz.h
|
||||
modplatform/packwiz/Packwiz.cpp
|
||||
@ -785,7 +783,6 @@ set(LOGIC_SOURCES
|
||||
${FTB_SOURCES}
|
||||
${FLAME_SOURCES}
|
||||
${MODRINTH_SOURCES}
|
||||
${MODPACKSCH_SOURCES}
|
||||
${PACKWIZ_SOURCES}
|
||||
${TECHNIC_SOURCES}
|
||||
${ATLAUNCHER_SOURCES}
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include "Json.h"
|
||||
#include "minecraft/MinecraftInstance.h"
|
||||
#include "minecraft/PackProfile.h"
|
||||
#include "modplatform/flame/FileResolvingTask.h"
|
||||
#include "modplatform/flame/PackManifest.h"
|
||||
#include "net/ChecksumValidator.h"
|
||||
#include "settings/INISettingsObject.h"
|
||||
@ -50,7 +51,7 @@
|
||||
#include "BuildConfig.h"
|
||||
#include "ui/dialogs/BlockedModsDialog.h"
|
||||
|
||||
namespace ModpacksCH {
|
||||
namespace FTB {
|
||||
|
||||
PackInstallTask::PackInstallTask(Modpack pack, QString version, QWidget* parent)
|
||||
: m_pack(std::move(pack)), m_versionName(std::move(version)), m_parent(parent)
|
||||
@ -78,7 +79,7 @@ void PackInstallTask::executeTask()
|
||||
|
||||
// Find pack version
|
||||
auto version_it = std::find_if(m_pack.versions.constBegin(), m_pack.versions.constEnd(),
|
||||
[this](ModpacksCH::VersionInfo const& a) { return a.name == m_versionName; });
|
||||
[this](FTB::VersionInfo const& a) { return a.name == m_versionName; });
|
||||
|
||||
if (version_it == m_pack.versions.constEnd()) {
|
||||
emitFailed(tr("Failed to find pack version %1").arg(m_versionName));
|
||||
@ -87,9 +88,9 @@ void PackInstallTask::executeTask()
|
||||
|
||||
auto version = *version_it;
|
||||
|
||||
auto netJob = makeShared<NetJob>("ModpacksCH::VersionFetch", APPLICATION->network());
|
||||
auto netJob = makeShared<NetJob>("FTB::VersionFetch", APPLICATION->network());
|
||||
|
||||
auto searchUrl = QString(BuildConfig.MODPACKSCH_API_BASE_URL + "public/modpack/%1/%2").arg(m_pack.id).arg(version.id);
|
||||
auto searchUrl = QString(BuildConfig.FTB_API_BASE_URL + "/modpack/%1/%2").arg(m_pack.id).arg(version.id);
|
||||
m_response.reset(new QByteArray());
|
||||
netJob->addNetAction(Net::Download::makeByteArray(QUrl(searchUrl), m_response));
|
||||
|
||||
@ -111,16 +112,15 @@ void PackInstallTask::onManifestDownloadSucceeded()
|
||||
QJsonParseError parse_error{};
|
||||
QJsonDocument doc = QJsonDocument::fromJson(*m_response, &parse_error);
|
||||
if (parse_error.error != QJsonParseError::NoError) {
|
||||
qWarning() << "Error while parsing JSON response from ModpacksCH at " << parse_error.offset
|
||||
<< " reason: " << parse_error.errorString();
|
||||
qWarning() << "Error while parsing JSON response from FTB at " << parse_error.offset << " reason: " << parse_error.errorString();
|
||||
qWarning() << *m_response;
|
||||
return;
|
||||
}
|
||||
|
||||
ModpacksCH::Version version;
|
||||
FTB::Version version;
|
||||
try {
|
||||
auto obj = Json::requireObject(doc);
|
||||
ModpacksCH::loadVersion(version, obj);
|
||||
FTB::loadVersion(version, obj);
|
||||
} catch (const JSONValidationError& e) {
|
||||
emitFailed(tr("Could not understand pack manifest:\n") + e.cause());
|
||||
return;
|
||||
@ -151,8 +151,6 @@ void PackInstallTask::resolveMods()
|
||||
flameFile.projectId = file.curseforge.project_id;
|
||||
flameFile.fileId = file.curseforge.file_id;
|
||||
|
||||
// flame_file.hash = file.sha1;
|
||||
|
||||
manifest.files.insert(flameFile.fileId, flameFile);
|
||||
m_fileIds.append(flameFile.fileId);
|
||||
} else {
|
||||
@ -160,7 +158,7 @@ void PackInstallTask::resolveMods()
|
||||
}
|
||||
}
|
||||
|
||||
m_modIdResolverTask.reset(new Flame::FileResolvingTask(APPLICATION->network(), manifest));
|
||||
m_modIdResolverTask.reset(new Flame::FileResolvingTask(manifest));
|
||||
|
||||
connect(m_modIdResolverTask.get(), &Flame::FileResolvingTask::succeeded, this, &PackInstallTask::onResolveModsSucceeded);
|
||||
connect(m_modIdResolverTask.get(), &Flame::FileResolvingTask::failed, this, &PackInstallTask::onResolveModsFailed);
|
||||
@ -279,7 +277,7 @@ void PackInstallTask::createInstance()
|
||||
|
||||
instance.setName(name());
|
||||
instance.setIconKey(m_instIcon);
|
||||
instance.setManagedPack("modpacksch", QString::number(m_pack.id), m_pack.name, QString::number(m_version.id), m_version.name);
|
||||
instance.setManagedPack("ftb", QString::number(m_pack.id), m_pack.name, QString::number(m_version.id), m_version.name);
|
||||
|
||||
instance.saveNow();
|
||||
|
||||
@ -385,4 +383,4 @@ void PackInstallTask::copyBlockedMods()
|
||||
setAbortable(true);
|
||||
}
|
||||
|
||||
} // namespace ModpacksCH
|
||||
} // namespace FTB
|
@ -47,7 +47,7 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace ModpacksCH {
|
||||
namespace FTB {
|
||||
|
||||
class PackInstallTask final : public InstanceTask {
|
||||
Q_OBJECT
|
||||
@ -97,4 +97,4 @@ class PackInstallTask final : public InstanceTask {
|
||||
QWidget* m_parent;
|
||||
};
|
||||
|
||||
} // namespace ModpacksCH
|
||||
} // namespace FTB
|
@ -38,20 +38,20 @@
|
||||
|
||||
#include "Json.h"
|
||||
|
||||
static void loadSpecs(ModpacksCH::Specs& s, QJsonObject& obj)
|
||||
static void loadSpecs(FTB::Specs& s, QJsonObject& obj)
|
||||
{
|
||||
s.id = Json::requireInteger(obj, "id");
|
||||
s.minimum = Json::requireInteger(obj, "minimum");
|
||||
s.recommended = Json::requireInteger(obj, "recommended");
|
||||
}
|
||||
|
||||
static void loadTag(ModpacksCH::Tag& t, QJsonObject& obj)
|
||||
static void loadTag(FTB::Tag& t, QJsonObject& obj)
|
||||
{
|
||||
t.id = Json::requireInteger(obj, "id");
|
||||
t.name = Json::requireString(obj, "name");
|
||||
}
|
||||
|
||||
static void loadArt(ModpacksCH::Art& a, QJsonObject& obj)
|
||||
static void loadArt(FTB::Art& a, QJsonObject& obj)
|
||||
{
|
||||
a.id = Json::requireInteger(obj, "id");
|
||||
a.url = Json::requireString(obj, "url");
|
||||
@ -60,11 +60,11 @@ static void loadArt(ModpacksCH::Art& a, QJsonObject& obj)
|
||||
a.height = Json::requireInteger(obj, "height");
|
||||
a.compressed = Json::requireBoolean(obj, "compressed");
|
||||
a.sha1 = Json::requireString(obj, "sha1");
|
||||
a.size = Json::requireInteger(obj, "size");
|
||||
a.size = Json::ensureInteger(obj, "size");
|
||||
a.updated = Json::requireInteger(obj, "updated");
|
||||
}
|
||||
|
||||
static void loadAuthor(ModpacksCH::Author& a, QJsonObject& obj)
|
||||
static void loadAuthor(FTB::Author& a, QJsonObject& obj)
|
||||
{
|
||||
a.id = Json::requireInteger(obj, "id");
|
||||
a.name = Json::requireString(obj, "name");
|
||||
@ -73,7 +73,7 @@ static void loadAuthor(ModpacksCH::Author& a, QJsonObject& obj)
|
||||
a.updated = Json::requireInteger(obj, "updated");
|
||||
}
|
||||
|
||||
static void loadVersionInfo(ModpacksCH::VersionInfo& v, QJsonObject& obj)
|
||||
static void loadVersionInfo(FTB::VersionInfo& v, QJsonObject& obj)
|
||||
{
|
||||
v.id = Json::requireInteger(obj, "id");
|
||||
v.name = Json::requireString(obj, "name");
|
||||
@ -83,7 +83,7 @@ static void loadVersionInfo(ModpacksCH::VersionInfo& v, QJsonObject& obj)
|
||||
loadSpecs(v.specs, specs);
|
||||
}
|
||||
|
||||
void ModpacksCH::loadModpack(ModpacksCH::Modpack& m, QJsonObject& obj)
|
||||
void FTB::loadModpack(FTB::Modpack& m, QJsonObject& obj)
|
||||
{
|
||||
m.id = Json::requireInteger(obj, "id");
|
||||
m.name = Json::requireString(obj, "name");
|
||||
@ -95,39 +95,39 @@ void ModpacksCH::loadModpack(ModpacksCH::Modpack& m, QJsonObject& obj)
|
||||
m.installs = Json::requireInteger(obj, "installs");
|
||||
m.plays = Json::requireInteger(obj, "plays");
|
||||
m.updated = Json::requireInteger(obj, "updated");
|
||||
m.refreshed = Json::requireInteger(obj, "refreshed");
|
||||
m.refreshed = Json::ensureInteger(obj, "refreshed");
|
||||
auto artArr = Json::requireArray(obj, "art");
|
||||
for (QJsonValueRef artRaw : artArr) {
|
||||
auto artObj = Json::requireObject(artRaw);
|
||||
ModpacksCH::Art art;
|
||||
FTB::Art art;
|
||||
loadArt(art, artObj);
|
||||
m.art.append(art);
|
||||
}
|
||||
auto authorArr = Json::requireArray(obj, "authors");
|
||||
for (QJsonValueRef authorRaw : authorArr) {
|
||||
auto authorObj = Json::requireObject(authorRaw);
|
||||
ModpacksCH::Author author;
|
||||
FTB::Author author;
|
||||
loadAuthor(author, authorObj);
|
||||
m.authors.append(author);
|
||||
}
|
||||
auto versionArr = Json::requireArray(obj, "versions");
|
||||
for (QJsonValueRef versionRaw : versionArr) {
|
||||
auto versionObj = Json::requireObject(versionRaw);
|
||||
ModpacksCH::VersionInfo version;
|
||||
FTB::VersionInfo version;
|
||||
loadVersionInfo(version, versionObj);
|
||||
m.versions.append(version);
|
||||
}
|
||||
auto tagArr = Json::requireArray(obj, "tags");
|
||||
for (QJsonValueRef tagRaw : tagArr) {
|
||||
auto tagObj = Json::requireObject(tagRaw);
|
||||
ModpacksCH::Tag tag;
|
||||
FTB::Tag tag;
|
||||
loadTag(tag, tagObj);
|
||||
m.tags.append(tag);
|
||||
}
|
||||
m.updated = Json::requireInteger(obj, "updated");
|
||||
}
|
||||
|
||||
static void loadVersionTarget(ModpacksCH::VersionTarget& a, QJsonObject& obj)
|
||||
static void loadVersionTarget(FTB::VersionTarget& a, QJsonObject& obj)
|
||||
{
|
||||
a.id = Json::requireInteger(obj, "id");
|
||||
a.name = Json::requireString(obj, "name");
|
||||
@ -136,7 +136,7 @@ static void loadVersionTarget(ModpacksCH::VersionTarget& a, QJsonObject& obj)
|
||||
a.updated = Json::requireInteger(obj, "updated");
|
||||
}
|
||||
|
||||
static void loadVersionFile(ModpacksCH::VersionFile& a, QJsonObject& obj)
|
||||
static void loadVersionFile(FTB::VersionFile& a, QJsonObject& obj)
|
||||
{
|
||||
a.id = Json::requireInteger(obj, "id");
|
||||
a.type = Json::requireString(obj, "type");
|
||||
@ -145,7 +145,7 @@ static void loadVersionFile(ModpacksCH::VersionFile& a, QJsonObject& obj)
|
||||
a.version = Json::requireString(obj, "version");
|
||||
a.url = Json::ensureString(obj, "url"); // optional
|
||||
a.sha1 = Json::requireString(obj, "sha1");
|
||||
a.size = Json::requireInteger(obj, "size");
|
||||
a.size = Json::ensureInteger(obj, "size");
|
||||
a.clientOnly = Json::requireBoolean(obj, "clientonly");
|
||||
a.serverOnly = Json::requireBoolean(obj, "serveronly");
|
||||
a.optional = Json::requireBoolean(obj, "optional");
|
||||
@ -155,7 +155,7 @@ static void loadVersionFile(ModpacksCH::VersionFile& a, QJsonObject& obj)
|
||||
a.curseforge.file_id = Json::ensureInteger(curseforgeObj, "file");
|
||||
}
|
||||
|
||||
void ModpacksCH::loadVersion(ModpacksCH::Version& m, QJsonObject& obj)
|
||||
void FTB::loadVersion(FTB::Version& m, QJsonObject& obj)
|
||||
{
|
||||
m.id = Json::requireInteger(obj, "id");
|
||||
m.parent = Json::requireInteger(obj, "parent");
|
||||
@ -164,20 +164,20 @@ void ModpacksCH::loadVersion(ModpacksCH::Version& m, QJsonObject& obj)
|
||||
m.installs = Json::requireInteger(obj, "installs");
|
||||
m.plays = Json::requireInteger(obj, "plays");
|
||||
m.updated = Json::requireInteger(obj, "updated");
|
||||
m.refreshed = Json::requireInteger(obj, "refreshed");
|
||||
m.refreshed = Json::ensureInteger(obj, "refreshed");
|
||||
auto specs = Json::requireObject(obj, "specs");
|
||||
loadSpecs(m.specs, specs);
|
||||
auto targetArr = Json::requireArray(obj, "targets");
|
||||
for (QJsonValueRef targetRaw : targetArr) {
|
||||
auto versionObj = Json::requireObject(targetRaw);
|
||||
ModpacksCH::VersionTarget target;
|
||||
FTB::VersionTarget target;
|
||||
loadVersionTarget(target, versionObj);
|
||||
m.targets.append(target);
|
||||
}
|
||||
auto fileArr = Json::requireArray(obj, "files");
|
||||
for (QJsonValueRef fileRaw : fileArr) {
|
||||
auto fileObj = Json::requireObject(fileRaw);
|
||||
ModpacksCH::VersionFile file;
|
||||
FTB::VersionFile file;
|
||||
loadVersionFile(file, fileObj);
|
||||
m.files.append(file);
|
||||
}
|
@ -42,7 +42,7 @@
|
||||
#include <QUrl>
|
||||
#include <QVector>
|
||||
|
||||
namespace ModpacksCH {
|
||||
namespace FTB {
|
||||
|
||||
struct Specs {
|
||||
int id;
|
||||
@ -152,6 +152,6 @@ struct VersionChangelog {
|
||||
void loadModpack(Modpack& m, QJsonObject& obj);
|
||||
|
||||
void loadVersion(Version& m, QJsonObject& obj);
|
||||
} // namespace ModpacksCH
|
||||
} // namespace FTB
|
||||
|
||||
Q_DECLARE_METATYPE(ModpacksCH::Modpack)
|
||||
Q_DECLARE_METATYPE(FTB::Modpack)
|
@ -18,7 +18,7 @@
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include "modplatform/modpacksch/FTBPackManifest.h"
|
||||
#include "modplatform/ftb/FTBPackManifest.h"
|
||||
|
||||
#include "StringUtils.h"
|
||||
|
||||
@ -66,14 +66,14 @@ bool FilterModel::filterAcceptsRow(int sourceRow, const QModelIndex& sourceParen
|
||||
}
|
||||
|
||||
auto index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
auto pack = sourceModel()->data(index, Qt::UserRole).value<ModpacksCH::Modpack>();
|
||||
auto pack = sourceModel()->data(index, Qt::UserRole).value<FTB::Modpack>();
|
||||
return pack.name.contains(m_searchTerm, Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
bool FilterModel::lessThan(const QModelIndex& left, const QModelIndex& right) const
|
||||
{
|
||||
ModpacksCH::Modpack leftPack = sourceModel()->data(left, Qt::UserRole).value<ModpacksCH::Modpack>();
|
||||
ModpacksCH::Modpack rightPack = sourceModel()->data(right, Qt::UserRole).value<ModpacksCH::Modpack>();
|
||||
FTB::Modpack leftPack = sourceModel()->data(left, Qt::UserRole).value<FTB::Modpack>();
|
||||
FTB::Modpack rightPack = sourceModel()->data(right, Qt::UserRole).value<FTB::Modpack>();
|
||||
|
||||
if (m_currentSorting == ByPlays) {
|
||||
return leftPack.plays < rightPack.plays;
|
||||
|
@ -45,7 +45,7 @@ QVariant ListModel::data(const QModelIndex& index, int role) const
|
||||
return QString("INVALID INDEX %1").arg(pos);
|
||||
}
|
||||
|
||||
ModpacksCH::Modpack pack = m_modpacks.at(pos);
|
||||
FTB::Modpack pack = m_modpacks.at(pos);
|
||||
if (role == Qt::DisplayRole) {
|
||||
return pack.name;
|
||||
} else if (role == Qt::ToolTipRole) {
|
||||
@ -80,7 +80,7 @@ QVariant ListModel::data(const QModelIndex& index, int role) const
|
||||
void ListModel::getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback)
|
||||
{
|
||||
if (m_logoMap.contains(logo)) {
|
||||
callback(APPLICATION->metacache()->resolveEntry("ModpacksCHPacks", QString("logos/%1").arg(logo))->getFullPath());
|
||||
callback(APPLICATION->metacache()->resolveEntry("FTBPacks", QString("logos/%1").arg(logo))->getFullPath());
|
||||
} else {
|
||||
requestLogo(logo, logoUrl);
|
||||
}
|
||||
@ -95,7 +95,7 @@ void ListModel::request()
|
||||
endResetModel();
|
||||
|
||||
auto netJob = makeShared<NetJob>("Ftb::Request", APPLICATION->network());
|
||||
auto url = QString(BuildConfig.MODPACKSCH_API_BASE_URL + "public/modpack/all");
|
||||
auto url = QString(BuildConfig.FTB_API_BASE_URL + "/modpack/all");
|
||||
m_response.reset(new QByteArray());
|
||||
netJob->addNetAction(Net::Download::makeByteArray(QUrl(url), m_response));
|
||||
m_jobPtr = netJob;
|
||||
@ -119,8 +119,7 @@ void ListModel::requestFinished()
|
||||
QJsonParseError parse_error{};
|
||||
QJsonDocument doc = QJsonDocument::fromJson(*m_response, &parse_error);
|
||||
if (parse_error.error != QJsonParseError::NoError) {
|
||||
qWarning() << "Error while parsing JSON response from ModpacksCH at " << parse_error.offset
|
||||
<< " reason: " << parse_error.errorString();
|
||||
qWarning() << "Error while parsing JSON response from FTB at " << parse_error.offset << " reason: " << parse_error.errorString();
|
||||
qWarning() << *m_response;
|
||||
return;
|
||||
}
|
||||
@ -146,7 +145,7 @@ void ListModel::requestFailed(QString)
|
||||
void ListModel::requestPack()
|
||||
{
|
||||
auto netJob = makeShared<NetJob>("Ftb::Search", APPLICATION->network());
|
||||
auto searchUrl = QString(BuildConfig.MODPACKSCH_API_BASE_URL + "public/modpack/%1").arg(m_currentPack);
|
||||
auto searchUrl = QString(BuildConfig.FTB_API_BASE_URL + "/modpack/%1").arg(m_currentPack);
|
||||
m_response.reset(new QByteArray());
|
||||
netJob->addNetAction(Net::Download::makeByteArray(QUrl(searchUrl), m_response));
|
||||
m_jobPtr = netJob;
|
||||
@ -168,27 +167,26 @@ void ListModel::packRequestFinished()
|
||||
QJsonDocument doc = QJsonDocument::fromJson(*m_response, &parse_error);
|
||||
|
||||
if (parse_error.error != QJsonParseError::NoError) {
|
||||
qWarning() << "Error while parsing JSON response from ModpacksCH at " << parse_error.offset
|
||||
<< " reason: " << parse_error.errorString();
|
||||
qWarning() << "Error while parsing JSON response from FTB at " << parse_error.offset << " reason: " << parse_error.errorString();
|
||||
qWarning() << *m_response;
|
||||
return;
|
||||
}
|
||||
|
||||
auto obj = doc.object();
|
||||
|
||||
ModpacksCH::Modpack pack;
|
||||
FTB::Modpack pack;
|
||||
try {
|
||||
ModpacksCH::loadModpack(pack, obj);
|
||||
FTB::loadModpack(pack, obj);
|
||||
} catch (const JSONValidationError& e) {
|
||||
qDebug() << QString::fromUtf8(*m_response);
|
||||
qWarning() << "Error while reading pack manifest from ModpacksCH: " << e.cause();
|
||||
qWarning() << "Error while reading pack manifest from FTB: " << e.cause();
|
||||
return;
|
||||
}
|
||||
|
||||
// Since there is no guarantee that packs have a version, this will just
|
||||
// ignore those "dud" packs.
|
||||
if (pack.versions.empty()) {
|
||||
qWarning() << "ModpacksCH Pack " << pack.id << " ignored. reason: lacking any versions";
|
||||
qWarning() << "FTB Pack " << pack.id << " ignored. reason: lacking any versions";
|
||||
} else {
|
||||
beginInsertRows(QModelIndex(), m_modpacks.size(), m_modpacks.size());
|
||||
m_modpacks.append(pack);
|
||||
@ -231,9 +229,9 @@ void ListModel::requestLogo(QString logo, QString url)
|
||||
return;
|
||||
}
|
||||
|
||||
MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("ModpacksCHPacks", QString("logos/%1").arg(logo));
|
||||
MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("FTBPacks", QString("logos/%1").arg(logo));
|
||||
|
||||
auto job = makeShared<NetJob>(QString("ModpacksCH Icon Download %1").arg(logo), APPLICATION->network());
|
||||
auto job = makeShared<NetJob>(QString("FTB Icon Download %1").arg(logo), APPLICATION->network());
|
||||
job->setAskRetry(false);
|
||||
job->addNetAction(Net::Download::makeCached(QUrl(url), entry));
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <QAbstractListModel>
|
||||
|
||||
#include <QIcon>
|
||||
#include "modplatform/modpacksch/FTBPackManifest.h"
|
||||
#include "modplatform/ftb/FTBPackManifest.h"
|
||||
#include "net/NetJob.h"
|
||||
|
||||
namespace Ftb {
|
||||
@ -31,8 +31,8 @@ struct Logo {
|
||||
bool failed = false;
|
||||
};
|
||||
|
||||
typedef QMap<QString, Logo> LogoMap;
|
||||
typedef std::function<void(QString)> LogoCallback;
|
||||
using LogoMap = QMap<QString, Logo>;
|
||||
using LogoCallback = std::function<void(QString)>;
|
||||
|
||||
class ListModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
@ -70,7 +70,7 @@ class ListModel : public QAbstractListModel {
|
||||
private:
|
||||
bool m_aborted = false;
|
||||
|
||||
QList<ModpacksCH::Modpack> m_modpacks;
|
||||
QList<FTB::Modpack> m_modpacks;
|
||||
LogoMap m_logoMap;
|
||||
|
||||
NetJob::Ptr m_jobPtr;
|
||||
|
@ -40,7 +40,7 @@
|
||||
|
||||
#include <QKeyEvent>
|
||||
|
||||
#include "modplatform/modpacksch/FTBPackInstallTask.h"
|
||||
#include "modplatform/ftb/FTBPackInstallTask.h"
|
||||
#include "ui/dialogs/NewInstanceDialog.h"
|
||||
|
||||
#include "Markdown.h"
|
||||
@ -130,7 +130,7 @@ void FtbPage::suggestCurrent()
|
||||
return;
|
||||
}
|
||||
|
||||
m_dialog->setSuggestedPack(m_selected.name, m_selectedVersion, new ModpacksCH::PackInstallTask(m_selected, m_selectedVersion, this));
|
||||
m_dialog->setSuggestedPack(m_selected.name, m_selectedVersion, new FTB::PackInstallTask(m_selected, m_selectedVersion, this));
|
||||
for (auto art : m_selected.art) {
|
||||
if (art.type == "square") {
|
||||
auto editedLogoName = "ftb_" + m_selected.safeName;
|
||||
@ -162,7 +162,7 @@ void FtbPage::onSelectionChanged(QModelIndex first, QModelIndex second)
|
||||
return;
|
||||
}
|
||||
|
||||
m_selected = m_filterModel->data(first, Qt::UserRole).value<ModpacksCH::Modpack>();
|
||||
m_selected = m_filterModel->data(first, Qt::UserRole).value<FTB::Modpack>();
|
||||
|
||||
QString output = markdownToHTML(m_selected.description.toUtf8());
|
||||
m_ui->packDescription->setHtml(output);
|
||||
@ -185,3 +185,13 @@ void FtbPage::onVersionSelectionChanged(QString data)
|
||||
m_selectedVersion = data;
|
||||
suggestCurrent();
|
||||
}
|
||||
|
||||
QString FtbPage::getSerachTerm() const
|
||||
{
|
||||
return m_ui->searchEdit->text();
|
||||
}
|
||||
|
||||
void FtbPage::setSearchTerm(QString term)
|
||||
{
|
||||
m_ui->searchEdit->setText(term);
|
||||
}
|
@ -43,6 +43,7 @@
|
||||
#include "Application.h"
|
||||
#include "tasks/Task.h"
|
||||
#include "ui/pages/BasePage.h"
|
||||
#include "ui/pages/modplatform/ModpackProviderBasePage.h"
|
||||
|
||||
namespace Ui {
|
||||
class FtbPage;
|
||||
@ -50,7 +51,7 @@ class FtbPage;
|
||||
|
||||
class NewInstanceDialog;
|
||||
|
||||
class FtbPage : public QWidget, public BasePage {
|
||||
class FtbPage : public QWidget, public ModpackProviderBasePage {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
@ -68,6 +69,11 @@ class FtbPage : public QWidget, public BasePage {
|
||||
|
||||
bool eventFilter(QObject* watched, QEvent* event) override;
|
||||
|
||||
/** Programatically set the term in the search bar. */
|
||||
virtual void setSearchTerm(QString) override;
|
||||
/** Get the current term in the search bar. */
|
||||
[[nodiscard]] virtual QString getSerachTerm() const override;
|
||||
|
||||
private:
|
||||
void suggestCurrent();
|
||||
|
||||
@ -84,7 +90,7 @@ class FtbPage : public QWidget, public BasePage {
|
||||
Ftb::ListModel* m_listModel = nullptr;
|
||||
Ftb::FilterModel* m_filterModel = nullptr;
|
||||
|
||||
ModpacksCH::Modpack m_selected;
|
||||
FTB::Modpack m_selected;
|
||||
QString m_selectedVersion;
|
||||
|
||||
bool m_initialised{ false };
|
||||
|
Loading…
x
Reference in New Issue
Block a user