qtdeclarative/tests
Shawn Rutledge 1e1674849a Allow parent to filter out-of-bounds synth-mouse for grabbing handler
Consider

Flickable {
	Text {
		TapHandler { gesturePolicy: TapHandler.ReleaseWithinBounds }
	}
}

On press, TapHandler gets the exclusive grab.  Now drag vertically.
The Text is short in stature, so your finger soon strays out of bounds
of the Text, likely before you have dragged past the drag threshold.
In this case, we want Flickable to continue to filter the move events
because of the fact that TapHandler is the grabber.  If it was a
MouseArea instead of a TapHandler, it already worked that way; so this
makes behavior of handlers more consistent with that.

More specifically: QQuickPointerTouchEvent::touchEventForItem() now
generates a touch event even if the touchpoint is not within the bounds
of the given item, but is grabbed by one of that item's handlers.  Until
now, we had that exception only if it was grabbed by the item itself.

tst_FlickableInterop::touchAndDragHandlerOnFlickable now always drags
the delegate at index 2 (the third one) from its upper-right corner,
upwards and to the left.  The first drag goes outside the delegate's
bounds, but the Flickable/ListView/TableView filters and takes over
anyway (on the next drag), to prove that it is correctly depending
on the grab that the TapHandler (or DragHandler) took on press.

Pick-to: 5.15
Pick-to: 6.0
Fixes: QTBUG-75223
Change-Id: Ie4e22c87be0af9aa3ff0146067b7705949b15c40
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-30 18:16:26 +01:00
..
auto Allow parent to filter out-of-bounds synth-mouse for grabbing handler 2020-11-30 18:16:26 +01:00
benchmarks Fix tst_events benchmark 2020-10-07 22:32:44 +02:00
global
libfuzzer/qml CMake: Regenerate projects to use new qt_internal_ API 2020-10-06 13:19:37 +02:00
manual Improve stability of animated lancelot test scene 2020-11-26 06:45:11 +00:00
system
testapplications
.prev_CMakeLists.txt
CMakeLists.txt
README
tests.pro

README

This directory contains autotests and benchmarks based on QTestlib. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.