Hello community, here is the log from the commit of package kactivities5 for openSUSE:Factory checked in at 2016-07-03 12:19:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kactivities5 (Old) and /work/SRC/openSUSE:Factory/.kactivities5.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kactivities5" Changes: -------- --- /work/SRC/openSUSE:Factory/kactivities5/kactivities5.changes 2016-05-19 12:06:19.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kactivities5.new/kactivities5.changes 2016-07-03 12:20:19.000000000 +0200 @@ -1,0 +2,8 @@ +Mon Jun 6 21:23:09 UTC 2016 - [email protected] + +- Update to 5.23.0 + * Adding runningActivities property to the Consumer + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.23.0.php + +------------------------------------------------------------------- Old: ---- kactivities-5.22.0.tar.xz New: ---- kactivities-5.23.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kactivities5.spec ++++++ --- /var/tmp/diff_new_pack.A5XWwQ/_old 2016-07-03 12:20:20.000000000 +0200 +++ /var/tmp/diff_new_pack.A5XWwQ/_new 2016-07-03 12:20:20.000000000 +0200 @@ -17,9 +17,9 @@ %define lname libKF5Activities5 -%define _tar_path 5.22 +%define _tar_path 5.23 Name: kactivities5 -Version: 5.22.0 +Version: 5.23.0 Release: 0 %define kf5_version %{version} Summary: KDE Plasma Activities support ++++++ kactivities-5.22.0.tar.xz -> kactivities-5.23.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/CMakeLists.txt new/kactivities-5.23.0/CMakeLists.txt --- old/kactivities-5.22.0/CMakeLists.txt 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/CMakeLists.txt 2016-06-06 11:25:04.000000000 +0200 @@ -36,7 +36,7 @@ # Extra CMake stuff include(FeatureSummary) -find_package(ECM 5.22.0 NO_MODULE) +find_package(ECM 5.23.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) @@ -53,8 +53,8 @@ find_package (Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS Core DBus) # KDE Frameworks -set(KF5_VERSION "5.22.0") # handled by release scripts -set(KF5_DEP_VERSION "5.22.0") # handled by release scripts +set(KF5_VERSION "5.23.0") # handled by release scripts +set(KF5_DEP_VERSION "5.23.0") # handled by release scripts # Basic includes include (CPack) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/metainfo.yaml new/kactivities-5.23.0/metainfo.yaml --- old/kactivities-5.22.0/metainfo.yaml 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/metainfo.yaml 2016-06-06 11:25:04.000000000 +0200 @@ -12,3 +12,7 @@ - qmake: KActivities cmake: "KF5::Activities" cmakename: KF5Activities + +public_lib: true +group: Frameworks +subgroup: Tier 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/src/lib/activitiescache_p.cpp new/kactivities-5.23.0/src/lib/activitiescache_p.cpp --- old/kactivities-5.22.0/src/lib/activitiescache_p.cpp 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/src/lib/activitiescache_p.cpp 2016-06-06 11:25:04.000000000 +0200 @@ -168,9 +168,28 @@ { auto where = find<Mutable>(id); - if (where) { + if (where && where->state != state) { + auto isInvalid = [](int state) { + return state == Info::Invalid || state == Info::Unknown; + }; + auto isStopped = [](int state) { + return state == Info::Stopped || state == Info::Starting; + }; + auto isRunning = [](int state) { + return state == Info::Running || state == Info::Stopping; + }; + + const bool runningStateChanged + = (isInvalid(state) || isInvalid(where->state) + || (isStopped(state) && isRunning(where->state)) + || (isRunning(state) && isStopped(where->state))); + where->state = state; + if (runningStateChanged) { + emit runningActivityListChanged(); + } + emit activityStateChanged(id, state); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/src/lib/activitiescache_p.h new/kactivities-5.23.0/src/lib/activitiescache_p.h --- old/kactivities-5.22.0/src/lib/activitiescache_p.h 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/src/lib/activitiescache_p.h 2016-06-06 11:25:04.000000000 +0200 @@ -55,6 +55,7 @@ void currentActivityChanged(const QString &id); void serviceStatusChanged(Consumer::ServiceStatus status); void activityListChanged(); + void runningActivityListChanged(); private Q_SLOTS: void updateAllActivities(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/src/lib/consumer.cpp new/kactivities-5.23.0/src/lib/consumer.cpp --- old/kactivities-5.22.0/src/lib/consumer.cpp 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/src/lib/consumer.cpp 2016-06-06 11:25:04.000000000 +0200 @@ -52,6 +52,8 @@ connect(d->cache.get(), &ActivitiesCache::activityListChanged, this, [=]() { emit activitiesChanged(activities()); }); + connect(d->cache.get(), &ActivitiesCache::runningActivityListChanged, + this, [=]() { emit runningActivitiesChanged(runningActivities()); }); // connect(d->cache.get(), SIGNAL(activityStateChanged(QString,int)), // this, SIGNAL(activityStateChanged(QString,int))); @@ -74,8 +76,9 @@ result.reserve(d->cache->m_activities.size()); foreach (const auto & info, d->cache->m_activities) { - if (info.state == state) + if (info.state == state) { result << info.id; + } } return result; @@ -94,6 +97,23 @@ return result; } +QStringList Consumer::runningActivities() const +{ + QStringList result; + + result.reserve(d->cache->m_activities.size()); + + foreach (const auto & info, d->cache->m_activities) { + if (info.state == Info::Running || info.state == Info::Stopping) { + result << info.id; + } + } + + return result; + return activities(Info::Running); +} + + Consumer::ServiceStatus Consumer::serviceStatus() { return d->cache->m_status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/src/lib/consumer.h new/kactivities-5.23.0/src/lib/consumer.h --- old/kactivities-5.22.0/src/lib/consumer.h 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/src/lib/consumer.h 2016-06-06 11:25:04.000000000 +0200 @@ -79,6 +79,7 @@ Q_PROPERTY(QString currentActivity READ currentActivity NOTIFY currentActivityChanged) Q_PROPERTY(QStringList activities READ activities NOTIFY activitiesChanged) + Q_PROPERTY(QStringList runningActivities READ runningActivities NOTIFY runningActivitiesChanged) Q_PROPERTY(ServiceStatus serviceStatus READ serviceStatus NOTIFY serviceStatusChanged) public: @@ -111,6 +112,13 @@ */ QStringList activities(Info::State state) const; + + /** + * @returns a list of running activities + * This is a convenience method that returns Running and Stopping activities + */ + QStringList runningActivities() const; + /** * @returns the list of all existing activities * @note If the serviceStatus is not Running, only a null activity will be @@ -153,7 +161,15 @@ * This signal is emitted when the activity list changes * @param activities list of activities */ - void activitiesChanged(const QStringList & activities); + void activitiesChanged(const QStringList &activities); + + /** + * This signal is emitted when the list of running activities changes + * @param runningActivities list of running activities + */ + void runningActivitiesChanged(const QStringList &runningActivities); + + private: const QScopedPointer<ConsumerPrivate> d; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/tests/activities-model/window.cpp new/kactivities-5.23.0/tests/activities-model/window.cpp --- old/kactivities-5.22.0/tests/activities-model/window.cpp 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/tests/activities-model/window.cpp 2016-06-06 11:25:04.000000000 +0200 @@ -95,6 +95,7 @@ Window::Window() : ui(new Ui::MainWindow()) + , activities(new KActivities::Consumer(this)) , modelRunningActivities(new KActivities::ActivitiesModel({ KActivities::Info::Running, KActivities::Info::Stopping }, this)) , modelStoppedActivities(new KActivities::ActivitiesModel({ KActivities::Info::Stopped, KActivities::Info::Starting }, this)) { @@ -107,6 +108,10 @@ modelStoppedActivities->setObjectName("STOPPED"); ui->listStoppedActivities->setModel(modelStoppedActivities); ui->listStoppedActivities->setItemDelegate(new Delegate()); + + qDebug() << + connect(activities, &KActivities::Consumer::runningActivitiesChanged, + this, [] (const QStringList &running) { qDebug() << running; }); } void Window::showEvent(QShowEvent * event) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-5.22.0/tests/activities-model/window.h new/kactivities-5.23.0/tests/activities-model/window.h --- old/kactivities-5.22.0/tests/activities-model/window.h 2016-05-06 21:30:28.000000000 +0200 +++ new/kactivities-5.23.0/tests/activities-model/window.h 2016-06-06 11:25:04.000000000 +0200 @@ -22,6 +22,7 @@ #include <QMainWindow> #include <activitiesmodel.h> +#include <consumer.h> namespace Ui { class MainWindow; @@ -39,6 +40,7 @@ private: Ui::MainWindow *ui; + KActivities::Consumer *activities; KActivities::ActivitiesModel *modelRunningActivities; KActivities::ActivitiesModel *modelStoppedActivities; };
