kwin/mobiletaskswitcher: Fix touchscreen not being able to dismiss task switcher

It seems TapHandler is not able to receive touchscreen events anymore, use MouseArea.
This commit is contained in:
Devin Lin 2023-03-30 22:26:35 -07:00
parent 16c66c161d
commit b3dc5f15ad
2 changed files with 13 additions and 16 deletions

View file

@ -38,7 +38,7 @@ Item {
function activateApp() {
taskSwitcherState.wasInActiveTask = false;
taskSwitcher.activateWindow(model.index, delegate.window);
window.setMaximize(true, true);
delegate.window.setMaximize(true, true);
}
function minimizeApp() {

View file

@ -9,7 +9,7 @@ import org.kde.plasma.components 3.0 as PlasmaComponents
import org.kde.kwin 3.0 as KWinComponents
Item {
MouseArea {
id: root
readonly property int count: repeater.count
@ -68,22 +68,19 @@ Item {
yScale: taskSwitcherState.currentScale
}
// taphandler activates even if delegate touched
TapHandler {
enabled: !taskSwitcherState.currentlyBeingOpened
onTapped: {
// if tapped on the background, then hide
if (root.childAt(eventPoint.position.x, eventPoint.position.y) === null) {
taskSwitcher.hide();
}
onClicked: {
console.log('tapped')
// if tapped on the background, then hide
if (!taskSwitcherState.currentlyBeingOpened) {
taskSwitcher.hide();
}
}
onPressedChanged: {
if (pressed) {
// ensure animations aren't running when finger is pressed
taskSwitcherState.cancelAnimations();
}
onPressedChanged: {
console.log('pressed')
if (!taskSwitcherState.currentlyBeingOpened && pressed) {
// ensure animations aren't running when finger is pressed
taskSwitcherState.cancelAnimations();
}
}