fixed icon importing

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2023-08-24 12:46:23 +03:00
parent 2990c5d0c9
commit bb4b89470d
No known key found for this signature in database
GPG Key ID: 55EF5DA53DB36318
10 changed files with 14 additions and 14 deletions

View File

@ -43,5 +43,5 @@ void ATLauncher::loadIndexedPack(ATLauncher::IndexedPack& m, QJsonObject& obj)
m.system = Json::ensureBoolean(obj, QString("system"), false); m.system = Json::ensureBoolean(obj, QString("system"), false);
m.description = Json::ensureString(obj, "description", ""); m.description = Json::ensureString(obj, "description", "");
m.safeName = Json::requireString(obj, "name").replace(QRegularExpression("[^A-Za-z0-9]"), ""); m.safeName = "atl_" + Json::requireString(obj, "name").replace(QRegularExpression("[^A-Za-z0-9]"), "").toLower() + ".png";
} }

View File

@ -1,4 +1,6 @@
#include "FlamePackIndex.h" #include "FlamePackIndex.h"
#include <QFileInfo>
#include <QUrl>
#include "Json.h" #include "Json.h"
@ -9,8 +11,8 @@ void Flame::loadIndexedPack(Flame::IndexedPack& pack, QJsonObject& obj)
pack.description = Json::ensureString(obj, "summary", ""); pack.description = Json::ensureString(obj, "summary", "");
auto logo = Json::requireObject(obj, "logo"); auto logo = Json::requireObject(obj, "logo");
pack.logoName = Json::requireString(logo, "title");
pack.logoUrl = Json::requireString(logo, "thumbnailUrl"); pack.logoUrl = Json::requireString(logo, "thumbnailUrl");
pack.logoName = Json::requireString(obj, "slug") + "." + QFileInfo(QUrl(pack.logoUrl).fileName()).suffix();
auto authors = Json::requireArray(obj, "authors"); auto authors = Json::requireArray(obj, "authors");
for (auto authorIter : authors) { for (auto authorIter : authors) {

View File

@ -35,6 +35,7 @@
*/ */
#include "ModrinthPackManifest.h" #include "ModrinthPackManifest.h"
#include <QFileInfo>
#include "Json.h" #include "Json.h"
#include "modplatform/modrinth/ModrinthAPI.h" #include "modplatform/modrinth/ModrinthAPI.h"
@ -56,8 +57,8 @@ void loadIndexedPack(Modpack& pack, QJsonObject& obj)
pack.description = Json::ensureString(obj, "description"); pack.description = Json::ensureString(obj, "description");
auto temp_author_name = Json::ensureString(obj, "author"); auto temp_author_name = Json::ensureString(obj, "author");
pack.author = std::make_tuple(temp_author_name, api.getAuthorURL(temp_author_name)); pack.author = std::make_tuple(temp_author_name, api.getAuthorURL(temp_author_name));
pack.iconName = QString("modrinth_%1").arg(Json::ensureString(obj, "slug"));
pack.iconUrl = Json::ensureString(obj, "icon_url"); pack.iconUrl = Json::ensureString(obj, "icon_url");
pack.iconName = QString("modrinth_%1.%2").arg(Json::ensureString(obj, "slug"), QFileInfo(pack.iconUrl.fileName()).suffix());
} }
void loadIndexedInfo(Modpack& pack, QJsonObject& obj) void loadIndexedInfo(Modpack& pack, QJsonObject& obj)

View File

@ -237,8 +237,7 @@ void NewInstanceDialog::setSuggestedIcon(const QString& key)
InstanceTask* NewInstanceDialog::extractTask() InstanceTask* NewInstanceDialog::extractTask()
{ {
InstanceTask* extracted = creationTask.get(); InstanceTask* extracted = creationTask.release();
creationTask.release();
InstanceName inst_name(ui->instNameTextBox->placeholderText().trimmed(), importVersion); InstanceName inst_name(ui->instNameTextBox->placeholderText().trimmed(), importVersion);
inst_name.setName(ui->instNameTextBox->text().trimmed()); inst_name.setName(ui->instNameTextBox->text().trimmed());

View File

@ -56,7 +56,7 @@ QVariant ListModel::data(const QModelIndex& index, int role) const
} }
auto icon = APPLICATION->getThemedIcon("atlauncher-placeholder"); auto icon = APPLICATION->getThemedIcon("atlauncher-placeholder");
auto url = QString(BuildConfig.ATL_DOWNLOAD_SERVER_URL + "launcher/images/%1.png").arg(pack.safeName.toLower()); auto url = QString(BuildConfig.ATL_DOWNLOAD_SERVER_URL + "launcher/images/%1").arg(pack.safeName);
((ListModel*)this)->requestLogo(pack.safeName, url); ((ListModel*)this)->requestLogo(pack.safeName, url);
return icon; return icon;

View File

@ -113,7 +113,7 @@ void AtlPage::suggestCurrent()
dialog->setSuggestedPack(selected.name, selectedVersion, new ATLauncher::PackInstallTask(uiSupport, selected.name, selectedVersion)); dialog->setSuggestedPack(selected.name, selectedVersion, new ATLauncher::PackInstallTask(uiSupport, selected.name, selectedVersion));
auto editedLogoName = selected.safeName; auto editedLogoName = selected.safeName;
auto url = QString(BuildConfig.ATL_DOWNLOAD_SERVER_URL + "launcher/images/%1.png").arg(selected.safeName.toLower()); auto url = QString(BuildConfig.ATL_DOWNLOAD_SERVER_URL + "launcher/images/%1").arg(selected.safeName);
listModel->getLogo(selected.safeName, url, listModel->getLogo(selected.safeName, url,
[this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); }); [this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); });
} }

View File

@ -209,8 +209,7 @@ void FlamePage::suggestCurrent()
extra_info.insert("pack_version_id", QString::number(version.fileId)); extra_info.insert("pack_version_id", QString::number(version.fileId));
dialog->setSuggestedPack(current.name, new InstanceImportTask(version.downloadUrl, this, std::move(extra_info))); dialog->setSuggestedPack(current.name, new InstanceImportTask(version.downloadUrl, this, std::move(extra_info)));
QString editedLogoName; QString editedLogoName = "curseforge_" + current.logoName;
editedLogoName = "curseforge_" + current.logoName;
listModel->getLogo(current.logoName, current.logoUrl, listModel->getLogo(current.logoName, current.logoUrl,
[this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); }); [this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); });
} }

View File

@ -76,7 +76,7 @@ void ImportFTBPage::suggestCurrent()
} }
dialog->setSuggestedPack(selected.name, new PackInstallTask(selected)); dialog->setSuggestedPack(selected.name, new PackInstallTask(selected));
QString editedLogoName = QString("ftb_%1").arg(selected.id); QString editedLogoName = QString("ftb_%1.jpg").arg(selected.id);
dialog->setSuggestedIconFromFile(FS::PathCombine(selected.path, "folder.jpg"), editedLogoName); dialog->setSuggestedIconFromFile(FS::PathCombine(selected.path, "folder.jpg"), editedLogoName);
} }

View File

@ -180,8 +180,6 @@ void Page::suggestCurrent()
editedLogoName = "ftb_" + selected.logo; editedLogoName = "ftb_" + selected.logo;
} }
editedLogoName = editedLogoName.left(editedLogoName.lastIndexOf(".png"));
if (selected.type == PackType::Public) { if (selected.type == PackType::Public) {
publicListModel->getLogo(selected.logo, publicListModel->getLogo(selected.logo,
[this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); }); [this, editedLogoName](QString logo) { dialog->setSuggestedIconFromFile(logo, editedLogoName); });

View File

@ -34,6 +34,7 @@
*/ */
#include "TechnicModel.h" #include "TechnicModel.h"
#include <QUrl>
#include "Application.h" #include "Application.h"
#include "BuildConfig.h" #include "BuildConfig.h"
#include "Json.h" #include "Json.h"
@ -159,7 +160,7 @@ void Technic::ListModel::searchRequestFinished()
pack.logoName = "null"; pack.logoName = "null";
} else { } else {
pack.logoUrl = rawURL; pack.logoUrl = rawURL;
pack.logoName = rawURL.section(QLatin1Char('/'), -1); pack.logoName = QUrl(rawURL).fileName();
} }
pack.broken = false; pack.broken = false;
newList.append(pack); newList.append(pack);
@ -181,7 +182,7 @@ void Technic::ListModel::searchRequestFinished()
auto iconUrl = Json::requireString(iconObj, "url"); auto iconUrl = Json::requireString(iconObj, "url");
pack.logoUrl = iconUrl; pack.logoUrl = iconUrl;
pack.logoName = iconUrl.section(QLatin1Char('/'), -1); pack.logoName = QUrl(iconUrl).fileName();
} else { } else {
pack.logoUrl = "null"; pack.logoUrl = "null";
pack.logoName = "null"; pack.logoName = "null";