Copy the icon in place in case it is not there
This commit is contained in:
@@ -231,13 +231,80 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
qDebug() << "Found icons from desktop file:" << candidates;
|
qDebug() << "Found icons from desktop file:" << candidates;
|
||||||
|
|
||||||
|
/* Select the main icon from the candidates */
|
||||||
if(candidates.length() == 1){
|
if(candidates.length() == 1){
|
||||||
iconToBeUsed = candidates.at(0); // The only choice
|
iconToBeUsed = candidates.at(0); // The only choice
|
||||||
|
} else if(candidates.length() > 1){
|
||||||
|
foreach(QString current, candidates) {
|
||||||
|
if(current.contains("256")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("128")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("svg")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("svgz")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("512")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("1024")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("64")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("48")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(current.contains("xpm")){
|
||||||
|
iconToBeUsed = current;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Copy in place */
|
/* Copy in place */
|
||||||
if(iconToBeUsed != ""){
|
if(iconToBeUsed != ""){
|
||||||
/* Check if there is already an icon and only if there is not, copy it to the AppDir */
|
/* Check if there is already an icon and only if there is not, copy it to the AppDir */
|
||||||
|
QString preExistingToplevelIcon = "";
|
||||||
|
if(QFileInfo(appDirPath + "/" + desktopIconEntry + ".xpm").exists() == true){
|
||||||
|
preExistingToplevelIcon = appDirPath + "/" + desktopIconEntry + ".xpm";
|
||||||
|
}
|
||||||
|
if(QFileInfo(appDirPath + "/" + desktopIconEntry + ".svgz").exists() == true){
|
||||||
|
preExistingToplevelIcon = appDirPath + "/" + desktopIconEntry + ".svgz";
|
||||||
|
}
|
||||||
|
if(QFileInfo(appDirPath + "/" + desktopIconEntry + ".svg").exists() == true){
|
||||||
|
preExistingToplevelIcon = appDirPath + "/" + desktopIconEntry + ".svg";
|
||||||
|
}
|
||||||
|
if(QFileInfo(appDirPath + "/" + desktopIconEntry + ".png").exists() == true){
|
||||||
|
preExistingToplevelIcon = appDirPath + "/" + desktopIconEntry + ".png";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(preExistingToplevelIcon != ""){
|
||||||
|
qDebug() << "preExistingToplevelIcon:" << preExistingToplevelIcon;
|
||||||
|
} else {
|
||||||
|
qDebug() << "iconToBeUsed:" << iconToBeUsed;
|
||||||
|
QString targetIconPath = appDirPath + "/" + QFileInfo(iconToBeUsed).fileName();
|
||||||
|
if (QFile::copy(iconToBeUsed, targetIconPath)){
|
||||||
|
qDebug() << "Copied" << iconToBeUsed << "to" << targetIconPath;
|
||||||
|
} else {
|
||||||
|
LogError() << "Could not copy" << iconToBeUsed << "to" << targetIconPath << "\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user