Hello community, here is the log from the commit of package kjobwidgets for openSUSE:Factory checked in at 2019-05-21 10:29:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjobwidgets (Old) and /work/SRC/openSUSE:Factory/.kjobwidgets.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjobwidgets" Tue May 21 10:29:58 2019 rev:67 rq:703363 version:5.58.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kjobwidgets/kjobwidgets.changes 2019-04-19 21:23:21.743796149 +0200 +++ /work/SRC/openSUSE:Factory/.kjobwidgets.new.5148/kjobwidgets.changes 2019-05-21 10:30:04.447444196 +0200 @@ -1,0 +2,10 @@ +Wed May 15 18:16:17 UTC 2019 - [email protected] + +- Update to 5.58.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.58.0.php +- Changes since 5.57.0: + * [KUiServerJobTracker] Track kuiserver service life time and re-register jobs if needed + +------------------------------------------------------------------- Old: ---- kjobwidgets-5.57.0.tar.xz New: ---- kjobwidgets-5.58.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjobwidgets.spec ++++++ --- /var/tmp/diff_new_pack.HIZxfw/_old 2019-05-21 10:30:05.159443922 +0200 +++ /var/tmp/diff_new_pack.HIZxfw/_new 2019-05-21 10:30:05.171443918 +0200 @@ -17,14 +17,14 @@ %define lname libKF5JobWidgets5 -%define _tar_path 5.57 +%define _tar_path 5.58 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kjobwidgets -Version: 5.57.0 +Version: 5.58.0 Release: 0 Summary: Widgets for showing progress of asynchronous jobs License: LGPL-2.1-or-later ++++++ kjobwidgets-5.57.0.tar.xz -> kjobwidgets-5.58.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/CMakeLists.txt new/kjobwidgets-5.58.0/CMakeLists.txt --- old/kjobwidgets-5.57.0/CMakeLists.txt 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/CMakeLists.txt 2019-05-07 13:25:33.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.57.0") # handled by release scripts -set(KF5_DEP_VERSION "5.57.0") # handled by release scripts +set(KF5_VERSION "5.58.0") # handled by release scripts +set(KF5_DEP_VERSION "5.58.0") # handled by release scripts project(KJobWidgets VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.57.0 NO_MODULE) +find_package(ECM 5.58.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/nb/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/nb/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/nb/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/nb/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -76,17 +76,17 @@ msgid "%1 and %2" msgstr "%1 og %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Stopp" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " Stoppet " -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/se/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/se/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/se/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/se/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -70,19 +70,19 @@ msgid "%1 and %2" msgstr "%1 ja %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 #, fuzzy msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Bisset" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 #, fuzzy msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " Bisánan" -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, fuzzy, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/sr/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/sr/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/sr/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/sr/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -77,17 +77,17 @@ msgid "%1 and %2" msgstr "%1 и %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Заустави" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " застој " -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/sr@ijekavian/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/sr@ijekavian/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/sr@ijekavian/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/sr@ijekavian/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -76,17 +76,17 @@ msgid "%1 and %2" msgstr "%1 и %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Заустави" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " застој " -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/sr@ijekavianlatin/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/sr@ijekavianlatin/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/sr@ijekavianlatin/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/sr@ijekavianlatin/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -76,17 +76,17 @@ msgid "%1 and %2" msgstr "%1 i %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Zaustavi" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " zastoj " -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/sr@latin/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/sr@latin/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/sr@latin/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/sr@latin/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -76,17 +76,17 @@ msgid "%1 and %2" msgstr "%1 i %2" -#: kstatusbarjobtracker.cpp:163 +#: kstatusbarjobtracker.cpp:166 msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Zaustavi" -#: kstatusbarjobtracker.cpp:244 +#: kstatusbarjobtracker.cpp:247 msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " zastoj " -#: kstatusbarjobtracker.cpp:246 +#: kstatusbarjobtracker.cpp:249 #, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/po/zh_CN/kjobwidgets5_qt.po new/kjobwidgets-5.58.0/po/zh_CN/kjobwidgets5_qt.po --- old/kjobwidgets-5.57.0/po/zh_CN/kjobwidgets5_qt.po 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/po/zh_CN/kjobwidgets5_qt.po 2019-05-07 13:25:33.000000000 +0200 @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: kdeorg\n" -"PO-Revision-Date: 2019-03-07 09:22\n" -"Last-Translator: guoyunhe <[email protected]>\n" +"PO-Revision-Date: 2019-05-05 22:21\n" +"Last-Translator: Guo Yunhe (guoyunhe)\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/src/kuiserverjobtracker.cpp new/kjobwidgets-5.58.0/src/kuiserverjobtracker.cpp --- old/kjobwidgets-5.57.0/src/kuiserverjobtracker.cpp 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/src/kuiserverjobtracker.cpp 2019-05-07 13:25:33.000000000 +0200 @@ -27,6 +27,7 @@ #include <kjob.h> #include <QApplication> +#include <QDBusConnection> #include <QIcon> Q_GLOBAL_STATIC(KSharedUiServerProxy, serverProxy) @@ -46,6 +47,8 @@ static void updateDestUrl(KJob *job, org::kde::JobViewV2 *jobView); QHash<KJob *, org::kde::JobViewV2 *> progressJobView; + + QMetaObject::Connection serverRegisteredConnection; }; void KUiServerJobTracker::Private::_k_killJob() @@ -92,6 +95,21 @@ return; } + // Watch the server registering/unregistering and re-register the jobs as needed + if (!d->serverRegisteredConnection) { + d->serverRegisteredConnection = connect(serverProxy(), &KSharedUiServerProxy::serverRegistered, this, [this]() { + // Remember the list of jobs to re-register and then delete the old ones + const QList<KJob *> staleJobs = d->progressJobView.keys(); + + qDeleteAll(d->progressJobView); + d->progressJobView.clear(); + + for (KJob *job : staleJobs) { + registerJob(job); + } + }); + } + const QString appName = QCoreApplication::applicationName(); // This will only work if main() used QIcon::fromTheme. QString programIconName = QApplication::windowIcon().name(); @@ -311,24 +329,32 @@ KSharedUiServerProxy::KSharedUiServerProxy() : m_uiserver(QStringLiteral("org.kde.JobViewServer"), QStringLiteral("/JobViewServer"), QDBusConnection::sessionBus()) + , m_watcher(QStringLiteral("org.kde.JobViewServer"), QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange) { QDBusConnectionInterface *bus = QDBusConnection::sessionBus().interface(); if (!bus->isServiceRegistered(QStringLiteral("org.kde.JobViewServer"))) { QDBusReply<void> reply = bus->startService(QStringLiteral("org.kde.kuiserver")); if (!reply.isValid()) { qCritical() << "Couldn't start kuiserver from org.kde.kuiserver.service:" << reply.error(); - } else if (!bus->isServiceRegistered(QStringLiteral("org.kde.JobViewServer"))) { + return; + } + + if (!bus->isServiceRegistered(QStringLiteral("org.kde.JobViewServer"))) { qCDebug(KJOBWIDGETS) << "The dbus name org.kde.JobViewServer is STILL NOT REGISTERED, even after starting kuiserver. Should not happen."; - } else { - qCDebug(KJOBWIDGETS) << "kuiserver registered"; + return; } + + qCDebug(KJOBWIDGETS) << "kuiserver registered"; } else { qCDebug(KJOBWIDGETS) << "kuiserver found"; } + + connect(&m_watcher, &QDBusServiceWatcher::serviceOwnerChanged, this, &KSharedUiServerProxy::uiserverOwnerChanged); } KSharedUiServerProxy::~KSharedUiServerProxy() { + } org::kde::JobViewServer &KSharedUiServerProxy::uiserver() @@ -336,5 +362,16 @@ return m_uiserver; } +void KSharedUiServerProxy::uiserverOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner) +{ + Q_UNUSED(serviceName); + + if (oldOwner.isEmpty()) { // registered + emit serverRegistered(); + } else if (newOwner.isEmpty()) { // unregistered + emit serverUnregistered(); + } +} + #include "moc_kuiserverjobtracker.cpp" #include "moc_kuiserverjobtracker_p.cpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.57.0/src/kuiserverjobtracker_p.h new/kjobwidgets-5.58.0/src/kuiserverjobtracker_p.h --- old/kjobwidgets-5.57.0/src/kuiserverjobtracker_p.h 2019-04-07 09:29:58.000000000 +0200 +++ new/kjobwidgets-5.58.0/src/kuiserverjobtracker_p.h 2019-05-07 13:25:33.000000000 +0200 @@ -25,6 +25,7 @@ #define KUISERVERJOBTRACKER_P_H #include <QMap> +#include <QDBusServiceWatcher> #include "jobviewserverinterface.h" @@ -38,8 +39,15 @@ org::kde::JobViewServer &uiserver(); +Q_SIGNALS: + void serverRegistered(); + void serverUnregistered(); + private: + void uiserverOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner); + org::kde::JobViewServer m_uiserver; + QDBusServiceWatcher m_watcher; }; #endif
