From 94262a1c02606279b03e40f2cb3ebc985ff69a08 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Tue, 25 Jan 2022 13:06:17 +0100 Subject: Add "Dimensions" (width x height) role It is more convenient to use than individual width and height properties --- src/kitemviews/private/kbaloorolesprovider.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/kitemviews/private/kbaloorolesprovider.cpp') 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 #include +#include #include namespace { @@ -117,6 +118,18 @@ QHash 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")); -- cgit v1.3.1