Summary: | Weather widget should immediately refresh after login or wake from sleep | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Slavi <slavi> |
Component: | Weather widget | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | bugseforuns, ivan.planinar, manuelalcarazzam, nate, plasma-bugs |
Priority: | NOR | Keywords: | junior-jobs |
Version: | 6.2.3 | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Slavi
2019-07-02 04:40:42 UTC
The "time" data engine connects to "resumingFromSuspend". The "weather" engine would need similar code. https://cgit.kde.org/plasma-workspace.git/tree/dataengines/time/timeengine.cpp https://cgit.kde.org/plasma-workspace.git/tree/dataengines/weather/weatherengine.cpp I could fix this, but I don't know what is the correct name for the weather in /org/kde/kcmshell_clock. Something like /org/kde/kcmshell_weather? Thanks My actual diff (not tested): diff --git a/dataengines/weather/weatherengine.cpp b/dataengines/weather/weatherengine.cpp index 53189021..301ae3f9 100644 --- a/dataengines/weather/weatherengine.cpp +++ b/dataengines/weather/weatherengine.cpp @@ -20,6 +20,7 @@ #include "weatherengine.h" +#include <QDBusConnection> #include <QTimer> #include <KSycoca> @@ -46,6 +47,14 @@ WeatherEngine::WeatherEngine(QObject *parent, const QVariantList& args) // Get the list of available plugins but don't load them connect(KSycoca::self(), static_cast<void (KSycoca::*)(const QStringList&)>(&KSycoca::databaseChanged), this, &WeatherEngine::updateIonList); + + dbus.connect(QString(), "/org/kde/kcmshell_clock", "org.kde.kcmshell_clock", "weatherUpdated", this, SLOT(startReconnect())); + dbus.connect(QStringLiteral("org.kde.Solid.PowerManagement"), + QStringLiteral("/org/kde/Solid/PowerManagement/Actions/SuspendSession"), + QStringLiteral("org.kde.Solid.PowerManagement.Actions.SuspendSession"), + QStringLiteral("resumingFromSuspend"), + this, + SLOT(startReconnect())); updateIonList(); } Doesn't it work if you only use the second connect() call? *** Bug 478853 has been marked as a duplicate of this bug. *** |