Update main.cpp to update Linux user's icon for AppImage deployments

This commit is contained in:
Alex Spataru 2025-01-04 03:30:05 -05:00 committed by GitHub
parent 9b9924784a
commit d62da9416a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -207,27 +207,23 @@ static void setupAppImageIcon(const QString &appExecutableName,
const QString pixmapFile = pixmapPath + appExecutableName + ".png"; const QString pixmapFile = pixmapPath + appExecutableName + ".png";
// clang-format on // clang-format on
// Check if the icon file already exists to avoid redundant copying // Ensure the directory exists; create it if it doesn't
if (!QFileInfo::exists(pixmapFile)) QDir dir;
if (!dir.exists(pixmapPath) && !dir.mkpath(pixmapPath))
return;
// Copy the icon from resources to the destination
QFile resourceFile(iconResourcePath);
if (resourceFile.open(QIODevice::ReadOnly))
{ {
// Ensure the directory exists; create it if it doesn't QFile localFile(pixmapFile);
QDir dir; if (localFile.open(QIODevice::WriteOnly))
if (!dir.exists(pixmapPath) && !dir.mkpath(pixmapPath))
return;
// Copy the icon from resources to the destination
QFile resourceFile(iconResourcePath);
if (resourceFile.open(QIODevice::ReadOnly))
{ {
QFile localFile(pixmapFile); localFile.write(resourceFile.readAll());
if (localFile.open(QIODevice::WriteOnly)) localFile.close();
{
localFile.write(resourceFile.readAll());
localFile.close();
}
resourceFile.close();
} }
resourceFile.close();
} }
} }
#endif #endif