┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/private/kbaloorolesprovider.cpp
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2022-01-25 13:06:17 +0100
committerKai Uwe Broulik <[email protected]>2022-01-25 13:34:29 +0100
commit94262a1c02606279b03e40f2cb3ebc985ff69a08 (patch)
tree8bce0513de52559b41902a4615c7c532c444918c /src/kitemviews/private/kbaloorolesprovider.cpp
parent7c5af3f88ed2fc13d089fc3584e9445af9fa4e9b (diff)
Add "Dimensions" (width x height) role
It is more convenient to use than individual width and height properties
Diffstat (limited to 'src/kitemviews/private/kbaloorolesprovider.cpp')
-rw-r--r--src/kitemviews/private/kbaloorolesprovider.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp
index 5c87de712..4c231e2ff 100644
--- a/src/kitemviews/private/kbaloorolesprovider.cpp
+++ b/src/kitemviews/private/kbaloorolesprovider.cpp
@@ -13,6 +13,7 @@
#include <QCollator>
#include <QDebug>
+#include <QSize>
#include <QTime>
namespace {
@@ -117,6 +118,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 +173,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"));