@@ -46,7 +46,7 @@ CategoryResults::CategoryResults(QObject* parent)
46 m_roles[CategoryResults::RoleComment] = "comment";
46 m_roles[CategoryResults::RoleComment] = "comment";
47 m_roles[CategoryResults::RoleDndUri] = "dndUri";
47 m_roles[CategoryResults::RoleDndUri] = "dndUri";
48 m_roles[CategoryResults::RoleMetadata] = "metadata";
48 m_roles[CategoryResults::RoleMetadata] = "metadata";
49− m_roles[CategoryResults::RoleMetadataScopeDisabled] = "scopeDisabled";
49+ m_roles[CategoryResults::RoleRendererHints] = "rendererHints";
52int CategoryResults::categoryIndex() const
52int CategoryResults::categoryIndex() const
@@ -94,14 +94,16 @@ CategoryResults::data(const QModelIndex& index, int role) const
94 return DeeListModel::data(index, ResultsColumn::DND_URI);
94 return DeeListModel::data(index, ResultsColumn::DND_URI);
95 case RoleMetadata:
95 case RoleMetadata:
96 return DeeListModel::data(index, ResultsColumn::METADATA);
96 return DeeListModel::data(index, ResultsColumn::METADATA);
97− // FIXME nasty hack while we don't support annotated icons
97+ case RoleRendererHints:
98− case RoleMetadataScopeDisabled: {
98+ {
99 QVariantHash hash(DeeListModel::data(index, ResultsColumn::METADATA).toHash());
99 QVariantHash hash(DeeListModel::data(index, ResultsColumn::METADATA).toHash());
100 if (hash.contains("content")) {
100 if (hash.contains("content")) {
101 QVariantHash innerHash(hash["content"].toHash());
102 QVariantHash innerHash(hash["content"].toHash());
102 if (innerHash.contains("scope_disabled")) {
103 if (innerHash.contains("scope_disabled")) {
103− return innerHash["scope_disabled"];
104+ hints["scope_disabled"] = innerHash["scope_disabled"];
106+ return hints.empty() ? QVariant() : QVariant::fromValue(hints);
106 return QVariant();
108 return QVariant();