diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ project(baloo-widgets VERSION ${KDE_APPLICATIONS_VERSION}) set(QT_MIN_VERSION "5.11.0") -set(KF5_MIN_VERSION "5.58.0") +set(KF5_MIN_VERSION "5.60.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${ECM_MODULE_PATH}) diff --git a/src/filemetadatautil.cpp b/src/filemetadatautil.cpp --- a/src/filemetadatautil.cpp +++ b/src/filemetadatautil.cpp @@ -30,26 +30,38 @@ QVariantMap convertUserMetaData(const KFileMetaData::UserMetaData& metaData) { + using Attribute = KFileMetaData::UserMetaData::Attribute; QVariantMap properties; - const QStringList tags = metaData.tags(); - if (!tags.isEmpty()) { - properties.insert(QStringLiteral("tags"), tags); + QFlags attributes = metaData.queryAttributes(Attribute::Tags | Attribute::Rating | + Attribute::Comment | Attribute::OriginUrl); + + if (attributes & Attribute::Tags) { + QStringList tags = metaData.tags(); + if (!tags.isEmpty()) { + properties.insert(QStringLiteral("tags"), tags); + } } - int rating = metaData.rating(); - if (rating) { - properties.insert(QStringLiteral("rating"), rating); + if (attributes & Attribute::Rating) { + int rating = metaData.rating(); + if (rating) { + properties.insert(QStringLiteral("rating"), rating); + } } - const QString comment = metaData.userComment(); - if (!comment.isEmpty()) { - properties.insert(QStringLiteral("userComment"), comment); + if (attributes & Attribute::Comment) { + QString comment = metaData.userComment(); + if (!comment.isEmpty()) { + properties.insert(QStringLiteral("userComment"), comment); + } } - const QString originUrl = metaData.originUrl().toDisplayString(); - if (!originUrl.isEmpty()) { - properties.insert(QStringLiteral("originUrl"), originUrl); + if (attributes & Attribute::OriginUrl) { + const QString originUrl = metaData.originUrl().toDisplayString(); + if (!originUrl.isEmpty()) { + properties.insert(QStringLiteral("originUrl"), originUrl); + } } return properties;