diff --git a/src/attica/atticaprovider.cpp b/src/attica/atticaprovider.cpp --- a/src/attica/atticaprovider.cpp +++ b/src/attica/atticaprovider.cpp @@ -481,6 +481,7 @@ entry.setSummary(content.description()); entry.setShortSummary(content.summary()); entry.setChangelog(content.changelog()); + entry.setTags(content.tags()); entry.clearDownloadLinkInformation(); QList descs = content.downloadUrlDescriptions(); @@ -493,6 +494,7 @@ info.id = desc.id(); info.size = desc.size(); info.isDownloadtypeLink = desc.type() == Attica::DownloadDescription::LinkDownload; + info.tags = desc.tags(); entry.appendDownloadLinkInformation(info); } diff --git a/src/core/entryinternal.h b/src/core/entryinternal.h --- a/src/core/entryinternal.h +++ b/src/core/entryinternal.h @@ -89,6 +89,7 @@ int id; bool isDownloadtypeLink; quint64 size = 0; + QStringList tags; }; /** @@ -441,6 +442,15 @@ void setDonationLink(const QString &link); /** + * The set of tags assigned specifically to this content item. This does not include + * tags for the download links. To get those, you must concatenate the lists yourself. + * @see downloadLinkInformationList() + * @see DownloadLinkInformation + */ + QStringList tags() const; + void setTags(const QStringList &tags); + + /** The id of the provider this entry belongs to */ QString providerId() const; diff --git a/src/core/entryinternal.cpp b/src/core/entryinternal.cpp --- a/src/core/entryinternal.cpp +++ b/src/core/entryinternal.cpp @@ -79,6 +79,7 @@ QString mProviderId; QStringList mUnInstalledFiles; QString mDonationLink; + QStringList mTags; QString mChecksum; QString mSignature; @@ -156,6 +157,16 @@ d->mProviderId = id; } +QStringList KNSCore::EntryInternal::tags() const +{ + return d->mTags; +} + +void KNSCore::EntryInternal::setTags(const QStringList& tags) +{ + d->mTags = tags; +} + QString EntryInternal::category() const { return d->mCategory;