diff options
| author | Kai Uwe Broulik <[email protected]> | 2022-01-25 13:06:17 +0100 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2022-01-25 13:34:29 +0100 |
| commit | 94262a1c02606279b03e40f2cb3ebc985ff69a08 (patch) | |
| tree | 8bce0513de52559b41902a4615c7c532c444918c /src/kitemviews/private/kbaloorolesprovider.cpp | |
| parent | 7c5af3f88ed2fc13d089fc3584e9445af9fa4e9b (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.cpp | 14 |
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")); |
