From f80a43f24f421d04f1cb969689f5642d6cedca23 Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Wed, 10 Nov 2021 18:45:43 +0100 Subject: [PATCH] Port away from deprecated KSycoca signal The checks can be safely dropped, because in KService a hardcoded list is used as the parameter. --- dataengines/weather/weatherengine.cpp | 16 +++++++--------- dataengines/weather/weatherengine.h | 2 +- libtaskmanager/launchertasksmodel.cpp | 9 +++------ libtaskmanager/xwindowtasksmodel.cpp | 9 +++------ 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/dataengines/weather/weatherengine.cpp b/dataengines/weather/weatherengine.cpp index b08649d28..4685159ad 100644 --- a/dataengines/weather/weatherengine.cpp +++ b/dataengines/weather/weatherengine.cpp @@ -28,7 +28,7 @@ WeatherEngine::WeatherEngine(QObject *parent, const QVariantList &args) connect(&m_networkConfigurationManager, &QNetworkConfigurationManager::onlineStateChanged, this, &WeatherEngine::onOnlineStateChanged); // Get the list of available plugins but don't load them - connect(KSycoca::self(), static_cast(&KSycoca::databaseChanged), this, &WeatherEngine::updateIonList); + connect(KSycoca::self(), static_cast(&KSycoca::databaseChanged), this, &WeatherEngine::updateIonList); updateIonList(); } @@ -40,15 +40,13 @@ WeatherEngine::~WeatherEngine() /* FIXME: Q_PROPERTY functions to update the list of available plugins */ -void WeatherEngine::updateIonList(const QStringList &changedResources) +void WeatherEngine::updateIonList() { - if (changedResources.isEmpty() || changedResources.contains(QLatin1String("services"))) { - removeAllData(QStringLiteral("ions")); - const auto infos = Plasma::PluginLoader::self()->listDataEngineMetaData(QStringLiteral("weatherengine")); - for (const KPluginMetaData &info : infos) { - const QString data = info.name() + QLatin1Char('|') + info.pluginId(); - setData(QStringLiteral("ions"), info.pluginId(), data); - } + removeAllData(QStringLiteral("ions")); + const auto infos = Plasma::PluginLoader::self()->listDataEngineMetaData(QStringLiteral("weatherengine")); + for (const KPluginMetaData &info : infos) { + const QString data = info.name() + QLatin1Char('|') + info.pluginId(); + setData(QStringLiteral("ions"), info.pluginId(), data); } } diff --git a/dataengines/weather/weatherengine.h b/dataengines/weather/weatherengine.h index 54b790ee4..b38a3c52b 100644 --- a/dataengines/weather/weatherengine.h +++ b/dataengines/weather/weatherengine.h @@ -91,7 +91,7 @@ private Q_SLOTS: /** * updates the list of ions whenever KSycoca changes (as well as on init */ - void updateIonList(const QStringList &changedResources = QStringList()); + void updateIonList(); private: /** diff --git a/libtaskmanager/launchertasksmodel.cpp b/libtaskmanager/launchertasksmodel.cpp index e4debfa8e..1cd68d596 100644 --- a/libtaskmanager/launchertasksmodel.cpp +++ b/libtaskmanager/launchertasksmodel.cpp @@ -103,12 +103,9 @@ void LauncherTasksModel::Private::init() AbstractTasksModel::LauncherUrlWithoutIcon}); }); - void (KSycoca::*myDatabaseChangeSignal)(const QStringList &) = &KSycoca::databaseChanged; - QObject::connect(KSycoca::self(), myDatabaseChangeSignal, q, [this](const QStringList &changedResources) { - if (changedResources.contains(QLatin1String("services")) || changedResources.contains(QLatin1String("apps")) - || changedResources.contains(QLatin1String("xdgdata-apps"))) { - sycocaChangeTimer.start(); - } + void (KSycoca::*myDatabaseChangeSignal)() = &KSycoca::databaseChanged; + QObject::connect(KSycoca::self(), myDatabaseChangeSignal, q, [this]() { + sycocaChangeTimer.start(); }); } diff --git a/libtaskmanager/xwindowtasksmodel.cpp b/libtaskmanager/xwindowtasksmodel.cpp index eb7d47924..56a669231 100644 --- a/libtaskmanager/xwindowtasksmodel.cpp +++ b/libtaskmanager/xwindowtasksmodel.cpp @@ -121,12 +121,9 @@ void XWindowTasksModel::Private::init() QObject::connect(&sycocaChangeTimer, &QTimer::timeout, q, clearCacheAndRefresh); - void (KSycoca::*myDatabaseChangeSignal)(const QStringList &) = &KSycoca::databaseChanged; - QObject::connect(KSycoca::self(), myDatabaseChangeSignal, q, [this](const QStringList &changedResources) { - if (changedResources.contains(QLatin1String("services")) || changedResources.contains(QLatin1String("apps")) - || changedResources.contains(QLatin1String("xdgdata-apps"))) { - sycocaChangeTimer.start(); - } + void (KSycoca::*myDatabaseChangeSignal)() = &KSycoca::databaseChanged; + QObject::connect(KSycoca::self(), myDatabaseChangeSignal, q, [this]() { + sycocaChangeTimer.start(); }); rulesConfig = KSharedConfig::openConfig(QStringLiteral("taskmanagerrulesrc"));