blob: 48efb30ed78fd28f452b726f6689a3ea3a1f1340 (
plain) (
tree)
|
|
Subject: Revert "handle maps with multiple or single entries from Baloo"
This reverts commit 36b61838a27df32824c58f383453bb94b730b52c.
diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp
index 469f079..f367154 100644
--- a/src/kitemviews/private/kbaloorolesprovider.cpp
+++ b/src/kitemviews/private/kbaloorolesprovider.cpp
@@ -56,34 +56,18 @@ QHash<QByteArray, QVariant> KBalooRolesProvider::roleValues(const Baloo::File& f
{
QHash<QByteArray, QVariant> values;
+ QMapIterator<KFileMetaData::Property::Property, QVariant> it(file.properties());
+ while (it.hasNext()) {
+ it.next();
- using entry = std::pair<const KFileMetaData::Property::Property&, const QVariant&>;
-
- const auto& propMap = file.properties();
- auto rangeBegin = propMap.constKeyValueBegin();
-
- while (rangeBegin != propMap.constKeyValueEnd()) {
- auto key = (*rangeBegin).first;
- const KFileMetaData::PropertyInfo propertyInfo(key);
- const QByteArray role = roleForProperty(propertyInfo.name());
-
- auto rangeEnd = std::find_if(rangeBegin, propMap.constKeyValueEnd(),
- [key](const entry& e) { return e.first != key; });
+ const KFileMetaData::PropertyInfo pi(it.key());
+ const QString property = pi.name();
+ const QByteArray role = roleForProperty(property);
if (role.isEmpty() || !roles.contains(role)) {
- rangeBegin = rangeEnd;
continue;
}
+ values.insert(role, pi.formatAsDisplayString(it.value()));
- auto distance = std::distance(rangeBegin, rangeEnd);
- if (distance > 1) {
- QVariantList list;
- list.reserve(static_cast<int>(distance));
- std::for_each(rangeBegin, rangeEnd, [&list](const entry& s) { list.append(s.second); });
- values.insert(role, propertyInfo.formatAsDisplayString(list));
- } else {
- values.insert(role, propertyInfo.formatAsDisplayString((*rangeBegin).second));
- }
- rangeBegin = rangeEnd;
}
KFileMetaData::UserMetaData md(file.path());
--
cgit v1.1
|