rework panel coloring logic based on tasks

This commit is contained in:
Marco Martin 2020-07-16 16:22:57 +02:00
parent f7843014d7
commit b27e67037c
3 changed files with 27 additions and 5 deletions

View file

@ -47,7 +47,9 @@ Item {
property bool reorderingApps: false property bool reorderingApps: false
property var layoutManager: LayoutManager property var layoutManager: LayoutManager
readonly property bool showingApp: tasksModel.activeTask && tasksModel.activeTask.valid && !tasksModel.data(tasksModel.activeTask, TaskManager.AbstractTasksModel.IsFullScreen) || NanoShell.StartupFeedback.visible readonly property bool showingApp: !plasmoid.nativeInterface.showDesktop && (hasTasks || NanoShell.StartupFeedback.visible)
readonly property bool hasTasks: tasksModel.count > 0
Containment.onAppletAdded: { Containment.onAppletAdded: {
addApplet(applet, x, y); addApplet(applet, x, y);
@ -94,7 +96,8 @@ Item {
screenGeometry: plasmoid.screenGeometry screenGeometry: plasmoid.screenGeometry
filterByScreen: plasmoid.configuration.showForCurrentScreenOnly filterByScreen: plasmoid.configuration.showForCurrentScreenOnly
//FIXME: workaround
Component.onCompleted: tasksModel.countChanged();
} }
PlasmaCore.DataSource { PlasmaCore.DataSource {

View file

@ -153,6 +153,11 @@ NanoShell.FullScreenOverlay {
TaskManager.TasksModel { TaskManager.TasksModel {
id: tasksModel id: tasksModel
sortMode: TaskManager.TasksModel.SortVirtualDesktop
groupMode: TaskManager.TasksModel.GroupDisabled
screenGeometry: plasmoid.screenGeometry
filterByScreen: plasmoid.configuration.showForCurrentScreenOnly
} }
//This proxy is only used for "get" //This proxy is only used for "get"
PlasmaCore.SortFilterModel { PlasmaCore.SortFilterModel {

View file

@ -37,7 +37,9 @@ PlasmaCore.ColorScope {
Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground
readonly property bool showingApp: tasksModel.activeTask && tasksModel.activeTask.valid && !tasksModel.data(tasksModel.activeTask, TaskManager.AbstractTasksModel.IsFullScreen) || NanoShell.StartupFeedback.visible readonly property bool showingApp: !plasmoid.nativeInterface.showDesktop && (hasTasks || NanoShell.StartupFeedback.visible)
readonly property bool hasTasks: tasksModel.count > 0
property QtObject taskSwitcher: taskSwitcherLoader.item ? taskSwitcherLoader.item : null property QtObject taskSwitcher: taskSwitcherLoader.item ? taskSwitcherLoader.item : null
Loader { Loader {
@ -52,12 +54,24 @@ PlasmaCore.ColorScope {
TaskManager.TasksModel { TaskManager.TasksModel {
id: tasksModel id: tasksModel
sortMode: TaskManager.TasksModel.SortVirtualDesktop
groupMode: TaskManager.TasksModel.GroupDisabled groupMode: TaskManager.TasksModel.GroupDisabled
screenGeometry: plasmoid.screenGeometry screenGeometry: plasmoid.screenGeometry
filterByScreen: plasmoid.configuration.showForCurrentScreenOnly filterByScreen: plasmoid.configuration.showForCurrentScreenOnly
sortMode: TaskManager.TasksModel.SortAlpha
virtualDesktop: virtualDesktopInfo.currentDesktop
activity: activityInfo.currentActivity
//FIXME: workaround
Component.onCompleted: tasksModel.countChanged();
}
TaskManager.VirtualDesktopInfo {
id: virtualDesktopInfo
}
TaskManager.ActivityInfo {
id: activityInfo
} }
MouseArea { MouseArea {
@ -153,7 +167,7 @@ PlasmaCore.ColorScope {
anchors.left: parent.left anchors.left: parent.left
height: parent.height height: parent.height
width: parent.width/3 width: parent.width/3
enabled: taskSwitcher && taskSwitcher.tasksCount > 0; enabled: root.hasTasks
iconSource: "box" iconSource: "box"
onClicked: { onClicked: {
plasmoid.nativeInterface.showDesktop = false; plasmoid.nativeInterface.showDesktop = false;