qtdeclarative/tests
Shawn Rutledge 6857ad3e68 QQuickListView: prevent mouse delivery in floating header or footer
Earlier we reimplemented the contains() method of ListView to prevent
dragging in an Overlay or Pullback header or footer. But in QQuickWindow
(QQuickWindowPrivate::pointerTargets()), an early check prevents
delivery of pointer events to an item that is clipped and for which
contains() returns false, and also to its children.  In that case, the
header or footer no longer responds to a mouse event even if you put a
MouseArea in it.

Reverts 6ad3445f1e159d9beea936b66d267dcaacdc5d6c; reimplemented using
similar logic in a new QQuickListViewPrivate::wantsPointerEvent()
method, overriding QQuickFlickablePrivate::wantsPointerEvent(), which
is now checked in event-handling code in addition to checking the
interactive flag.

Done-with: Wang Chuan <ouchuanm@outlook.com>
Pick-to: 5.15
Task-number: QTBUG-74046
Fixes: QTBUG-85302
Change-Id: I9474f035d26b74ee36c0ac19e45a77de2e694bf1
Reviewed-by: Wang Chuan <ouchuanm@outlook.com>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-10-07 11:08:41 +02:00
..
auto QQuickListView: prevent mouse delivery in floating header or footer 2020-10-07 11:08:41 +02:00
benchmarks CMake: Regenerate projects to use new qt_internal_ API 2020-10-06 13:19:37 +02:00
global
libfuzzer/qml CMake: Regenerate projects to use new qt_internal_ API 2020-10-06 13:19:37 +02:00
manual CMake: Regenerate projects to use new qt_internal_ API 2020-10-06 13:19:37 +02:00
system Remove QRegExpValidator usages 2020-03-18 16:02:36 +01:00
testapplications Remove QRegExpValidator usages 2020-03-18 16:02:36 +01:00
.prev_CMakeLists.txt CMake: Regenerate and adapt to merge from dev 2020-03-12 14:05:23 +00:00
CMakeLists.txt CMake: Regenerate and adapt to merge from dev 2020-03-12 14:05:23 +00:00
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.