| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This difference is only used by the ListView, so calculating it and
storing it (on the stack) introduces a penalty for all items. As the new
geometry is already applied, the old geometry is passed along. This has
the added advantage that the ListView does not have to re-calculate that
either. This fixes a performance regression.
Change-Id: Id5e67bb663a5b11a55ec15ff24ca5b213d1fcef5
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickwindow.cpp
tests/auto/quick/qquicktext/BLACKLIST
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since qtbase commit beef975, QTestLib avoids generating accidental
double click events by adding 500ms timestamp delta on release events.
The test requires a press-and-drag-and-release type of sequence with
double and triple clicks. The triple-click case is handled fine with
QTest::mouseDClick() + press + move + release, but the double-click
case is using QTest::mouseClick() + press + move + release and relies
on the accidental double-click event generation that QTestLib now
deliberately prevents.
I can't think of a nice way to inject the move event in the middle of
a double-click sequence generated by QTest::mouseDClick(), so we just
send the missing double-click event by hand.
We can also remove the QStyleHints::mouseDoubleClickInterval waits,
which were there to prevent the aforementioned accidental double click
events that can no longer happen. This reduces the total execution
time of mouseSelection() by roughly 90%.
Task-number: QTBUG-50022
Change-Id: I252e87d6a49ea86a44cfa347a29eebee12fd36d1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since qtbase commit beef975, QTestLib avoids generating accidental
double click events by adding 500ms timestamp delta on release events.
Thus, now we can remove the QStyleHints::mouseDoubleClickInterval wait,
which were there to prevent the aforementioned accidental double click
events that can no longer happen. The default inverval is 400ms, so
this saves us nearly half a second on most platforms.
Change-Id: I7a670b70c012ac027dc951ebafdf5e7d53b89ce9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There's no such test as mouseSelection in tst_qquicktext.
Change-Id: I09bf4c61b53acd9811e020379a29c80fce9fe48b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not
receive timestamps for wheel events provided by XI2. This alone does
not fix the flicking speed issue with high-precision trackpads, but
is needed to be able to calculate the appropriate velocity.
Task-number: QTBUG-56075
Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows Qt Quick Controls 2 to register a shortcut context matcher
that makes shortcuts behave well with QQC2's item-based popups, which
QQuickShortcut is not aware of.
Task-number: QTBUG-56562
Change-Id: Ia2518fd6ac7140f60aa38c7d9af557007e9db23b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickitemsmodule.cpp
tests/auto/quick/rendernode/tst_rendernode.cpp
Change-Id: I90582df69feb95a4e4aafb0b9793c23714654f19
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When QT_SCALE_FACTOR is 2, fb.width() is 400 instead of 200, for
example.
Change-Id: Iec02d7cfd49d29fceda6645377b75e4607cceb6f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The commit message of 08327da, and the change log of Qt 5.7.0 promised
that mapFromGlobal() and mapToGlobal() were available in QML. But since
the revision 7 of QQuickItem was not registered, this was not entirely
true.
Due to a little quirk in the QML engine's handling of revisioned
methods, mapFromGlobal() and mapToGlobal() were only accessible via
an identifier or property, but not directly:
// works
MouseArea { id: ma; onClicked: console.log(ma.mapToGlobal(Qt.point(mouse.x, mouse.y))) }
// ReferenceError: mapToGlobal is not defined
MouseArea { onClicked: console.log(mapToGlobal(Qt.point(mouse.x, mouse.y))) }
Furhermore, this is inconsistent with how mapFromItem() and mapToItem()
are exposed to QML. Even though the C++ versions of these methods take
QPointF and QRectF, the QML versions take 2-4 number specifying x, y,
width and height:
object mapFromItem(Item item, real x, real y)
object mapFromItem(Item item, real x, real y, real width, real height)
object mapToItem(Item item, real x, real y)
object mapToItem(Item item, real x, real y, real width, real height)
Therefore the signature of mapFromGlobal() and mapToGlobal() should be:
object mapFromGlobal(real x, real y)
object mapToGlobal(real x, real y)
This change implements the QML versions of these methods using
QQmlV4Function, and adds the missing documentation for the QML API.
NOTE: This is QML-only API.
Change-Id: I2ced4836d274c7d1e644ea29fc25dbdd2045001b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Minor fixes based on comments from the 5.8 API changes review:
Revert to using Qt-style enum values (POSITION -> PositionAttribute).
Use ByteType, FloatType, etc. instead of TypeByte, TypeFloat, ...
Add comments about magic GL values.
Add missing docs for Attribute::createWithAttributeType().
Change-Id: I1b8242efd3936f000ce8df6c11ff9ab7affb5713
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/quick/quickwidgets/quickwidget/main.cpp
src/qml/jsruntime/qv4jsonobject.cpp
src/qml/jsruntime/qv4qobjectwrapper.cpp
src/qml/jsruntime/qv4qobjectwrapper_p.h
src/qml/qml/qqmlengine.cpp
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/qqmlpropertycache_p.h
src/quick/items/qquickanimatedsprite.cpp
src/quick/items/qquickitem.cpp
src/quick/items/qquickitem.h
src/quick/items/qquickitem_p.h
src/quick/items/qquickview_p.h
src/quick/scenegraph/qsgcontext.cpp
src/quick/scenegraph/qsgdefaultrendercontext.cpp
Change-Id: I172c6fbff97208f21ed4c8b6db3d1747a889f22b
|
| |\|
| | |
| | |
| | | |
Change-Id: I081d9b15796b4133d2ba6f1a862f15b873a4846d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We've had this feature for a long time, to use pixel deltas and scroll
phase effectively, but no autotest until now. It's still not very
thorough but it's a start.
Task-number: QTBUG-55871
Change-Id: Iaf6e7a842ce90828da3253e8673cac9905abd046
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I48764527fa1ab6d8d59c24552394459b1cdc58ee
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Mark QQuickItem visual children directly in QQuickItem instead of
relying on the item being a (grand) child of a window.
[ChangeLog][QtQuick] Fix crash with QQuickItems created via JavaScript being
garbage collected sometimes when they're not assigned to a window.
This may happen even in qmlscene when between the creation of the root item and
the assignment to the QQuickWindow the garbage collector runs.
The previous approach of a persistent in QQuickView marking the visual item
hierarchy relies on the existence of a view. The only thing left to do in the
view and qml window implementation is enforcing the CppOwnership policy set on
the content item in QQuickWindow by ensuring the presence of the JS wrapper,
replacing the persistent with a weak value.
This also introduces a new internal mechanism for QObject sub-classes to
provide their own V4 JS wrapper types.
Task-number: QTBUG-39888
Change-Id: Icd45a636a6d4e4528fc19165b13f4e1ca7967087
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quick/qquicktext/tst_qquicktext.cpp
Change-Id: I241cd418bb7e7b95e0a0a2ee4c465d48be2a5582
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The if statement in QQuickTextPrivate::setupTextLayout() was missing
an OR clause for the case where the line width is neither greater
nor less than the old width/natural width, but has actually changed.
If that sounds confusing, it's because it is. Basically, the outer
layouting loop in that function needs to run twice for this scenario,
so that's what this patch makes it do.
Change-Id: I13777667eb13506d50f05e9766785a1c2c46125c
Task-number: QTBUG-50738
Task-number: QTBUG-50740
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8ec8c8eff41e77225ef42f7bd9e52f4558d00130
Task-number: QTBUG-55779
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was occurring when using a physical mouse wheel: movementEnded
was emitted, then contentYChanged would still be emitted a few more
times.
Task-number: QTBUG-55886
Change-Id: Ib5e833d5d84633bb07b8c240ea3ccc9977e443f8
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-56036
Change-Id: Iad776f42cc776e0d397173b3d2f3922eb7914392
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ignore mouseUngrabEvents() triggered by giving mouse grab to a child
item when replaying a delayed press event.
Change-Id: I6c8db61167e21bf10d533b17f7cc65e4754bd432
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I commented the first data row out when debugging, it should have been
active in the commit.
Change-Id: I18ffc1ef4f67cd48a4bfbd9ec23362e07df32c7f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This expands the test and fixes the code.
Before this patch, items would see the press event, but get the press
stolen again immediately.
Change-Id: Iece1d5ffbc09a98fb4bec8d810c7ad78b0f50afe
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I17c736994f05a63574b518b1d23facde001eacbf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/qml/qqmltypeloader.cpp
Change-Id: I07647700fc86764c95a5ef95c568e700a70fe45f
|
| |\|
| | |
| | |
| | | |
Change-Id: Ib45654e3e79087da4754377f0d78b70c44ed4695
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickWindow currently propagates window leave events as hover leave
events to its content item, but it does not propagate window enter
events as corresponding hover enter events. Instead, hover enter is only
triggered implicitly by mouse moves.
This can cause problems when there is no mouse movement inbetween the
window being entered and a subsequent button press event. A common
example where this occurs is dismissing a mouse-grabbing popup window
(e.g. a QMenu) by clicking outside the popup, and then clicking in the
same spot that was clicked to dismiss the popup. Without this patch,
hover state is not realized until movement occurs, so there may be no
no visual feedback and code that needs to update state based on what is
being hovered prior to handling a press event can't work correctly.
This patch synthesizes a QHoverEvent and delivers it in response to
QEvent::Enter, similar to how QEvent::Leave is already handled.
QWidget handles this correctly via QWidget::enterEvent. The equivalent
in Qt Quick is QQuickItem::hoverEnterEvent, ultimately called with the
synthesized event.
The patch also updates the touchmouse::hoverEnabled autotest. Due to
the window enter event now being handled correctly, exitSpy2 would run
up a count() of 2, as the cursor was not in a neutral position after
previous test cases. The change makes sure the cursor is in a neutral
position before test case activity.
[ChangeLog][QQuickWindow] The relevant child item is now sent a hover
event when the window receives a QEnterEvent, making sure hovering is
recognized without waiting for mouse movement.
Change-Id: If0586f6cd971df0dfc266bb1a39c9cdb184fd286
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removing an item from a model after its delegate has started incubation,
but before it has completed results is an orphaned item.
Task-number: QTBUG-55901
Change-Id: I3d3136dc05a950ca38d53687ae7d38a6d0c7ec35
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The layout was being destroyed before the text, which meant that the
removeItemChangeListener() call never got hit. To ensure that the
listener is always removed, loop through each child in QQuickLayout's
destructor.
This is a manual cherry-pick of
59c6c0e0b1b5b46747595a58e11311b7393d7e70.
Task-number: QTBUG-51927
Change-Id: I669f42beb8c3dd6b4b741cae0b16e017bb3409df
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QtQuick][LayoutMirroring] Made it possible to attach
LayoutMirroring to a Window.
Task-number: QTBUG-55517
Change-Id: I3bc5960bf2a9c28b0edc801722dbd6499b803ff3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt Quick used to actively "grab" the mouse before delivering events,
making the code more complex than necessary. Some items came to rely on
the behavior and now lack the ungrab event. This is triggered when
inside the delivery of a mouse event, some other item grabs the mouse.
If the mouse grab changed to an item that was not the target of the
original delivery, the grab must have been stolen, so call
mouseUngrabEvent in this case.
Test case by J-P Nurmi.
Task-number: QTBUG-55325
Change-Id: I2f0ac9d8aed1415662196070fb763f2752004d22
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Most of the changes are optional, but cleanup our QT_CONFIG
usage.
Change-Id: I5253d53f72f6fb03c2cfedae1e17d94f424a6bbb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
contentX/Y are qreals, but they are rounded using qRound/qFloor/qCeil
which will limit the values to 2^31 needlessly. This fix will use
(std::)round, std::floor and std::ceil instead to allow bigger values for
contentX and contentY.
Change-Id: I35ad4bcfa3b8bbc21e90768d348d3002ca400081
Task-number: QTBUG-48018
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\ \ \ |
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4ssa_p.h
src/qml/qml/qqmlobjectcreator.cpp
Change-Id: I8bb7fe773d657f908f20ee5e72c2b9bd643f6260
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After d04982dc84d66bec92b4b3767538676cf925ef17 in qtbase,
QTest::touchEvent() and QTouchEventSequence::commit()
slow down every sequence of touch events, so we don't
need to do it in individual tests.
Change-Id: Id8133b100797d4bd2d7282ee874dbb81ed2cab47
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4ssa_p.h
tests/benchmarks/qml/qqmlimage/qqmlimage.pro
tests/benchmarks/qml/qqmlimage/tst_qqmlimage.cpp
Change-Id: Iad11ce7fdf0c6d200fdebc16a94081bd8069a87a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
... when all (or almost all) items are in the cache.
When all items are in cache, check lower bound is equal
to upper_bound.
In rare cases, especially when almost all items are in cache,
the inserting code was used (not only appending and prepending).
In this code there was not bound check before creation of item
and there was such situation:
1. Create item by inserting code (without bound check)
2. At the next call of refill() remove this item by life cycle
because this item does not meet the conditions. And go to step 1.
In other words at the first call we create some item, at the second
remove this item. And again.
So we had infinite construction/destruction loop. To break it we
should check position of new item before creation in inserting code
too (like we do in appending and prepending code).
Task-number: QTBUG-37815
Change-Id: I015cdeb67ca5fcd06c34b3145b49cbd3e38d4078
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Apparently, QTest::mouseEvent() disregards the wall time for the time
stamps for events, but synthesizes the timestamps instead.
The proper way is to specify the waiting time in the delay argument.
This will adjust both the timestamp and perform a qWait() before the
event handler is called.
Without this patch, the qWait(doubleClickInterval) was disregarded, which
lead to that a doubleclick event was generated, and it failed with the
following message:
Actual (((window->rootObject()->property("doubleClicks").toInt()))): 2
Expected (1) : 1
tst_qquickmousearea.cpp(1105) : failure location
Change-Id: Ieda3b670d3cda0bd522db2f9677dad5745c88a21
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
First call of QQuickPathView::refill() did not use currentIndex
for item prepending and there was situation when items were
not created, e.g.:
PathView with current item in center and currentIndex was set
so that item with index 0 was after current item and before path
end. The result of this situation: items from path begin to current
item were not created.
The reason was that idx always equaled (modelCount-1) for item
prepending.
Now first filling uses currentIndex to calculate valid idx.
Task-number: QTBUG-53464
Change-Id: I7e343b0712c9c5c5cd56b1d8e020cf8c0f6e6301
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It sometimes happens on touchscreens that mouse events occur too close
together. We cannot calculate velocity based on zero elapsed time,
so just ignore the event.
Task-number: QTBUG-45527
Change-Id: I120e73cfa60e2fcc594cb1f3b69f530e746abddd
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
By default, TextInput updates its implicit width to match the content
width. This implies that when TextInput does not have an explicit width
set, there is no need to handle horizontal alignment.
TextField wants to override the default implicit width, so it disables
the "implicit resizing" feature of TextInput. In this scenario, the
implicit width does not match the content width. Therefore the text
layouting code should also treat the item as if it had an explicit width
set to achieve the correct horizontal alignment.
Task-number: QTBUG-55138
Change-Id: I8c04971a6aff44c6f1734df50153a9788849e98a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The autotest does not generate the mouse movement that will occur
if you touch an actual touchscreen on X11.
QQuickWindowPrivate::flushFrameSynchronousEvents() will hover the
MouseArea as if the mouse had moved, but that doesn't update
QGuiApplicationPrivate::lastCursorPosition. The test checks that
the synth mouse move in QQuickWindowPrivate::deliverTouchAsMouse()
occurred in response to the touch release, but if
flushFrameSynchronousEvents occurs before these lines
QVERIFY(mouseArea1->hovered());
QVERIFY(!mouseArea2->hovered());
then it will fail because the touchpoint left mouseArea2 hovered.
Also replace QVERIFY with QCOMPARE where we are comparing a value,
so that when it fails we can see why.
Task-number: QTBUG-55350
Change-Id: I6c9c9ff1aa57c199cdc4be59156bd36e487cbd2b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Do not skip qmldir loading when using an import qualifier and the
resolved uri is remote. This makes the import behavior the same in all
cases.
Task-number: QTBUG-55002
Change-Id: I99d68be02ddd062e387d36946e730df076e80a8d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This branch contains changes to the Mouse and Touch event delivery. It
cleans up much of the existing code and adds a new class:
QQuickPointerEvent (and two sub classes for touch and mouse at this
point in time, tablet will be added eventually). The pointer event
contains QQuickEventPoint instances.
Thanks to the new pointer event class, we cache more data, reducing
allocations and making delivery significantly easier.
This lays the basis for a new way of pointer handling in Qt Quick which
will use pointer events directly to have a more powerful abstraction
over the basic events, while being more flexible.
Change-Id: I30a90220f62314d504dd3b5e079b75fc6f4d2c74
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/quick/items/qquickwindow.cpp: we need the fix for QTBUG-31861 but
now using QQuickPointerMouseEvent
src/quick/items/qquickwindow_p.h: hover events need timestamps (e4f7ab42)
tests/auto/quick/qquickwindow/tst_qquickwindow.cpp: added test for QTBUG-31861
Change-Id: Ic120513b69b318df3ba62d8174c276cbf6b7b55e
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Reduce allocations of events, just refill the local pos.
Change-Id: I2948faf0e302bff315e482f2c1432fe0def19bc5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I199c57197fafed84ba0065765411d5239804d17f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|