Merge pull request #16013 from cbjeukendrup/click_flatbutton_move_mouse

Fix clicking FlatButton if you (accidentally) move the mouse between press and release
This commit is contained in:
Elnur Ismailzada 2023-02-10 13:09:57 +02:00 committed by GitHub
commit a29a272a71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 10 deletions

View file

@ -93,7 +93,8 @@ FocusScope {
}
signal clicked(var mouse)
signal pressAndHold(var mouse)
// There are intentionally no "forwarded" signals here from the MouseArea, like `pressAndHold`
// See https://github.com/musescore/MuseScore/issues/16012#issuecomment-1399656043
objectName: root.text
@ -290,10 +291,6 @@ FocusScope {
ui.tooltip.hide(root, true)
}
onPressAndHold: function(mouse) {
root.pressAndHold(mouse)
}
onContainsMouseChanged: {
if (!Boolean(root.toolTipTitle)) {
return

View file

@ -168,12 +168,20 @@ Item {
}
}
onPressAndHold: {
if (menuLoader.isMenuOpened || !hasMenu) {
return
}
Connections {
target: btn.mouseArea
toggleMenuOpened()
// Make sure we only connect to `pressAndHold` if necessary
// See https://github.com/musescore/MuseScore/issues/16012
enabled: btn.hasMenu && !menuLoader.isMenuOpened
function onPressAndHold() {
if (menuLoader.isMenuOpened || !btn.hasMenu) {
return
}
btn.toggleMenuOpened()
}
}
Canvas {