X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/94262a1c02606279b03e40f2cb3ebc985ff69a08..cebcf8db:/src/kitemviews/private/kbaloorolesprovider.cpp diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp index 4c231e2ff..d0632e2c5 100644 --- a/src/kitemviews/private/kbaloorolesprovider.cpp +++ b/src/kitemviews/private/kbaloorolesprovider.cpp @@ -12,24 +12,25 @@ #include #include -#include #include -#include -namespace { - QString tagsFromValues(const QStringList& values) - { - if (values.size() == 1) { - return values.at(0); - } - - QStringList alphabeticalOrderTags = values; - QCollator coll; - coll.setNumericMode(true); - std::sort(alphabeticalOrderTags.begin(), alphabeticalOrderTags.end(), [&](const QString& s1, const QString& s2){ return coll.compare(s1, s2) < 0; }); - return alphabeticalOrderTags.join(QLatin1String(", ")); +namespace +{ +QString tagsFromValues(const QStringList &values) +{ + if (values.size() == 1) { + return values.at(0); } + QStringList alphabeticalOrderTags = values; + QCollator coll; + coll.setNumericMode(true); + std::sort(alphabeticalOrderTags.begin(), alphabeticalOrderTags.end(), [&](const QString &s1, const QString &s2) { + return coll.compare(s1, s2) < 0; + }); + return alphabeticalOrderTags.join(QLatin1String(", ")); +} + using Property = KFileMetaData::Property::Property; // Mapping from the KFM::Property to the KFileItemModel roles. const QHash propertyRoleMap() { @@ -37,6 +38,9 @@ namespace { { Property::Rating, QByteArrayLiteral("rating") }, { Property::Comment, QByteArrayLiteral("comment") }, { Property::Title, QByteArrayLiteral("title") }, + { Property::Author, QByteArrayLiteral("author") }, + { Property::Publisher, QByteArrayLiteral("publisher") }, + { Property::PageCount, QByteArrayLiteral("pageCount") }, { Property::WordCount, QByteArrayLiteral("wordCount") }, { Property::LineCount, QByteArrayLiteral("lineCount") }, { Property::Width, QByteArrayLiteral("width") }, @@ -57,14 +61,12 @@ namespace { } } -struct KBalooRolesProviderSingleton -{ +struct KBalooRolesProviderSingleton { KBalooRolesProvider instance; }; Q_GLOBAL_STATIC(KBalooRolesProviderSingleton, s_balooRolesProvider) - -KBalooRolesProvider& KBalooRolesProvider::instance() +KBalooRolesProvider &KBalooRolesProvider::instance() { return s_balooRolesProvider->instance; } @@ -78,21 +80,21 @@ QSet KBalooRolesProvider::roles() const return m_roles; } -QHash KBalooRolesProvider::roleValues(const Baloo::File& file, - const QSet& roles) const +QHash KBalooRolesProvider::roleValues(const Baloo::File &file, const QSet &roles) const { QHash values; - using entry = std::pair; + using entry = std::pair; - const auto& propMap = file.properties(); + const auto &propMap = file.properties(); auto rangeBegin = propMap.constKeyValueBegin(); while (rangeBegin != propMap.constKeyValueEnd()) { auto key = (*rangeBegin).first; - auto rangeEnd = std::find_if(rangeBegin, propMap.constKeyValueEnd(), - [key](const entry& e) { return e.first != key; }); + auto rangeEnd = std::find_if(rangeBegin, propMap.constKeyValueEnd(), [key](const entry &e) { + return e.first != key; + }); const QByteArray role = propertyRoleMap().value(key); if (role.isEmpty() || !roles.contains(role)) { @@ -105,10 +107,12 @@ QHash KBalooRolesProvider::roleValues(const Baloo::File& f if (distance > 1) { QVariantList list; list.reserve(static_cast(distance)); - std::for_each(rangeBegin, rangeEnd, [&list](const entry& s) { list.append(s.second); }); + std::for_each(rangeBegin, rangeEnd, [&list](const entry &s) { + list.append(s.second); + }); values.insert(role, propertyInfo.formatAsDisplayString(list)); } else { - if (propertyInfo.valueType() == QVariant::DateTime) { + if (propertyInfo.valueType() == QMetaType::Type::QDateTime) { // Let dolphin format later Dates values.insert(role, (*rangeBegin).second); } else { @@ -170,7 +174,7 @@ QHash KBalooRolesProvider::roleValues(const Baloo::File& f KBalooRolesProvider::KBalooRolesProvider() { // Display roles filled from Baloo property cache - for (const auto& role : propertyRoleMap()) { + for (const auto &role : propertyRoleMap()) { m_roles.insert(role); } m_roles.insert("dimensions"); @@ -181,4 +185,3 @@ KBalooRolesProvider::KBalooRolesProvider() m_roles.insert(QByteArrayLiteral("comment")); m_roles.insert(QByteArrayLiteral("originUrl")); } -