mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-12-13 12:12:14 +00:00
Compare commits
1 Commits
feature/li
...
feature/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8369dbdcc0 |
@@ -254,17 +254,7 @@ void IconList::installIcons(const QStringList &iconFiles)
|
||||
{
|
||||
for (QString file : iconFiles)
|
||||
{
|
||||
QFileInfo fileinfo(file);
|
||||
if (!fileinfo.isReadable() || !fileinfo.isFile())
|
||||
continue;
|
||||
QString target = FS::PathCombine(m_dir.dirName(), fileinfo.fileName());
|
||||
|
||||
QString suffix = fileinfo.suffix();
|
||||
if (suffix != "jpeg" && suffix != "png" && suffix != "jpg" && suffix != "ico" && suffix != "svg" && suffix != "gif")
|
||||
continue;
|
||||
|
||||
if (!QFile::copy(file, target))
|
||||
continue;
|
||||
installIcon(file, QFileInfo(file).fileName());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,11 +262,24 @@ void IconList::installIcon(const QString &file, const QString &name)
|
||||
{
|
||||
QFileInfo fileinfo(file);
|
||||
if(!fileinfo.isReadable() || !fileinfo.isFile())
|
||||
{
|
||||
qWarning() << "Failed to install icon" << fileinfo.absoluteFilePath();
|
||||
return;
|
||||
}
|
||||
|
||||
QString target = FS::PathCombine(m_dir.dirName(), name);
|
||||
|
||||
QFile::copy(file, target);
|
||||
QPixmap icon(fileinfo.absoluteFilePath());
|
||||
if(icon.isNull())
|
||||
{
|
||||
qWarning() << "Icon " << fileinfo.absoluteFilePath() << "is null";
|
||||
return;
|
||||
}
|
||||
|
||||
auto currentSize = icon.size();
|
||||
auto targetedWidth = qMin(currentSize.width(), 512);
|
||||
auto targetedHeight = qMin(currentSize.height(), 512);
|
||||
icon.scaled(targetedWidth, targetedHeight).save(target);
|
||||
}
|
||||
|
||||
bool IconList::iconFileExists(const QString &key) const
|
||||
|
||||
@@ -321,7 +321,7 @@ QString DirNameFromString(QString string, QString inDir)
|
||||
}
|
||||
else
|
||||
{
|
||||
dirName = baseName + QString::number(num);
|
||||
dirName = baseName + QString::number(num);;
|
||||
}
|
||||
|
||||
// If it's over 9000
|
||||
|
||||
@@ -805,18 +805,12 @@ QString InstanceList::getStagedInstancePath()
|
||||
|
||||
bool InstanceList::commitStagedInstance(const QString& path, const QString& instanceName, const QString& groupName)
|
||||
{
|
||||
QDir dir;
|
||||
QString instID = FS::DirNameFromString(instanceName, m_instDir);
|
||||
QString instanceDirName = instID;
|
||||
if(instanceDirName.length() > 180)
|
||||
{
|
||||
instanceDirName.truncate(176);
|
||||
instanceDirName += instID.at(instID.length() - 4); // In case the last 4 chars were changed
|
||||
// to prevent double folder names
|
||||
}
|
||||
{
|
||||
WatchLock lock(m_watcher, m_instDir);
|
||||
QString destination = FS::PathCombine(m_instDir, instanceDirName);
|
||||
if(!QDir().rename(path, destination))
|
||||
QString destination = FS::PathCombine(m_instDir, instID);
|
||||
if(!dir.rename(path, destination))
|
||||
{
|
||||
qWarning() << "Failed to move" << path << "to" << destination;
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user