refactor(ManagedPackPage): use smart pointers instead of raw ones
Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
parent
feb6f285ce
commit
089018015a
@ -179,14 +179,17 @@ void ModrinthManagedPackPage::parseManagedPack()
|
|||||||
{
|
{
|
||||||
qDebug() << "Parsing Modrinth pack";
|
qDebug() << "Parsing Modrinth pack";
|
||||||
|
|
||||||
auto netJob = new NetJob(QString("Modrinth::PackVersions(%1)").arg(m_inst->getManagedPackName()), APPLICATION->network());
|
if (m_fetch_job && m_fetch_job->isRunning())
|
||||||
auto response = new QByteArray();
|
m_fetch_job->abort();
|
||||||
|
|
||||||
|
m_fetch_job.reset(new NetJob(QString("Modrinth::PackVersions(%1)").arg(m_inst->getManagedPackName()), APPLICATION->network()));
|
||||||
|
auto response = std::make_shared<QByteArray>();
|
||||||
|
|
||||||
QString id = m_inst->getManagedPackID();
|
QString id = m_inst->getManagedPackID();
|
||||||
|
|
||||||
netJob->addNetAction(Net::Download::makeByteArray(QString("%1/project/%2/version").arg(BuildConfig.MODRINTH_PROD_URL, id), response));
|
m_fetch_job->addNetAction(Net::Download::makeByteArray(QString("%1/project/%2/version").arg(BuildConfig.MODRINTH_PROD_URL, id), response.get()));
|
||||||
|
|
||||||
QObject::connect(netJob, &NetJob::succeeded, this, [this, response, id] {
|
QObject::connect(m_fetch_job.get(), &NetJob::succeeded, this, [this, response, id] {
|
||||||
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) {
|
||||||
@ -234,16 +237,12 @@ void ModrinthManagedPackPage::parseManagedPack()
|
|||||||
|
|
||||||
m_loaded = true;
|
m_loaded = true;
|
||||||
});
|
});
|
||||||
QObject::connect(netJob, &NetJob::failed, this, &ModrinthManagedPackPage::setFailState);
|
QObject::connect(m_fetch_job.get(), &NetJob::failed, this, &ModrinthManagedPackPage::setFailState);
|
||||||
QObject::connect(netJob, &NetJob::aborted, this, &ModrinthManagedPackPage::setFailState);
|
QObject::connect(m_fetch_job.get(), &NetJob::aborted, this, &ModrinthManagedPackPage::setFailState);
|
||||||
QObject::connect(netJob, &NetJob::finished, this, [response, netJob] {
|
|
||||||
netJob->deleteLater();
|
|
||||||
delete response;
|
|
||||||
});
|
|
||||||
|
|
||||||
ui->changelogTextBrowser->setText(tr("Fetching changelogs..."));
|
ui->changelogTextBrowser->setText(tr("Fetching changelogs..."));
|
||||||
|
|
||||||
netJob->start();
|
m_fetch_job->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ModrinthManagedPackPage::url() const
|
QString ModrinthManagedPackPage::url() const
|
||||||
@ -319,14 +318,17 @@ void FlameManagedPackPage::parseManagedPack()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto netJob = new NetJob(QString("Flame::PackVersions(%1)").arg(m_inst->getManagedPackName()), APPLICATION->network());
|
if (m_fetch_job && m_fetch_job->isRunning())
|
||||||
auto response = new QByteArray();
|
m_fetch_job->abort();
|
||||||
|
|
||||||
|
m_fetch_job.reset(new NetJob(QString("Flame::PackVersions(%1)").arg(m_inst->getManagedPackName()), APPLICATION->network()));
|
||||||
|
auto response = std::make_shared<QByteArray>();
|
||||||
|
|
||||||
QString id = m_inst->getManagedPackID();
|
QString id = m_inst->getManagedPackID();
|
||||||
|
|
||||||
netJob->addNetAction(Net::Download::makeByteArray(QString("%1/mods/%2/files").arg(BuildConfig.FLAME_BASE_URL, id), response));
|
m_fetch_job->addNetAction(Net::Download::makeByteArray(QString("%1/mods/%2/files").arg(BuildConfig.FLAME_BASE_URL, id), response.get()));
|
||||||
|
|
||||||
QObject::connect(netJob, &NetJob::succeeded, this, [this, response, id] {
|
QObject::connect(m_fetch_job.get(), &NetJob::succeeded, this, [this, response, id] {
|
||||||
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) {
|
||||||
@ -371,14 +373,10 @@ void FlameManagedPackPage::parseManagedPack()
|
|||||||
|
|
||||||
m_loaded = true;
|
m_loaded = true;
|
||||||
});
|
});
|
||||||
QObject::connect(netJob, &NetJob::failed, this, &FlameManagedPackPage::setFailState);
|
QObject::connect(m_fetch_job.get(), &NetJob::failed, this, &FlameManagedPackPage::setFailState);
|
||||||
QObject::connect(netJob, &NetJob::aborted, this, &FlameManagedPackPage::setFailState);
|
QObject::connect(m_fetch_job.get(), &NetJob::aborted, this, &FlameManagedPackPage::setFailState);
|
||||||
QObject::connect(netJob, &NetJob::finished, this, [response, netJob] {
|
|
||||||
netJob->deleteLater();
|
|
||||||
delete response;
|
|
||||||
});
|
|
||||||
|
|
||||||
netJob->start();
|
m_fetch_job->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FlameManagedPackPage::url() const
|
QString FlameManagedPackPage::url() const
|
||||||
|
@ -123,6 +123,8 @@ class ModrinthManagedPackPage final : public ManagedPackPage {
|
|||||||
void update() override;
|
void update() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
NetJob::Ptr m_fetch_job = nullptr;
|
||||||
|
|
||||||
Modrinth::Modpack m_pack;
|
Modrinth::Modpack m_pack;
|
||||||
ModrinthAPI m_api;
|
ModrinthAPI m_api;
|
||||||
};
|
};
|
||||||
@ -143,6 +145,8 @@ class FlameManagedPackPage final : public ManagedPackPage {
|
|||||||
void update() override;
|
void update() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
NetJob::Ptr m_fetch_job = nullptr;
|
||||||
|
|
||||||
Flame::IndexedPack m_pack;
|
Flame::IndexedPack m_pack;
|
||||||
FlameAPI m_api;
|
FlameAPI m_api;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user