diff --git a/applets/taskmanager/package/contents/ui/Task.qml b/applets/taskmanager/package/contents/ui/Task.qml --- a/applets/taskmanager/package/contents/ui/Task.qml +++ b/applets/taskmanager/package/contents/ui/Task.qml @@ -227,7 +227,7 @@ subTextEntries.push(i18n("On %1", task.DesktopName)); } - if (task.OnAllActivities) { + if (task.OnAllActivities && backend.numberOfActivities() > 1) { subTextEntries.push(i18nc("Which virtual desktop a window is currently on", "Available on all activities")); } else if (plasmoid.configuration.showOnlyCurrentActivity) { diff --git a/applets/taskmanager/plugin/backend.h b/applets/taskmanager/plugin/backend.h --- a/applets/taskmanager/plugin/backend.h +++ b/applets/taskmanager/plugin/backend.h @@ -34,6 +34,10 @@ class LauncherItem; } +namespace KActivities { + class Consumer; +} + class Backend : public QObject { Q_OBJECT @@ -86,6 +90,7 @@ Q_INVOKABLE bool canPresentWindows() const; Q_INVOKABLE int numberOfDesktops() const; + Q_INVOKABLE int numberOfActivities() const; public Q_SLOTS: void activateItem(int id, bool toggle); @@ -129,6 +134,7 @@ bool m_highlightWindows; QList m_windowsToHighlight; QString m_launchers; + KActivities::Consumer *m_activitiesConsumer; }; #endif diff --git a/applets/taskmanager/plugin/backend.cpp b/applets/taskmanager/plugin/backend.cpp --- a/applets/taskmanager/plugin/backend.cpp +++ b/applets/taskmanager/plugin/backend.cpp @@ -42,6 +42,7 @@ #include #include +#include #include #include #include @@ -58,7 +59,8 @@ m_taskManagerItem(0), m_toolTipItem(0), m_panelWinId(0), - m_highlightWindows(false) + m_highlightWindows(false), + m_activitiesConsumer(new KActivities::Consumer(this)) { connect(m_groupManager, SIGNAL(launcherListChanged()), this, SLOT(updateLaunchersCache())); } @@ -628,6 +630,11 @@ return KWindowSystem::numberOfDesktops(); } +int Backend::numberOfActivities() const +{ + return m_activitiesConsumer->activities(KActivities::Info::State::Running).count(); +} + void Backend::presentWindows(int groupParentId) { TaskManager::AbstractGroupableItem *item = m_groupManager->rootGroup()->getMemberById(groupParentId);