GNOME Bugzilla – Bug 789163
Fitzpatrick modifier selection requires lifting mouse button
Last modified: 2017-11-27 02:52:10 UTC
When using the "insert emoji" menu item and long-pressing an emoji that can have a modifier, the modifier selection appears, but doesn't have any highlighting. The user needs to release the mouse button, and click again, to make their selection. They shouldn't have to.
There is two problems here: 1) the flowbox single-click mode currently insists that the press and release happened in the same child - this can be worked around with a new activate-on-release mode 2) we need some way to handle the state between the long-press gestures on the parent flowbox and the multipress gesture on the child flowbox. I tried synthesizing a release event for the parent and a press event for the child, but that did not have the desired effect
Created attachment 364148 [details] [review] gtkgesturemultipress: Add ::unpaired-release signal This signal will be emitted whenever the gesture received a button release or touch end event without a pairing button press or touch begin. This usually happens when grabs transfer input from one widget to another mid-press.
Created attachment 364149 [details] [review] gtkflowbox: Activate items on ::unpaired-release If the flowbox is single-click.
On master with these 2 patches it kinda works, crossing events aren't still properly sent to flowbox items though.
Review of attachment 364148 [details] [review]: ::: gtk/gtkgesturemultipress.c @@ +326,3 @@ + g_signal_emit (controller, signals[UNPAIRED_RELEASE], 0, + x, y, button, sequence); + } Should there be a return here, or do we still want to feed the event to the parent handler ? @@ +422,3 @@ + * its implicit grab. + * + * Since: 3.93. Should be 3.94, at least thats what we've been using so far.
Review of attachment 364149 [details] [review]: Looks good. GtkListBox should probably get the same treatment, just to stay in sync.
Attachment 364148 [details] pushed as bce9155 - gtkgesturemultipress: Add ::unpaired-release signal Attachment 364149 [details] pushed as 0567b41 - gtkflowbox: Activate items on ::unpaired-release