From 35256285db759a260c1efbe01e37836835fe472c Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Sat, 15 Jan 2022 14:06:18 +0100 Subject: [PATCH] Fix trash KCM not showing up in KRunner In this case we do not want the trader constraint, because we can open the KCMs in kcmshell. BUG: 448449 --- core/kcmmetadatahelpers.h | 6 ++++-- runner/systemsettingsrunner.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/kcmmetadatahelpers.h b/core/kcmmetadatahelpers.h index b7618992..f8fdf5f3 100644 --- a/core/kcmmetadatahelpers.h +++ b/core/kcmmetadatahelpers.h @@ -51,7 +51,7 @@ inline QList findExternalKCMModules(MetaDataSource source) return metaDataList; } -inline QList findKCMsMetaData(MetaDataSource source) +inline QList findKCMsMetaData(MetaDataSource source, bool useSystemsettingsConstraint = true) { QList modules; QSet uniquePluginIds; @@ -67,7 +67,9 @@ inline QList findKCMsMetaData(MetaDataSource source) if (source & SystemSettings) { metaDataList << KPluginMetaData::findPlugins(QStringLiteral("plasma/kcms/systemsettings"), filter); metaDataList << KPluginMetaData::findPlugins(QStringLiteral("plasma/kcms/systemsettings_qwidgets"), filter); - services += KServiceTypeTrader::self()->query(QStringLiteral("KCModule"), QStringLiteral("[X-KDE-System-Settings-Parent-Category] != ''")); + services += + KServiceTypeTrader::self()->query(QStringLiteral("KCModule"), + useSystemsettingsConstraint ? QStringLiteral("[X-KDE-System-Settings-Parent-Category] != ''") : QString()); } if (source & KInfoCenter) { metaDataList << KPluginMetaData::findPlugins(QStringLiteral("plasma/kcms/kinfocenter"), filter); diff --git a/runner/systemsettingsrunner.cpp b/runner/systemsettingsrunner.cpp index 7e487dcb..a1e7dffb 100644 --- a/runner/systemsettingsrunner.cpp +++ b/runner/systemsettingsrunner.cpp @@ -51,7 +51,7 @@ void SystemsettingsRunner::match(Plasma::RunnerContext &context) QMutexLocker lock(&m_mutex); if (m_modules.isEmpty()) { KSycoca::disableAutoRebuild(); - m_modules = findKCMsMetaData(MetaDataSource::All); + m_modules = findKCMsMetaData(MetaDataSource::All, false); } } matchNameKeywordAndGenericName(context); -- GitLab