mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Launcher: don't focus initial mouse position entry, only after mouse movement (fix #1359)
This commit is contained in:
@@ -1177,12 +1177,36 @@ SmartPanel {
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
enabled: !Settings.data.appLauncher.ignoreMouseInput
|
||||
|
||||
property real entryX: 0
|
||||
property real entryY: 0
|
||||
property bool capturingMovement: false
|
||||
|
||||
onEntered: {
|
||||
if (!root.ignoreMouseHover) {
|
||||
if (root.ignoreMouseHover) {
|
||||
entryX = mouseX;
|
||||
entryY = mouseY;
|
||||
capturingMovement = true;
|
||||
} else {
|
||||
selectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
onPositionChanged: mouse => {
|
||||
if (root.ignoreMouseHover && capturingMovement) {
|
||||
if (Math.abs(mouse.x - entryX) > 5 || Math.abs(mouse.y - entryY) > 5) {
|
||||
root.ignoreMouseHover = false;
|
||||
capturingMovement = false;
|
||||
selectedIndex = index;
|
||||
}
|
||||
} else if (!root.ignoreMouseHover && selectedIndex !== index) {
|
||||
selectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
onClicked: mouse => {
|
||||
root.ignoreMouseHover = false;
|
||||
capturingMovement = false;
|
||||
if (mouse.button === Qt.LeftButton) {
|
||||
selectedIndex = index;
|
||||
root.activate();
|
||||
@@ -1547,11 +1571,36 @@ SmartPanel {
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
enabled: !Settings.data.appLauncher.ignoreMouseInput
|
||||
|
||||
property real entryX: 0
|
||||
property real entryY: 0
|
||||
property bool capturingMovement: false
|
||||
|
||||
onEntered: {
|
||||
root.ignoreMouseHover = false;
|
||||
selectedIndex = index;
|
||||
if (root.ignoreMouseHover) {
|
||||
entryX = mouseX;
|
||||
entryY = mouseY;
|
||||
capturingMovement = true;
|
||||
} else {
|
||||
selectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
onPositionChanged: mouse => {
|
||||
if (root.ignoreMouseHover && capturingMovement) {
|
||||
if (Math.abs(mouse.x - entryX) > 5 || Math.abs(mouse.y - entryY) > 5) {
|
||||
root.ignoreMouseHover = false;
|
||||
capturingMovement = false;
|
||||
selectedIndex = index;
|
||||
}
|
||||
} else if (!root.ignoreMouseHover && selectedIndex !== index) {
|
||||
selectedIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
onClicked: mouse => {
|
||||
root.ignoreMouseHover = false;
|
||||
capturingMovement = false;
|
||||
if (mouse.button === Qt.LeftButton) {
|
||||
selectedIndex = index;
|
||||
root.activate();
|
||||
|
||||
Reference in New Issue
Block a user