diff --git a/components/mobileshell/qml/taskswitcher/TaskList.qml b/components/mobileshell/qml/taskswitcher/TaskList.qml index 61ed88fb..9d36aa84 100644 --- a/components/mobileshell/qml/taskswitcher/TaskList.qml +++ b/components/mobileshell/qml/taskswitcher/TaskList.qml @@ -19,8 +19,6 @@ Item { required property var taskSwitcher readonly property var taskSwitcherState: taskSwitcher.taskSwitcherState - opacity: taskSwitcherState.wasInActiveTask ? 1 : Math.min(1, taskSwitcherState.yPosition / taskSwitcherState.openedYPosition) - transform: Scale { origin.x: root.width / 2 origin.y: root.height / 2 diff --git a/components/mobileshell/qml/taskswitcher/TaskSwitcher.qml b/components/mobileshell/qml/taskswitcher/TaskSwitcher.qml index 4b211ff2..a8f526a1 100644 --- a/components/mobileshell/qml/taskswitcher/TaskSwitcher.qml +++ b/components/mobileshell/qml/taskswitcher/TaskSwitcher.qml @@ -163,8 +163,8 @@ Item { anchors.fill: parent color: { - // animate background colour only if opening from the homescreen - if (taskSwitcherState.wasInActiveTask) { + // animate background colour only if we are *not* opening from the homescreen + if (taskSwitcherState.wasInActiveTask || !taskSwitcherState.currentlyBeingOpened) { return Qt.rgba(0, 0, 0, 0.6); } else { return Qt.rgba(0, 0, 0, 0.6 * Math.min(1, taskSwitcherState.yPosition / taskSwitcherState.openedYPosition)); @@ -190,6 +190,16 @@ Item { // the item is effectively anchored to the flickable bounds TaskList { taskSwitcher: root + + opacity: { + // animate opacity only if we are *not* opening from the homescreen + if (taskSwitcherState.wasInActiveTask || !taskSwitcherState.currentlyBeingOpened) { + return 1; + } else { + Math.min(1, taskSwitcherState.yPosition / taskSwitcherState.openedYPosition); + } + } + x: flickable.contentX width: flickable.width height: flickable.height diff --git a/components/mobileshell/qml/taskswitcher/TaskSwitcherState.qml b/components/mobileshell/qml/taskswitcher/TaskSwitcherState.qml index 2ae852d0..6babb014 100644 --- a/components/mobileshell/qml/taskswitcher/TaskSwitcherState.qml +++ b/components/mobileshell/qml/taskswitcher/TaskSwitcherState.qml @@ -106,6 +106,7 @@ QtObject { let subtract = (maxScale - 1) * (yPosition / openedYPosition); let finalScale = Math.max(0, Math.min(maxScale, maxScale - subtract)); + // animate scale only if we are *not* opening from the homescreen if (wasInActiveTask || !currentlyBeingOpened) { return finalScale; } @@ -200,7 +201,7 @@ QtObject { target: root property: "yPosition" to: openedYPosition - duration: PlasmaCore.Units.longDuration * 2 + duration: 300 easing.type: Easing.OutBack onFinished: {