diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ Concurrent ) -set(KF5_MIN_VERSION "5.19.0") +set(KF5_MIN_VERSION "5.20.0") find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Auth Plasma @@ -48,6 +48,7 @@ Declarative People DBusAddons + Activities ) find_package(LibKWorkspace CONFIG REQUIRED) @@ -64,12 +65,6 @@ PURPOSE "Provides package management integration to the application launcher." ) -find_package(KF5Activities ${KF5_MIN_VERSION}) -set_package_properties(KF5Activities PROPERTIES DESCRIPTION "management of Plasma activities" - TYPE OPTIONAL - PURPOSE "Needed by activity related plasmoids and the pager." - ) - # Baloo is currently part of the KF5 namespace, but it is not # a proper framework. Hence the strange versioning. # This will be fixed with Plasma 5.2, as Baloo should have diff --git a/imports/activitymanager/CMakeLists.txt b/imports/activitymanager/CMakeLists.txt --- a/imports/activitymanager/CMakeLists.txt +++ b/imports/activitymanager/CMakeLists.txt @@ -23,8 +23,6 @@ activityswitcherextensionplugin.cpp switcherbackend.cpp sortedactivitiesmodel.cpp - - backport/switcheractivitiesmodel.cpp ) add_library (activityswitcherextensionplugin SHARED ${activityswitcher_imports_LIB_SRCS}) diff --git a/imports/activitymanager/backport/model_updaters.h b/imports/activitymanager/backport/model_updaters.h deleted file mode 100644 --- a/imports/activitymanager/backport/model_updaters.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2012 Ivan Cukic - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * or (at your option) any later version, as published by the Free - * Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef KACTIVITIES_IMPORTS_UTILS_P_H -#define KACTIVITIES_IMPORTS_UTILS_P_H - -// ----------------------------------------- -// RAII classes for model updates ---------- -// ----------------------------------------- - -#define DECLARE_RAII_MODEL_UPDATERS(Class) \ - template class _model_reset { \ - T *model; \ - \ - public: \ - _model_reset(T *m) : model(m) \ - { \ - model->beginResetModel(); \ - } \ - ~_model_reset() \ - { \ - model->endResetModel(); \ - } \ - }; \ - template class _model_insert { \ - T *model; \ - \ - public: \ - _model_insert(T *m, const QModelIndex &parent, int first, int last) \ - : model(m) \ - { \ - model->beginInsertRows(parent, first, last); \ - } \ - ~_model_insert() \ - { \ - model->endInsertRows(); \ - } \ - }; \ - template class _model_remove { \ - T *model; \ - \ - public: \ - _model_remove(T *m, const QModelIndex &parent, int first, int last) \ - : model(m) \ - { \ - model->beginRemoveRows(parent, first, last); \ - } \ - ~_model_remove() \ - { \ - model->endRemoveRows(); \ - } \ - }; \ - typedef _model_reset model_reset; \ - typedef _model_remove model_remove; \ - typedef _model_insert model_insert; - -// ----------------------------------------- - -#endif // KACTIVITIES_IMPORTS_UTILS_P_H - diff --git a/imports/activitymanager/backport/qflatset.h b/imports/activitymanager/backport/qflatset.h deleted file mode 100644 --- a/imports/activitymanager/backport/qflatset.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2016 by Ivan Čukić - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) version 3, or any - * later version accepted by the membership of KDE e.V. (or its - * successor approved by the membership of KDE e.V.), which shall - * act as a proxy defined in Section 6 of version 3 of the license. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. - * If not, see . - */ - -#ifndef KACTIVITIES_STATS_QFLATSET_H -#define KACTIVITIES_STATS_QFLATSET_H - -#include -#include - -namespace KActivities { - -template -class QFlatSet: public QVector { -public: - inline - QPair::iterator, bool> insert(const T &value) - { - auto comparator = Comparator(); - auto begin = this->begin(); - auto end = this->end(); - - // We want small sets, so a binary search - // will be slower than a serial search - auto iterator = std::find_if(begin, end, - [&] (const T ¤t) { - return comparator(value, current); - }); - - if (iterator != end) { - if (comparator(*iterator, value)) { - // Already present - return { iterator, false }; - } - } - - QVector::insert(iterator, value); - - return { iterator, true }; - } -}; - - -} // namespace KActivities - -#endif // KACTIVITIES_STATS_QFLATSET_H - diff --git a/imports/activitymanager/backport/switcheractivitiesmodel.h b/imports/activitymanager/backport/switcheractivitiesmodel.h deleted file mode 100644 --- a/imports/activitymanager/backport/switcheractivitiesmodel.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2012, 2013, 2014 Ivan Cukic - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * or (at your option) any later version, as published by the Free - * Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef ACTIVITIES_ACTIVITIESMODEL_H -#define ACTIVITIES_ACTIVITIESMODEL_H - -// Qt -#include -#include - -// STL -#include - -#include - -class QModelIndex; -class QDBusPendingCallWatcher; - -namespace KActivitiesBackport { - -using namespace KActivities; - -class ActivitiesModelPrivate; - -/** - * Data model that shows existing activities - */ -class KACTIVITIES_EXPORT ActivitiesModel : public QAbstractListModel { - Q_OBJECT - - Q_PROPERTY(QVector shownStates READ shownStates WRITE setShownStates NOTIFY shownStatesChanged) - -public: - ActivitiesModel(QObject *parent = 0); - - /** - * Constructs the model and sets the shownStates - */ - ActivitiesModel(QVector shownStates, QObject *parent = 0); - virtual ~ActivitiesModel(); - - int rowCount(const QModelIndex &parent = QModelIndex()) const - Q_DECL_OVERRIDE; - - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const - Q_DECL_OVERRIDE; - - QVariant headerData(int section, Qt::Orientation orientation, - int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; - - QHash roleNames() const Q_DECL_OVERRIDE; - - enum Roles { - ActivityId = Qt::UserRole, ///< UUID of the activity - ActivityName = Qt::UserRole + 1, ///< Activity name - ActivityDescription = Qt::UserRole + 2, ///< Activity description - ActivityIconSource = Qt::UserRole + 3, ///< Activity icon source name - ActivityState = Qt::UserRole + 4, ///< The current state of the activity @see Info::State - ActivityBackground = Qt::UserRole + 5, ///< Activity wallpaper (currently unsupported) - ActivityIsCurrent = Qt::UserRole + 6, ///< Is this activity the current one current - - UserRole = Qt::UserRole + 32 ///< To be used by models that inherit this one - }; - -public Q_SLOTS: - /** - * The model can filter the list of activities based on their state. - * This method sets which states should be shown. - */ - void setShownStates(const QVector &shownStates); - - /** - * The model can filter the list of activities based on their state. - * This method returns which states are currently shown. - */ - QVector shownStates() const; - -Q_SIGNALS: - void shownStatesChanged(const QVector &state); - -private: - friend class ActivitiesModelPrivate; - ActivitiesModelPrivate * const d; -}; - -} // namespace KActivitiesBackport - -#endif // ACTIVITIES_ACTIVITIESMODEL_H - diff --git a/imports/activitymanager/backport/switcheractivitiesmodel.cpp b/imports/activitymanager/backport/switcheractivitiesmodel.cpp deleted file mode 100644 --- a/imports/activitymanager/backport/switcheractivitiesmodel.cpp +++ /dev/null @@ -1,430 +0,0 @@ -/* - * Copyright (C) 2012 - 2016 Ivan Cukic - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * or (at your option) any later version, as published by the Free - * Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -// Self -#include "switcheractivitiesmodel.h" -#include "switcheractivitiesmodel_p.h" - -// Qt -#include -#include -#include -#include - -namespace KActivitiesBackport { - -namespace Private { - - template - struct ActivityPosition { - ActivityPosition() - : isValid(false) - , index(0) - , iterator() - { - } - - ActivityPosition(unsigned int index, - typename _Container::const_iterator iterator) - : isValid(true) - , index(index) - , iterator(iterator) - { - } - - operator bool() const - { - return isValid; - } - - const bool isValid; - const unsigned int index; - const typename _Container::const_iterator iterator; - - typedef typename _Container::value_type ContainerElement; - }; - - /** - * Returns whether the the activity has a desired state. - * If the state is 0, returns true - */ - template - inline bool matchingState(ActivitiesModelPrivate::InfoPtr activity, - const T &states) - { - return states.empty() || states.contains(activity->state()); - } - - /** - * Searches for the activity. - * Returns an option(index, iterator) for the found activity. - */ - template - inline - ActivityPosition<_Container> - activityPosition(const _Container &container, const QString &activityId) - { - auto position = std::find_if(container.begin(), container.end(), - [&] (const typename ActivityPosition<_Container>::ContainerElement &activity) { - return activity->id() == activityId; - } - ); - - return (position != container.end()) ? - ActivityPosition<_Container>(position - container.begin(), position) : - ActivityPosition<_Container>(); - } - - /** - * Notifies the model that an activity was updated - */ - template - inline - void emitActivityUpdated(_Model *model, - const _Container &container, - const QString &activity, int role) - { - auto position = Private::activityPosition(container, activity); - - if (position) { - emit model->q->dataChanged( - model->q->index(position.index), - model->q->index(position.index), - role == Qt::DecorationRole ? - QVector {role, ActivitiesModel::ActivityIconSource} : - QVector {role} - ); - } - } - - /** - * Notifies the model that an activity was updated - */ - template - inline - void emitActivityUpdated(_Model *model, - const _Container &container, - QObject *activityInfo, int role) - { - const auto activity = static_cast (activityInfo); - emitActivityUpdated(model, container, activity->id(), role); - } - -} - -ActivitiesModelPrivate::ActivitiesModelPrivate(ActivitiesModel *parent) - : q(parent) -{ -} - -ActivitiesModel::ActivitiesModel(QObject *parent) - : QAbstractListModel(parent) - , d(new ActivitiesModelPrivate(this)) -{ - // Initializing role names for qml - connect(&d->activities, &Consumer::serviceStatusChanged, - this, [this] (Consumer::ServiceStatus status) { d->setServiceStatus(status); }); - - connect(&d->activities, &Consumer::activityAdded, - this, [this] (const QString &activity) { d->onActivityAdded(activity); }); - connect(&d->activities, &Consumer::activityRemoved, - this, [this] (const QString &activity) { d->onActivityRemoved(activity); }); - connect(&d->activities, &Consumer::currentActivityChanged, - this, [this] (const QString &activity) { d->onCurrentActivityChanged(activity); }); - - d->setServiceStatus(d->activities.serviceStatus()); -} - -ActivitiesModel::ActivitiesModel(QVector shownStates, QObject *parent) - : QAbstractListModel(parent) - , d(new ActivitiesModelPrivate(this)) -{ - d->shownStates = shownStates; - - // Initializing role names for qml - connect(&d->activities, &Consumer::serviceStatusChanged, - this, [this] (Consumer::ServiceStatus status) { d->setServiceStatus(status); }); - - connect(&d->activities, &Consumer::activityAdded, - this, [this] (const QString &activity) { d->onActivityAdded(activity); }); - connect(&d->activities, &Consumer::activityRemoved, - this, [this] (const QString &activity) { d->onActivityRemoved(activity); }); - connect(&d->activities, &Consumer::currentActivityChanged, - this, [this] (const QString &activity) { d->onCurrentActivityChanged(activity); }); - - d->setServiceStatus(d->activities.serviceStatus()); -} - -ActivitiesModel::~ActivitiesModel() -{ - delete d; -} - -QHash ActivitiesModel::roleNames() const -{ - return { - {ActivityName, "name"}, - {ActivityState, "state"}, - {ActivityId, "id"}, - {ActivityIconSource, "iconSource"}, - {ActivityDescription, "description"}, - {ActivityBackground, "background"}, - {ActivityIsCurrent, "isCurrent"} - }; -} - - -void ActivitiesModelPrivate::setServiceStatus(Consumer::ServiceStatus) -{ - replaceActivities(activities.activities()); -} - -void ActivitiesModelPrivate::replaceActivities(const QStringList &activities) -{ - model_reset m(q); - - knownActivities.clear(); - shownActivities.clear(); - - for (const QString &activity: activities) { - onActivityAdded(activity, false); - } -} - -void ActivitiesModelPrivate::onActivityAdded(const QString &id, bool notifyClients) -{ - auto info = registerActivity(id); - - showActivity(info, notifyClients); -} - -void ActivitiesModelPrivate::onActivityRemoved(const QString &id) -{ - hideActivity(id); - unregisterActivity(id); -} - -void ActivitiesModelPrivate::onCurrentActivityChanged(const QString &id) -{ - Q_UNUSED(id); - - for (const auto &activity: shownActivities) { - Private::emitActivityUpdated(this, shownActivities, activity->id(), - ActivitiesModel::ActivityIsCurrent); - } -} - -ActivitiesModelPrivate::InfoPtr ActivitiesModelPrivate::registerActivity(const QString &id) -{ - auto position = Private::activityPosition(knownActivities, id); - - if (position) { - return *(position.iterator); - - } else { - auto activityInfo = std::make_shared(id); - - auto ptr = activityInfo.get(); - - connect(ptr, &Info::nameChanged, - this, &ActivitiesModelPrivate::onActivityNameChanged); - connect(ptr, &Info::descriptionChanged, - this, &ActivitiesModelPrivate::onActivityDescriptionChanged); - connect(ptr, &Info::iconChanged, - this, &ActivitiesModelPrivate::onActivityIconChanged); - connect(ptr, &Info::stateChanged, - this, &ActivitiesModelPrivate::onActivityStateChanged); - - knownActivities.insert(InfoPtr(activityInfo)); - - return activityInfo; - } -} - -void ActivitiesModelPrivate::unregisterActivity(const QString &id) -{ - auto position = Private::activityPosition(knownActivities, id); - - if (position) { - if (auto shown = Private::activityPosition(shownActivities, id)) { - model_remove m(q, QModelIndex(), shown.index, shown.index); - shownActivities.removeAt(shown.index); - } - - knownActivities.removeAt(position.index); - } -} - -void ActivitiesModelPrivate::showActivity(InfoPtr activityInfo, bool notifyClients) -{ - // Should it really be shown? - if (!Private::matchingState(activityInfo, shownStates)) return; - - // Is it already shown? - if (std::binary_search(shownActivities.cbegin(), shownActivities.cend(), - activityInfo, InfoPtrComparator())) return; - - auto registeredPosition - = Private::activityPosition(knownActivities, activityInfo->id()); - - if (!registeredPosition) { - qDebug() << "Got a request to show an unknown activity, ignoring"; - return; - } - - auto activityInfoPtr = *(registeredPosition.iterator); - - auto position = shownActivities.insert(activityInfoPtr); - - if (notifyClients) { - unsigned int index = - (position.second ? position.first : shownActivities.end()) - - shownActivities.begin(); - - model_insert m(q, QModelIndex(), index, index); - } -} - -void ActivitiesModelPrivate::hideActivity(const QString &id) -{ - auto position = Private::activityPosition(shownActivities, id); - - if (position) { - model_remove m(q, QModelIndex(), position.index, position.index); - shownActivities.removeAt(position.index); - } -} - -#define CREATE_SIGNAL_EMITTER(What, Role) \ - void ActivitiesModelPrivate::onActivity##What##Changed(const QString &) \ - { \ - Private::emitActivityUpdated(this, shownActivities, sender(), Role); \ - } - -CREATE_SIGNAL_EMITTER(Name, Qt::DisplayRole) -CREATE_SIGNAL_EMITTER(Description, ActivitiesModel::ActivityDescription) -CREATE_SIGNAL_EMITTER(Icon, Qt::DecorationRole) - -#undef CREATE_SIGNAL_EMITTER - -void ActivitiesModelPrivate::onActivityStateChanged(Info::State state) -{ - if (shownStates.empty()) { - Private::emitActivityUpdated(this, shownActivities, sender(), - ActivitiesModel::ActivityState); - - } else { - auto info = findActivity(sender()); - - if (!info) { - return; - } - - if (shownStates.contains(state)) { - showActivity(info, true); - } else { - hideActivity(info->id()); - } - } -} - -void ActivitiesModel::setShownStates(const QVector &states) -{ - d->shownStates = states; - - d->replaceActivities(d->activities.activities()); - - emit shownStatesChanged(states); -} - -QVector ActivitiesModel::shownStates() const -{ - return d->shownStates; -} - -int ActivitiesModel::rowCount(const QModelIndex &parent) const -{ - if (parent.isValid()) return 0; - - return d->shownActivities.size(); -} - -QVariant ActivitiesModel::data(const QModelIndex &index, int role) const -{ - const int row = index.row(); - const auto &item = d->shownActivities.at(row); - - switch (role) { - case Qt::DisplayRole: - case ActivityName: - return item->name(); - - case ActivityId: - return item->id(); - - case ActivityState: - return item->state(); - - case Qt::DecorationRole: - case ActivityIconSource: - { - const QString &icon = item->icon(); - - // We need a default icon for activities - return icon.isEmpty() ? "preferences-activities" : icon; - } - - case ActivityDescription: - return item->description(); - - case ActivityIsCurrent: - return d->activities.currentActivity() == item->id(); - - default: - return QVariant(); - } -} - -QVariant ActivitiesModel::headerData(int section, Qt::Orientation orientation, - int role) const -{ - Q_UNUSED(section); - Q_UNUSED(orientation); - Q_UNUSED(role); - - return QVariant(); -} - -ActivitiesModelPrivate::InfoPtr ActivitiesModelPrivate::findActivity(QObject *ptr) const -{ - auto info = std::find_if(knownActivities.cbegin(), knownActivities.cend(), - [ptr] (const InfoPtr &info) { - return ptr == info.get(); - } - ); - - if (info == knownActivities.end()) { - return nullptr; - } else { - return *info; - } -} - -} // namespace KActivitiesBackport - diff --git a/imports/activitymanager/backport/switcheractivitiesmodel_p.h b/imports/activitymanager/backport/switcheractivitiesmodel_p.h deleted file mode 100644 --- a/imports/activitymanager/backport/switcheractivitiesmodel_p.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2012, 2013, 2014 Ivan Cukic - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * or (at your option) any later version, as published by the Free - * Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef ACTIVITIES_ACTIVITYMODEL_P_H -#define ACTIVITIES_ACTIVITYMODEL_P_H - -#include -#include - -#include "model_updaters.h" -#include "switcheractivitiesmodel.h" -#include "qflatset.h" - -namespace KActivitiesBackport { - -class ActivitiesModelPrivate : public QObject { - Q_OBJECT -public: - ActivitiesModelPrivate(ActivitiesModel *parent); - -public Q_SLOTS: - void onActivityNameChanged(const QString &name); - void onActivityDescriptionChanged(const QString &description); - void onActivityIconChanged(const QString &icon); - void onActivityStateChanged(KActivities::Info::State state); - - void replaceActivities(const QStringList &activities); - void onActivityAdded(const QString &id, bool notifyClients = true); - void onActivityRemoved(const QString &id); - void onCurrentActivityChanged(const QString &id); - - void setServiceStatus(KActivities::Consumer::ServiceStatus status); - -public: - KActivities::Consumer activities; - QVector shownStates; - - typedef std::shared_ptr InfoPtr; - - struct InfoPtrComparator { - bool operator() (const InfoPtr& left, const InfoPtr& right) const - { - const QString &leftName = left->name().toLower(); - const QString &rightName = right->name().toLower(); - - return - (leftName < rightName) || - (leftName == rightName && left->id() < right->id()); - } - }; - - QFlatSet knownActivities; - QFlatSet shownActivities; - - InfoPtr registerActivity(const QString &id); - void unregisterActivity(const QString &id); - void showActivity(InfoPtr activityInfo, bool notifyClients); - void hideActivity(const QString &id); - void backgroundsUpdated(const QStringList &activities); - - InfoPtr findActivity(QObject *ptr) const; - - ActivitiesModel *const q; - - DECLARE_RAII_MODEL_UPDATERS(ActivitiesModel) -}; - -} // namespace KActivitiesBackport - -#endif // ACTIVITIES_ACTIVITYMODEL_P_H - diff --git a/imports/activitymanager/sortedactivitiesmodel.h b/imports/activitymanager/sortedactivitiesmodel.h --- a/imports/activitymanager/sortedactivitiesmodel.h +++ b/imports/activitymanager/sortedactivitiesmodel.h @@ -27,9 +27,7 @@ // KDE #include #include - -// TODO: Remove after 5.6 -#include "backport/switcheractivitiesmodel.h" +#include #include @@ -56,10 +54,10 @@ bool lessThan(const QModelIndex & source_left, const QModelIndex & source_right) const; enum AdditionalRoles { - LastTimeUsed = KActivitiesBackport::ActivitiesModel::UserRole, - LastTimeUsedString = KActivitiesBackport::ActivitiesModel::UserRole + 1, - WindowCount = KActivitiesBackport::ActivitiesModel::UserRole + 2, - HasWindows = KActivitiesBackport::ActivitiesModel::UserRole + 3 + LastTimeUsed = KActivities::ActivitiesModel::UserRole, + LastTimeUsedString = KActivities::ActivitiesModel::UserRole + 1, + WindowCount = KActivities::ActivitiesModel::UserRole + 2, + HasWindows = KActivities::ActivitiesModel::UserRole + 3 }; public Q_SLOTS: @@ -92,7 +90,7 @@ QString m_previousActivity; - KActivitiesBackport::ActivitiesModel *m_activitiesModel; + KActivities::ActivitiesModel *m_activitiesModel; KActivities::Consumer *m_activities; QHash> m_activitiesWindows; diff --git a/imports/activitymanager/sortedactivitiesmodel.cpp b/imports/activitymanager/sortedactivitiesmodel.cpp --- a/imports/activitymanager/sortedactivitiesmodel.cpp +++ b/imports/activitymanager/sortedactivitiesmodel.cpp @@ -175,7 +175,7 @@ SortedActivitiesModel::SortedActivitiesModel(QVector states, QObject *parent) : QSortFilterProxyModel(parent) , m_sortByLastUsedTime(true) - , m_activitiesModel(new KActivitiesBackport::ActivitiesModel(states, this)) + , m_activitiesModel(new KActivities::ActivitiesModel(states, this)) , m_activities(new KActivities::Consumer(this)) { setSourceModel(m_activitiesModel); @@ -262,17 +262,17 @@ const QModelIndex &sourceRight) const { if (m_sortByLastUsedTime) { - const auto activityLeft = sourceModel()->data(sourceLeft, KActivitiesBackport::ActivitiesModel::ActivityId); - const auto activityRight = sourceModel()->data(sourceRight, KActivitiesBackport::ActivitiesModel::ActivityId); + const auto activityLeft = sourceModel()->data(sourceLeft, KActivities::ActivitiesModel::ActivityId); + const auto activityRight = sourceModel()->data(sourceRight, KActivities::ActivitiesModel::ActivityId); const auto timeLeft = lastUsedTime(activityLeft.toString()); const auto timeRight = lastUsedTime(activityRight.toString()); return timeLeft < timeRight; } else { - const auto titleLeft = sourceModel()->data(sourceLeft, KActivitiesBackport::ActivitiesModel::ActivityName); - const auto titleRight = sourceModel()->data(sourceRight, KActivitiesBackport::ActivitiesModel::ActivityName); + const auto titleLeft = sourceModel()->data(sourceLeft, KActivities::ActivitiesModel::ActivityName); + const auto titleRight = sourceModel()->data(sourceRight, KActivities::ActivitiesModel::ActivityName); return titleLeft < titleRight; } @@ -294,7 +294,7 @@ QVariant SortedActivitiesModel::data(const QModelIndex &index, int role) const { - if (role == KActivitiesBackport::ActivitiesModel::ActivityBackground) { + if (role == KActivities::ActivitiesModel::ActivityBackground) { const auto activity = activityIdForIndex(index); return backgrounds().forActivity[activity]; @@ -348,7 +348,7 @@ QString SortedActivitiesModel::activityIdForIndex(const QModelIndex &index) const { - return data(index, KActivitiesBackport::ActivitiesModel::ActivityId).toString(); + return data(index, KActivities::ActivitiesModel::ActivityId).toString(); } QString SortedActivitiesModel::activityIdForRow(int row) const @@ -405,7 +405,7 @@ { for (const auto &activity: activities) { const int row = rowForActivityId(activity); - emit rowChanged(row, { KActivitiesBackport::ActivitiesModel::ActivityBackground }); + emit rowChanged(row, { KActivities::ActivitiesModel::ActivityBackground }); } }