fix: icon import with dot in name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
497cea0bd5
commit
53dcc15766
2 changed files with 9 additions and 8 deletions
|
@ -263,9 +263,9 @@ void InstanceImportTask::extractFinished()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool installIcon(QString root, QString instIcon)
|
bool installIcon(QString root, QString instIconKey)
|
||||||
{
|
{
|
||||||
auto importIconPath = IconUtils::findBestIconIn(root, instIcon);
|
auto importIconPath = IconUtils::findBestIconIn(root, instIconKey);
|
||||||
if (importIconPath.isNull() || !QFile::exists(importIconPath))
|
if (importIconPath.isNull() || !QFile::exists(importIconPath))
|
||||||
importIconPath = IconUtils::findBestIconIn(root, "icon.png");
|
importIconPath = IconUtils::findBestIconIn(root, "icon.png");
|
||||||
if (importIconPath.isNull() || !QFile::exists(importIconPath))
|
if (importIconPath.isNull() || !QFile::exists(importIconPath))
|
||||||
|
@ -273,10 +273,10 @@ bool installIcon(QString root, QString instIcon)
|
||||||
if (!importIconPath.isNull() && QFile::exists(importIconPath)) {
|
if (!importIconPath.isNull() && QFile::exists(importIconPath)) {
|
||||||
// import icon
|
// import icon
|
||||||
auto iconList = APPLICATION->icons();
|
auto iconList = APPLICATION->icons();
|
||||||
if (iconList->iconFileExists(instIcon)) {
|
if (iconList->iconFileExists(instIconKey)) {
|
||||||
iconList->deleteIcon(instIcon);
|
iconList->deleteIcon(instIconKey);
|
||||||
}
|
}
|
||||||
iconList->installIcon(importIconPath, instIcon);
|
iconList->installIcon(importIconPath, instIconKey + ".png");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -55,7 +55,7 @@ IconList::IconList(const QStringList& builtinPaths, const QString& path, QObject
|
||||||
QDir instanceIcons(builtinPath);
|
QDir instanceIcons(builtinPath);
|
||||||
auto fileInfoList = instanceIcons.entryInfoList(QDir::Files, QDir::Name);
|
auto fileInfoList = instanceIcons.entryInfoList(QDir::Files, QDir::Name);
|
||||||
for (const auto& fileInfo : fileInfoList) {
|
for (const auto& fileInfo : fileInfoList) {
|
||||||
builtinNames.insert(fileInfo.baseName());
|
builtinNames.insert(fileInfo.completeBaseName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const auto& builtinName : builtinNames) {
|
for (const auto& builtinName : builtinNames) {
|
||||||
|
@ -127,10 +127,11 @@ QStringList IconList::getIconFilePaths() const
|
||||||
QString formatName(const QDir& iconsDir, const QFileInfo& iconFile)
|
QString formatName(const QDir& iconsDir, const QFileInfo& iconFile)
|
||||||
{
|
{
|
||||||
if (iconFile.dir() == iconsDir)
|
if (iconFile.dir() == iconsDir)
|
||||||
return iconFile.baseName();
|
return iconFile.completeBaseName();
|
||||||
|
|
||||||
constexpr auto delimiter = " » ";
|
constexpr auto delimiter = " » ";
|
||||||
QString relativePathWithoutExtension = iconsDir.relativeFilePath(iconFile.dir().path()) + QDir::separator() + iconFile.baseName();
|
QString relativePathWithoutExtension =
|
||||||
|
iconsDir.relativeFilePath(iconFile.dir().path()) + QDir::separator() + iconFile.completeBaseName();
|
||||||
return relativePathWithoutExtension.replace(QDir::separator(), delimiter);
|
return relativePathWithoutExtension.replace(QDir::separator(), delimiter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue