Part of 0e053528 was reverted in the merge, about lastTimestamp. It
will be applied later in separate commit.
qmltest::shadersource-dynamic-sourceobject::test_endresult() was
blacklisted on linux.
Conflicts:
.qmake.conf
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
tests/auto/qmltest/BLACKLIST
tests/auto/qmltest/qmltest.pro
Task-number: QTBUG-53590
Task-number: QTBUG-53971
Change-Id: I48af90b49a3c7b29de16f4178a04807f8bc05130
This reverts commit 9c8dab5378
where commit e1400b5b4d was removed
due to the breakage of QtLocation tests.
After some hours of debugging it seems that the problem in QtLocation
was due to filtering of mouse move events in QDeclarativeGeoMapItemBase.
See QTBUG-52075
Task-number: QTBUG-52534
Change-Id: I00f002c1d6f60f74a148b5a6ac2b9f63e93718a9
Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
This reverts commit e1400b5b4d,
which breaks qtlocation unit tests for drag support.
It is no longer possible to drag markers in mapviewer.
Task-number: QTBUG-52534
Change-Id: If713a8e45f64ea898f38fe3e39561ebc266403b2
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
When preventStealing is true both keepMouseGrab() and
d->stealMouse are true. This in turn enable the dragging immediately
since the condition "keepMouseGrab() && d->stealMouse && !d->drag->active()"
is true.
Conversely when preventStealing is false the dragging is enabled in the
next move event since keepMouseGrab() and d->stealMouse are set true
inside the last "if" "!keepMouseGrab() && ...check threshold..".
This patch adds a new boolean flag for storing if we detected a drag motion
(so we exceeded the threshold) and enable the dragging iff this flag is true.
With this change:
- if preventStealing is true (and so keepMouseGrab() and d->stealMouse) the
additional d->overThresHold prevent the start of dragging. At the same time
the last if (!keepMouseGrab()) cannot be executed since keepMouseGrab is true
and we still check for the threshold being exceeded.
- if preventStealing is false, we still check for exceeding the threshold and
if this happen we enter in the last "if" since !keepMousegrab() && d->overThreshold
is true taking the mouseGrab as without this patch
Task-number: QTBUG-52534
Change-Id: I2b14d3048b6f8223c90ce5e2fd26e7ca706cb56a
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
It comes from the source() of the QMouseEvent which triggered it.
This makes it possible to distinguish real mouse events from those
that are synthesized from touch or tablet.
And for this we need to import QtQuick 2.7
[ChangeLog][QtQuick][MouseArea] Added mouse.source property
to enable distinguishing genuine mouse events from those that
are synthesized from touch or tablet events.
Change-Id: I568964f63981703bd23e05daac5288518f09d837
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Should not propagate without window.
Task-number: QTBUG-49100
Change-Id: Ieda3a8357283f8d07d4ffc0cc62c4e15645d7e5a
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
- Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer).
- Replace Q[TRY]_VERIFY(smartPointer == 0) by
Q[TRY]_VERIFY(smartPointer.isNull()).
- Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and
add casts where necessary. The values will then be logged
should a test fail.
Change-Id: Ib9f4c2486af23c47990be4b9e004b965de226dcc
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Without this, the next click is not received after the windows loses
focus while we double clicked but not released the mouse.
This may happen if the onDoubleClicked opens a new window
Change-Id: I86742de2bb1ea4c9657b9d5e90472d093293177d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
It is very common to use pressed and containsMouse properties
together to highlight a pressed item, e.g.
property bool highlighted: pressed && containsMouse
The containsPress property allows simplification and optimization of
user code.
[ChangeLog][QtQuick] Add containsPress property to MouseArea
Task-number: QTBUG-40130
Change-Id: Ie286d431154eb37a99e57e4cf881d68d7cbbe31d
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
[ChangeLog][QtQuick] Added property MouseArea.drag.smoothed for toggling
whether the drag target is moved to the current mouse position after a
drag operation has started.
Task-number: QTBUG-38539
Change-Id: I989b51bc83fc24c64b84ac8e9a50b352e674e8f8
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
This reverts commit 8e0c5b59f5.
This test doesn't fail any more.
Task-number: QTBUG-23976
Change-Id: I77704e7811c4c335cb5836ba7645a8804c13e12d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
In several cases such as for creating a Slider, it is useful to have a
0 pixel threshold in order to initiate a drag operation. We have
previously hardcoded this to a platform dependent (usually 10 pixel)
value for MouseArea.
Note that we have no way of indicating the version/revision number
in a grouped property for documentation at the moment.
In addition we deliberately had to remove the REVISION from the
property because it is blocked by QTBUG-33179. However, since
this is not a user-creatable type it should not cause any
issues in practice.
This patch adds MouseArea.drag.threshold in order to improve on this.
Change-Id: Ia4871e64fab39e30c4494f00be99ad38cdd630df
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Add dragType enums with values of None, Automatic, Internal (default).
Setting to Automatic allows startDrag to be called automatically.
Setting to Internal (default) retains old behavior.
Add mimeData to Drag item to enable external drags.
Call startDrag to start drag manually or change from internal drag to
external drag. Added events dragStarted and dragFinished that get
invoked from startDrag.
Mime data must be specified in the mimeData property as
mime-type / data pairs.
Moved QQuickDrag from qquickmousearea* files to qquickdrag* files to
reduce header interdependencies that caused linking errors in other
modules and also to improve code organization.
Allow DropArea to receive and process external data.
Introduced new variable containsDrag to QQuickDropAreaPrivate. This
replaces mimeData which was previously being used to determine if a
drop operation was currently occurring. The problem was that mimeData
was being externally destructed.
Also introduced accessor methods for getting color, html, image, text,
and urls out of the drop. This facilitates dropping of external data of
those types onto a DropArea.
Added example quick/externaldraganddrop.
Task-number: QTBUG-27498
Change-Id: I1420df7c161ea3399e49a23305273e106baa246f
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Replace createView() by initView(), instantiate windows on stack or
use QScopedPointer. Center view in available geometry and make
sure the mouse cursor is outside, since otherwise it can
interfere with drag->active(). Remove insignification
introduced by c1fbee270f .
Task-number: QTBUG-33006
Change-Id: I8fc661444bc42899dfa3d87887c594270483e508
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
A MouseArea with a drag target nested in a Flickable does not work.
This is due to QQuickWindow calling childMouseEventFilter() twice -
once in sendFilteredTouchEvent() and later in sendEvent().
Since childMouseEventFilter() has already been called, deliver the
mouse event directly in sendFilteredTouchEvent().
Task-number: QTBUG-32920
Change-Id: I22acee3c66ee6c06e71c9c876fb02dbcb6119a8d
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
This test seems flaky in windows.
Task-number: QTBUG-33006
Change-Id: I1c67e1a498e4c5765580a316504e04776af5e109
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
When a mouse press event was rejected,
we would unconditionally cancel the hover
and claim that the mouse is not contained any more.
Instead check if the mouse left and only then cancel
the hover state.
Task-number: QTBUG-30783
Change-Id: I5fac6f3a1f2807ef03e07982c603492d40d2a249
Reviewed-by: Florian Boucault <florian@boucault.net>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
If you declare Window { Window {}} or Window { Item { Window {}}}
the inner window will automatically become transient for the
outer one. The transient relationship must be set before the
inner window becomes visible though, so declaring visible: true
doesn't always work, depending on initialization order. It's OK
if you assign visible (or call show()) later on when the user needs
to see the transient window for the first time.
Also added documentation.
Change-Id: I888c3b9da6d44d11516227c085bcc12a5ccb5e81
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Fixes a regression introduced by https://codereview.qt-project.org/48690
whereby on the first mouse move the contentItem was moved the total
distance from the touch point to where the drag distance was exceeded.
For large drag thresholds this causes a noticeable jump. Reverting the
dragStartOffset portion of that change fixes the regression.
That same change was also resposible for the property update regression
https://codereview.qt-project.org/49768 attempted to fix. That change
is also reverted as it was unnecessary and may have introduced some
regressions of its own.
Task-number: QTBUG-30032
Change-Id: I7723b459cc5a6a0731893aeb6332d00cad1bd79b
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Calculate drag distance relative to the mouse position when a drag is
detected rather than the press position so there isn't a large change
in position on the first move.
Task-number: QTBUG-30188
Change-Id: I5c2269c2228668a3842e18f65167637497b3beb4
Reviewed-by: Joona Petrell <joona.petrell@jollamobile.com>
If the test does requestActivate() or relies on isFocusWindow(),
the test cannot be parallel_test. Also, a lot of the tests don't
actually need the window to be active, only exposed; and waiting
only for exposed is likely to make them more stable.
Change-Id: I0845b9b12ddf7f0c8906d9738a3e26d46ab98820
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
in order to cause the first one to be deactivated.
Task-number: QTBUG-29953
Change-Id: I7fec66b07976b2afc78941d39c593f99ea484522
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
If the boundBehavior prevents the flickable from moving its content
item in response to a drag it shouldn't grab the mouse as that will
prevent a parent MouseArea or Flickable from handling the drag.
Task-number: QTBUG-29718
Change-Id: I3a1be4ed0132b91dca2fb0387ecefd39275a52da
Reviewed-by: Alan Alpert <aalpert@rim.com>
A MouseArea shouldn't prevent a parent MouseArea or Flickable from
handling a drag event unless it is going to do something useful with
it.
Task-number: 29717
Change-Id: I24016994f6cf9116382ef7faeb50b10e5716e10e
Reviewed-by: Alan Alpert <aalpert@rim.com>
Commit 7b2e211716
introduced a regression in mouse handling:
When moving the mouse out of the window it would cancel
all further mouse events. That is actually not wanted
(eg scroll bars).
Instead ungrab the mouse when the focus changes,
that means the mouse handling with popups works and the
scrollbar use case is also fixed.
All the tests related to this seem quite timing sensitive,
so try some more QTRY_VERIFY.
Remove the parallel_test so that more cpu time will actually
let the tests pass more reliably.
Change-Id: I90586b05f461d3762728a466d71bcb967e03d14b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
- Unused variables
- Missing enumeration values in switch
- truncation from double to float
- truncation from size_t to int
- Missing initializers
- Mix of operator & and bool |
Change-Id: Ib212aeea41befef193f12300a1d9814a60f183af
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently
follow capitalization rules. Add an undocumented XandYAxis variable to
ease porting.
Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Abbreviated property names are less descriptive so we don't have
many of them. Might as well be consistent. QWindow::pos was already
renamed.
Change-Id: Ib52673e68e7dc902b2f8942dba6b899074b2538b
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Depends on patch Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 in qtbase.
Change-Id: I9614cc2c7ed119c663b3f6f99267483e291e529c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Change copyrights and license headers from Nokia to Digia
Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Qt 5.0 beta requires changing the default to the 5.0 API, disabling
the deprecated code. However, tests should test (and often do) the
compatibility API too, so turn it back on.
Task-number: QTBUG-25053
Change-Id: I6988c2360e9d88916311374a0c910bfc5b607439
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
If MouseArea with cursorShapes are overlapping then cursor shape
of the foremost item under the mouse cursor should be shown, but because
the hover events are delivered to the foremost items first the opposite
is occuring. This makes QQuickWindow responsible for correctly setting
its own cursor instead of relying on items to work it out amongst
themselves.
Change-Id: Iedf144c583dfa3d1ff441e19db9601b5e171902a
Reviewed-by: Martin Jones <martin.jones@nokia.com>
QQuickCanvas is now called QQuickWindow
QQuickCanvas::rootItem is now QQuickWindow::contentItem
QQuickItem::canvas is now QQuickItem::window
QQuickItem::ItemChangeData::canvas is also renamed window
QQuickCanvas::grabFrameBuffer is now QQuickWindow::grabWindow
The functions related to the color property have dropped the clear from
their names.
The first three changes have interim compatibility measures in place to
ease the transition.
Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d2
Reviewed-by: Martin Jones <martin.jones@nokia.com>
If the drag.axis is changed while a drag operation is in progress, put
it into action immediately. This allows, for example, start a dragging
operation out of an item in a scrollable ListView to anywhere on the
screen.
See the linked bug number for an example.
Task-number: QTBUG-26440
Change-Id: Id4219d44d1066dd962319086ac1f2a2a75bb2525
Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
The pressed property would react to any mouse event, regardless of
whether it was in acceptedButtons, or there were other buttons still
pressed. It will now remain true while any button in acceptedButtons
is pressed.
The pressedButtons property could contain buttons not in the
acceptedButtons mask. It will now only contain buttons that are in the
acceptedButtons mask.
Task-number: QTBUG-26458
Change-Id: I6b25cc36a58c113de062d530761dc179d7ef4a5a
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Tests mouse events with graphical transformations applied to the element.
Change-Id: I4b69e35cde4125aa047fa18357b22b898da92c20
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>