[frameworks/kfilemetadata] tests: [kfilemetadata_dump] Provide information about cover images etc

Stefan Brüns <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 5ab9f9832621c49cb3e29d000a1617264647f2ff by Stefan Brüns.
Committed on 10/08/2026 at 16:38.
Pushed by bruns into branch 'master'.

[kfilemetadata_dump] Provide information about cover images etc

CCBUG: 500113

M  +18   -3    tests/dump.cpp

https://invent.kde.org/frameworks/kfilemetadata/-/commit/5ab9f9832621c49cb3e29d000a1617264647f2ff

diff --git a/tests/dump.cpp b/tests/dump.cpp
index cbc1c790..2893ab3e 100644
--- a/tests/dump.cpp
+++ b/tests/dump.cpp
@@ -4,10 +4,12 @@
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
 */
 
-#include <QGuiApplication>
+#include <QBuffer>
 #include <QCommandLineParser>
 #include <QDebug>
 #include <QFileInfo>
+#include <QGuiApplication>
+#include <QImageReader>
 #include <QMimeDatabase>
 #include <QTextStream>
 
@@ -36,8 +38,8 @@ int main(int argc, char** argv)
 
     using KFileMetaData::ExtractionResult;
     const ExtractionResult::Flags extractionLevel = (extractFulltext
-        ? ExtractionResult::ExtractMetaData | ExtractionResult::ExtractPlainText
-        : ExtractionResult::ExtractMetaData);
+        ? ExtractionResult::ExtractMetaData | ExtractionResult::ExtractImageData | ExtractionResult::ExtractPlainText
+        : ExtractionResult::ExtractMetaData | ExtractionResult::ExtractImageData);
 
     auto fi = QFileInfo(parser.positionalArguments().at(0));
     QString url = fi.absoluteFilePath();
@@ -86,6 +88,19 @@ int main(int argc, char** argv)
             out << "\t\t" << KFileMetaData::PropertyInfo(it.key()).displayName() << ": "
                 << it.value().toString() << " (" << it.value().typeName() << ")\n";
         }
+        const auto imageMap = result.imageData();
+        if (!imageMap.empty()) {
+            out << "\t\tImages:\n";
+            for (const auto [type, imageData]: imageMap.asKeyValueRange()) {
+                QBuffer buffer;
+                buffer.setData(imageData);
+                std::ignore = buffer.open(QIODevice::ReadOnly);
+                QImageReader reader(&buffer);
+                auto format = reader.format();
+                const auto image = reader.read();
+                out << "\t\t  " << type << " " << format << " " << image.width() << "x" << image.height() << "\n";
+            }
+        }
         if (extractFulltext) {
             out << "\t\tText: " << result.text() << "\n";
         }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.