From aa2dda8cb4df1da0171dd34f34dacf94c958f21e Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Thu, 18 Jul 2013 17:07:34 +0200 Subject: Overwrite the changed role value with an empty QVariant, because the nepomuk roles provider doesn't overwrite it when the property value list is empty. BUG: 322348 REVIEW: 111505 FIXED-IN: 4.11.0 --- src/kitemviews/private/knepomukrolesprovider.cpp | 7 ++++++- src/kitemviews/private/knepomukrolesprovider.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/kitemviews/private') diff --git a/src/kitemviews/private/knepomukrolesprovider.cpp b/src/kitemviews/private/knepomukrolesprovider.cpp index 661670cfa..e237f948f 100644 --- a/src/kitemviews/private/knepomukrolesprovider.cpp +++ b/src/kitemviews/private/knepomukrolesprovider.cpp @@ -68,7 +68,7 @@ QHash KNepomukRolesProvider::roleValues(const Nepomuk2::Re it.next(); const Nepomuk2::Types::Property property = it.key(); - const QByteArray role = m_roleForUri.value(property.uri()); + const QByteArray role = roleForPropertyUri(property.uri()); if (role.isEmpty() || !roles.contains(role)) { continue; } @@ -118,6 +118,11 @@ QHash KNepomukRolesProvider::roleValues(const Nepomuk2::Re return values; } +QByteArray KNepomukRolesProvider::roleForPropertyUri(const QUrl& uri) const +{ + return m_roleForUri.value(uri); +} + KNepomukRolesProvider::KNepomukRolesProvider() : m_roles(), m_roleForUri() diff --git a/src/kitemviews/private/knepomukrolesprovider.h b/src/kitemviews/private/knepomukrolesprovider.h index b8c7e51e6..68a4027e1 100644 --- a/src/kitemviews/private/knepomukrolesprovider.h +++ b/src/kitemviews/private/knepomukrolesprovider.h @@ -55,6 +55,8 @@ public: QHash roleValues(const Nepomuk2::Resource& resource, const QSet& roles) const; + QByteArray roleForPropertyUri(const QUrl& uri) const; + protected: KNepomukRolesProvider(); -- cgit v1.3