diff --git a/thumbnail/thumbnail.cpp b/thumbnail/thumbnail.cpp --- a/thumbnail/thumbnail.cpp +++ b/thumbnail/thumbnail.cpp @@ -682,7 +682,8 @@ { const QMimeDatabase db; const QUrl fileUrl = QUrl::fromLocalFile(filePath); - const QString subPlugin = pluginForMimeType(db.mimeTypeForUrl(fileUrl).name()); + const QString mimeType = db.mimeTypeForUrl(fileUrl).name(); + const QString subPlugin = pluginForMimeType(mimeType); if (subPlugin.isEmpty() || !m_enabledPlugins.contains(subPlugin)) { return false; } @@ -726,6 +727,16 @@ if (subCreator->create(filePath, cacheSize, cacheSize, thumbnail)) { scaleDownImage(thumbnail, cacheSize, cacheSize); + KFileItem item(fileUrl); + + // NOTE keep in sync with kio's PreviewJobPrivate::createThumbnail() + thumbnail.setText(QStringLiteral("Thumb::URI"), fileUrl.toEncoded()); + // KIO normally uses -1 as fallback for mtime but PreviewJob uses 0... + thumbnail.setText(QStringLiteral("Thumb::MTime"), QString::number(item.entry().numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME, 0))); + thumbnail.setText(QStringLiteral("Thumb::Size"), number(item.size())); + thumbnail.setText(QStringLiteral("Thumb::Mimetype"), mimeType); + // TODO "Software" = "KDE Thumbnail Generator (v ...)" + // The thumbnail has been created successfully. Store the thumbnail // to the cache for future access. if (thumbnailfile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {