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); diff --git a/containments/desktop/package/contents/ui/ConfigLocation.qml b/containments/desktop/package/contents/ui/ConfigLocation.qml --- a/containments/desktop/package/contents/ui/ConfigLocation.qml +++ b/containments/desktop/package/contents/ui/ConfigLocation.qml @@ -106,27 +106,17 @@ } GridLayout { + columnSpacing: 0 + RadioButton { id: locationPlace Layout.column: 0 - Layout.rowSpan: 2 + Layout.columnSpan: 3 Layout.alignment: Qt.AlignTop - exclusiveGroup: locationGroup - - onCheckedChanged: { - locationPlaceValue.enabled = checked; - } - } - - Label { - Layout.row: 0 - Layout.column: 1 - Layout.alignment: Qt.AlignLeft - Layout.fillWidth: true - text: i18n("Show a place:") + exclusiveGroup: locationGroup } ComboBox { @@ -135,11 +125,12 @@ Layout.row: 1 Layout.column: 1 Layout.fillWidth: false + Layout.alignment: Qt.AlignLeft model: placesModel textRole: "display" - enabled: true + enabled: locationPlace.checked onEnabledChanged: { if (enabled && currentIndex != -1) { @@ -154,23 +145,17 @@ } GridLayout { + columnSpacing: 0 + RadioButton { id: locationCustom Layout.column: 0 - Layout.rowSpan: 2 + Layout.columnSpan: 4 Layout.alignment: Qt.AlignTop - exclusiveGroup: locationGroup - } - - Label { - Layout.row: 0 - Layout.column: 1 - Layout.alignment: Qt.AlignLeft - Layout.fillWidth: true - text: i18n("Specify a folder:") + exclusiveGroup: locationGroup } TextField { @@ -198,6 +183,9 @@ } Button { + Layout.row: 1 + Layout.column: 2 + iconName: "document-open" enabled: locationCustom.checked