diff --git a/libdiscover/Category/Category.h b/libdiscover/Category/Category.h --- a/libdiscover/Category/Category.h +++ b/libdiscover/Category/Category.h @@ -57,6 +57,7 @@ QString name() const; QString icon() const; QVector > andFilters() const; + void setAndFilter(QVector > filters); QVector > orFilters() const; QVector > notFilters() const; QVector subCategories() const; diff --git a/libdiscover/Category/Category.cpp b/libdiscover/Category/Category.cpp --- a/libdiscover/Category/Category.cpp +++ b/libdiscover/Category/Category.cpp @@ -134,6 +134,11 @@ return m_andFilters; } +void Category::setAndFilter(QVector > filters) +{ + m_andFilters = filters; +} + QVector > Category::orFilters() const { return m_orFilters; @@ -192,6 +197,7 @@ ) { qCWarning(LIBDISCOVER_LOG) << "the following categories seem to be the same but they're not entirely" + << c->icon() << newcat->icon() << "--" << c->name() << newcat->name() << "--" << c->andFilters() << newcat->andFilters() << "--" << c->isAddons() << newcat->isAddons(); diff --git a/libdiscover/backends/KNSBackend/KNSBackend.cpp b/libdiscover/backends/KNSBackend/KNSBackend.cpp --- a/libdiscover/backends/KNSBackend/KNSBackend.cpp +++ b/libdiscover/backends/KNSBackend/KNSBackend.cpp @@ -156,7 +156,8 @@ if(knsrcApplications == fileName) { m_hasApplications = true; auto actualCategory = new Category(m_displayName, QStringLiteral("plasma"), filters, backendName, categories, QUrl(), false); - auto applicationCategory = new Category(i18n("Applications"), QStringLiteral("plasma"), filters, backendName, { actualCategory }, QUrl(), false); + auto applicationCategory = new Category(i18n("Applications"), QStringLiteral("applications-internet"), filters, backendName, { actualCategory }, QUrl(), false); + applicationCategory->setAndFilter({ {CategoryFilter, QLatin1String("Application")} }); m_categories.append(applicationCategory->name()); m_rootCategories = { applicationCategory }; // Make sure we filter out any apps which won't run on the current system architecture