]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kbaloorolesprovider.cpp
port to KIO::createDefaultJobUiDelegate
[dolphin.git] / src / kitemviews / private / kbaloorolesprovider.cpp
index 5c87de7129f9570d76fca0a8b8ac3e2faddedc49..dd6df0aa77dbfc466426b4374ef97923298604f6 100644 (file)
@@ -12,8 +12,7 @@
 #include <KFileMetaData/UserMetaData>
 
 #include <QCollator>
-#include <QDebug>
-#include <QTime>
+#include <QSize>
 
 namespace {
     QString tagsFromValues(const QStringList& values)
@@ -36,6 +35,7 @@ namespace {
             { Property::Rating,            QByteArrayLiteral("rating") },
             { Property::Comment,           QByteArrayLiteral("comment") },
             { Property::Title,             QByteArrayLiteral("title") },
+            { Property::Author,            QByteArrayLiteral("author") },
             { Property::WordCount,         QByteArrayLiteral("wordCount") },
             { Property::LineCount,         QByteArrayLiteral("lineCount") },
             { Property::Width,             QByteArrayLiteral("width") },
@@ -117,6 +117,18 @@ QHash<QByteArray, QVariant> KBalooRolesProvider::roleValues(const Baloo::File& f
         rangeBegin = rangeEnd;
     }
 
+    if (roles.contains("dimensions")) {
+        bool widthOk = false;
+        bool heightOk = false;
+
+        const int width = propMap.value(KFileMetaData::Property::Width).toInt(&widthOk);
+        const int height = propMap.value(KFileMetaData::Property::Height).toInt(&heightOk);
+
+        if (widthOk && heightOk && width >= 0 && height >= 0) {
+            values.insert("dimensions", QSize(width, height));
+        }
+    }
+
     KFileMetaData::UserMetaData::Attributes attributes;
     if (roles.contains("tags")) {
         attributes |= KFileMetaData::UserMetaData::Tags;
@@ -160,6 +172,7 @@ KBalooRolesProvider::KBalooRolesProvider()
     for (const auto& role : propertyRoleMap()) {
         m_roles.insert(role);
     }
+    m_roles.insert("dimensions");
 
     // Display roles provided by UserMetaData
     m_roles.insert(QByteArrayLiteral("tags"));