diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -499,10 +499,21 @@ const int slashIndex = mimeType.indexOf(QLatin1Char('/')); const bool isFontPreview = mimeType.rightRef(slashIndex).contains(QLatin1String("font")); const bool isFolderPreview = item.isDir(); + const bool isIconCandidate = (mimeType == QLatin1String("image/png") || + mimeType == QLatin1String("image/svg+xml") || + mimeType == QLatin1String("image/svg+xml-compressed")) && + scaledPixmap.width() == scaledPixmap.height() && + (scaledPixmap.width() & 0x7) == 0; + const bool isAppImagePreview = mimeType == QLatin1String("application/x-appimage") || + mimeType == QLatin1String("application/vnd.appimage"); const bool isWindowsExePreview = mimeType == QLatin1String("application/x-ms-dos-executable") || mimeType == QLatin1String("application/x-msdownload"); - if (!isFolderPreview && !isFontPreview && !isWindowsExePreview) { + if (!isFontPreview && + !isFolderPreview && + !isIconCandidate && + !isAppImagePreview && + !isWindowsExePreview) { if (m_enlargeSmallPreviews) { KPixmapModifier::applyFrame(scaledPixmap, m_iconSize); } else {