aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/modplatform/technic
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2023-08-14 18:16:53 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2023-08-14 18:16:53 +0200
commit91ba4cf75ee30c64779edb5b7644e5a830de5026 (patch)
treeaa8c2433bfc3a54577aceeb706c4c2cd0986c95d /launcher/ui/pages/modplatform/technic
parent779f70057b021e285afd60cc650a14cd5feacffd (diff)
downloadPrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.tar.gz
PrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.tar.bz2
PrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.zip
chore: reformat
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'launcher/ui/pages/modplatform/technic')
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicData.h2
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicPage.cpp89
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicPage.h44
3 files changed, 55 insertions, 80 deletions
diff --git a/launcher/ui/pages/modplatform/technic/TechnicData.h b/launcher/ui/pages/modplatform/technic/TechnicData.h
index cd2ea8e1..81488811 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicData.h
+++ b/launcher/ui/pages/modplatform/technic/TechnicData.h
@@ -63,6 +63,6 @@ struct Modpack {
QString recommended;
QVector<QString> versions;
};
-}
+} // namespace Technic
Q_DECLARE_METATYPE(Technic::Modpack)
diff --git a/launcher/ui/pages/modplatform/technic/TechnicPage.cpp b/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
index 93390454..e8716471 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
+++ b/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
@@ -41,18 +41,17 @@
#include "ui/dialogs/NewInstanceDialog.h"
#include "BuildConfig.h"
+#include "Json.h"
#include "TechnicModel.h"
#include "modplatform/technic/SingleZipPackInstallTask.h"
#include "modplatform/technic/SolderPackInstallTask.h"
-#include "Json.h"
#include "Application.h"
#include "modplatform/technic/SolderPackManifest.h"
#include "net/ApiDownload.h"
-TechnicPage::TechnicPage(NewInstanceDialog* dialog, QWidget *parent)
- : QWidget(parent), ui(new Ui::TechnicPage), dialog(dialog)
+TechnicPage::TechnicPage(NewInstanceDialog* dialog, QWidget* parent) : QWidget(parent), ui(new Ui::TechnicPage), dialog(dialog)
{
ui->setupUi(this);
connect(ui->searchButton, &QPushButton::clicked, this, &TechnicPage::triggerSearch);
@@ -98,7 +97,8 @@ void TechnicPage::openedImpl()
triggerSearch();
}
-void TechnicPage::triggerSearch() {
+void TechnicPage::triggerSearch()
+{
model->searchWithTerm(ui->searchEdit->text());
}
@@ -106,10 +106,8 @@ void TechnicPage::onSelectionChanged(QModelIndex first, [[maybe_unused]] QModelI
{
ui->versionSelectionBox->clear();
- if(!first.isValid())
- {
- if(isOpened)
- {
+ if (!first.isValid()) {
+ if (isOpened) {
dialog->setSuggestedPack();
}
return;
@@ -121,12 +119,10 @@ void TechnicPage::onSelectionChanged(QModelIndex first, [[maybe_unused]] QModelI
void TechnicPage::suggestCurrent()
{
- if (!isOpened)
- {
+ if (!isOpened) {
return;
}
- if (current.broken)
- {
+ if (current.broken) {
dialog->setSuggestedPack();
return;
}
@@ -142,50 +138,41 @@ void TechnicPage::suggestCurrent()
auto netJob = makeShared<NetJob>(QString("Technic::PackMeta(%1)").arg(current.name), APPLICATION->network());
QString slug = current.slug;
- netJob->addNetAction(Net::ApiDownload::makeByteArray(QString("%1modpack/%2?build=%3").arg(BuildConfig.TECHNIC_API_BASE_URL, slug, BuildConfig.TECHNIC_API_BUILD), response));
- QObject::connect(netJob.get(), &NetJob::succeeded, this, [this, slug]
- {
+ netJob->addNetAction(Net::ApiDownload::makeByteArray(
+ QString("%1modpack/%2?build=%3").arg(BuildConfig.TECHNIC_API_BASE_URL, slug, BuildConfig.TECHNIC_API_BUILD), response));
+ QObject::connect(netJob.get(), &NetJob::succeeded, this, [this, slug] {
jobPtr.reset();
- if (current.slug != slug)
- {
+ if (current.slug != slug) {
return;
}
- QJsonParseError parse_error {};
+ QJsonParseError parse_error{};
QJsonDocument doc = QJsonDocument::fromJson(*response, &parse_error);
QJsonObject obj = doc.object();
- if(parse_error.error != QJsonParseError::NoError)
- {
- qWarning() << "Error while parsing JSON response from Technic at " << parse_error.offset << " reason: " << parse_error.errorString();
+ if (parse_error.error != QJsonParseError::NoError) {
+ qWarning() << "Error while parsing JSON response from Technic at " << parse_error.offset
+ << " reason: " << parse_error.errorString();
qWarning() << *response;
return;
}
- if (!obj.contains("url"))
- {
+ if (!obj.contains("url")) {
qWarning() << "Json doesn't contain an url key";
return;
}
QJsonValueRef url = obj["url"];
- if (url.isString())
- {
+ if (url.isString()) {
current.url = url.toString();
- }
- else
- {
- if (!obj.contains("solder"))
- {
+ } else {
+ if (!obj.contains("solder")) {
qWarning() << "Json doesn't contain a valid url or solder key";
return;
}
QJsonValueRef solderUrl = obj["solder"];
- if (solderUrl.isString())
- {
+ if (solderUrl.isString()) {
current.url = solderUrl.toString();
current.isSolder = true;
- }
- else
- {
+ } else {
qWarning() << "Json doesn't contain a valid url or solder key";
return;
}
@@ -226,22 +213,21 @@ void TechnicPage::metadataLoaded()
// Strip trailing forward-slashes from Solder URL's
if (current.isSolder) {
- while (current.url.endsWith('/')) current.url.chop(1);
+ while (current.url.endsWith('/'))
+ current.url.chop(1);
}
// Display versions from Solder
if (!current.isSolder) {
// If the pack isn't a Solder pack, it only has the single version
ui->versionSelectionBox->addItem(current.currentVersion);
- }
- else if (current.versionsLoaded) {
+ } else if (current.versionsLoaded) {
// reverse foreach, so that the newest versions are first
for (auto i = current.versions.size(); i--;) {
ui->versionSelectionBox->addItem(current.versions.at(i));
}
ui->versionSelectionBox->setCurrentText(current.recommended);
- }
- else {
+ } else {
// For now, until the versions are pulled from the Solder instance, display the current
// version so we can display something quicker
ui->versionSelectionBox->addItem(current.currentVersion);
@@ -259,7 +245,8 @@ void TechnicPage::metadataLoaded()
selectVersion();
}
-void TechnicPage::selectVersion() {
+void TechnicPage::selectVersion()
+{
if (!isOpened) {
return;
}
@@ -268,17 +255,18 @@ void TechnicPage::selectVersion() {
return;
}
- if (!current.isSolder)
- {
- dialog->setSuggestedPack(current.name, selectedVersion, new Technic::SingleZipPackInstallTask(current.url, current.minecraftVersion));
- }
- else
- {
- dialog->setSuggestedPack(current.name, selectedVersion, new Technic::SolderPackInstallTask(APPLICATION->network(), current.url, current.slug, selectedVersion, current.minecraftVersion));
+ if (!current.isSolder) {
+ dialog->setSuggestedPack(current.name, selectedVersion,
+ new Technic::SingleZipPackInstallTask(current.url, current.minecraftVersion));
+ } else {
+ dialog->setSuggestedPack(current.name, selectedVersion,
+ new Technic::SolderPackInstallTask(APPLICATION->network(), current.url, current.slug, selectedVersion,
+ current.minecraftVersion));
}
}
-void TechnicPage::onSolderLoaded() {
+void TechnicPage::onSolderLoaded()
+{
jobPtr.reset();
auto fallback = [this]() {
@@ -318,7 +306,8 @@ void TechnicPage::onSolderLoaded() {
metadataLoaded();
}
-void TechnicPage::onVersionSelectionChanged(QString version) {
+void TechnicPage::onVersionSelectionChanged(QString version)
+{
if (version.isNull() || version.isEmpty()) {
selectedVersion = "";
return;
diff --git a/launcher/ui/pages/modplatform/technic/TechnicPage.h b/launcher/ui/pages/modplatform/technic/TechnicPage.h
index 753261b3..d33656eb 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicPage.h
+++ b/launcher/ui/pages/modplatform/technic/TechnicPage.h
@@ -37,46 +37,32 @@
#include <QWidget>
-#include "ui/pages/BasePage.h"
#include <Application.h>
+#include "TechnicData.h"
#include "net/NetJob.h"
#include "tasks/Task.h"
-#include "TechnicData.h"
+#include "ui/pages/BasePage.h"
-namespace Ui
-{
+namespace Ui {
class TechnicPage;
}
class NewInstanceDialog;
namespace Technic {
- class ListModel;
+class ListModel;
}
-class TechnicPage : public QWidget, public BasePage
-{
+class TechnicPage : public QWidget, public BasePage {
Q_OBJECT
-public:
- explicit TechnicPage(NewInstanceDialog* dialog, QWidget *parent = 0);
+ public:
+ explicit TechnicPage(NewInstanceDialog* dialog, QWidget* parent = 0);
virtual ~TechnicPage();
- virtual QString displayName() const override
- {
- return "Technic";
- }
- virtual QIcon icon() const override
- {
- return APPLICATION->getThemedIcon("technic");
- }
- virtual QString id() const override
- {
- return "technic";
- }
- virtual QString helpPage() const override
- {
- return "Technic-platform";
- }
+ virtual QString displayName() const override { return "Technic"; }
+ virtual QIcon icon() const override { return APPLICATION->getThemedIcon("technic"); }
+ virtual QString id() const override { return "technic"; }
+ virtual QString helpPage() const override { return "Technic-platform"; }
virtual bool shouldDisplay() const override;
void retranslate() override;
@@ -84,19 +70,19 @@ public:
bool eventFilter(QObject* watched, QEvent* event) override;
-private:
+ private:
void suggestCurrent();
void metadataLoaded();
void selectVersion();
-private slots:
+ private slots:
void triggerSearch();
void onSelectionChanged(QModelIndex first, QModelIndex second);
void onSolderLoaded();
void onVersionSelectionChanged(QString data);
-private:
- Ui::TechnicPage *ui = nullptr;
+ private:
+ Ui::TechnicPage* ui = nullptr;
NewInstanceDialog* dialog = nullptr;
Technic::ListModel* model = nullptr;