fix: CF import and Modrinth export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
@@ -113,18 +113,26 @@ QString InstanceImportTask::getRootFromZip(QStringList files)
|
|||||||
if (!isRunning()) {
|
if (!isRunning()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
auto cleanPath = [](QString path) {
|
||||||
|
if (path == ".")
|
||||||
|
return QString();
|
||||||
|
QString result = path;
|
||||||
|
if (result.startsWith("./"))
|
||||||
|
result = result.mid(2);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
for (auto&& fileName : files) {
|
for (auto&& fileName : files) {
|
||||||
setDetails(fileName);
|
setDetails(fileName);
|
||||||
QFileInfo fileInfo(fileName);
|
QFileInfo fileInfo(fileName);
|
||||||
if (fileInfo.fileName() == "instance.cfg") {
|
if (fileInfo.fileName() == "instance.cfg") {
|
||||||
qDebug() << "MultiMC:" << true;
|
qDebug() << "MultiMC:" << true;
|
||||||
m_modpackType = ModpackType::MultiMC;
|
m_modpackType = ModpackType::MultiMC;
|
||||||
return fileInfo.path();
|
return cleanPath(fileInfo.path());
|
||||||
}
|
}
|
||||||
if (fileInfo.fileName() == "manifest.json") {
|
if (fileInfo.fileName() == "manifest.json") {
|
||||||
qDebug() << "Flame:" << true;
|
qDebug() << "Flame:" << true;
|
||||||
m_modpackType = ModpackType::Flame;
|
m_modpackType = ModpackType::Flame;
|
||||||
return fileInfo.path();
|
return cleanPath(fileInfo.path());
|
||||||
}
|
}
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ bool ArchiveWriter::open()
|
|||||||
} else if (lowerName.endsWith(".tar.xz") || lowerName.endsWith(".txz")) {
|
} else if (lowerName.endsWith(".tar.xz") || lowerName.endsWith(".txz")) {
|
||||||
archive_write_set_format_pax_restricted(m_archive);
|
archive_write_set_format_pax_restricted(m_archive);
|
||||||
archive_write_add_filter_xz(m_archive);
|
archive_write_add_filter_xz(m_archive);
|
||||||
} else if (lowerName.endsWith(".zip") || lowerName.endsWith(".jar")) {
|
} else if (lowerName.endsWith(".zip") || lowerName.endsWith(".jar") || lowerName.endsWith(".mrpack")) {
|
||||||
archive_write_set_format_zip(m_archive);
|
archive_write_set_format_zip(m_archive);
|
||||||
} else if (lowerName.endsWith(".tar")) {
|
} else if (lowerName.endsWith(".tar")) {
|
||||||
archive_write_set_format_pax_restricted(m_archive);
|
archive_write_set_format_pax_restricted(m_archive);
|
||||||
|
|||||||
Reference in New Issue
Block a user