| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Idb26e2df6d4fe8940db57066a30fa8c243f6d2c9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
| |
None of these cases intended to end up calling it, which proves that
making it explicit (as will soon be the case) is a good idea.
Change-Id: Ie60e85b554df956fd19bf86517945feac9f44b32
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
A destruction handler can cause a new object to be allocated during
garbage collection. Depending on where in the heap the object ends up,
it may be found during the sweep pass. As the mark pass had no chance to
mark the object, we need to set the mark bit right at allocation time in
this case.
Change-Id: Ie43eeb548e78bd375b001b3a6bb4ef6596f91980
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It seems timing-sensitive; as usual when we have processEvents()
and then QCOMPARE, it's often better to just use QTRY_COMPARE in case
it runs slower than expected on CI VMs.
Fixes: QTBUG-88206
Change-Id: Ie6916a00e16e025c32940e6bffcabd1159480c5a
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test hardcodes the height of the Text element to be 35,
and then it does a pre-check that this is higher than the
height of the font. This is obviously a bit flaky and caused
an error because the font at the given size was 35.7 and was
rounded up.
I did attempt to make the logic a bit more dynamic, and have the
object's initial height be based on the height of the font, but
other parts of the test would then fail because they depend on
the size of the object.
In the end, the simplest way seemed to be to just decrease the
font size until it fit inside the original Text height and
leave it at that.
Fixes: QTBUG-88207
Change-Id: I9c327806bde8c339b299302004dfb72b34e87bcd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-88209
Change-Id: Iae298355ce0b85945ea6c5c39805794f5f997845
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QV4Sequence can be converted back to its underlying container; we
therefore should give the conversion of QV4Sequence to container a high
score if metaTypeForSequence and the target metatype agree.
This has a larger effect in Qt 6 than in Qt 5, as we now can have new
sequence types for any (QMeta)Container.
Fixes: QTBUG-87616
Change-Id: I2bf02ebadbf9b707719d09edaf14b112eb2caf4f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Also fix some minute errors.
Change-Id: I1815224a6efdd7e619dfe5a5911d8b1166a3b3c8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
| |
Change-Id: I149258c69bac867a5d031b8d460e0192762fb8a5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: If562268b29fae9b0e0254719ce8d4489cfab2943
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
| |
All QFontDatabase APIs are static, use them accordingly.
Task-number: QTBUG-88114
Change-Id: Iaa6be07e47adcdb5115e475cc5228f403e9a2b27
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a glib event loop, processEvents only processes events of the highest
priority. Apparently, some higher priority event can occur which
prevents the delayed binding from evaluating in time. Avoid the whole
issue with QTRY_VERIFY, which runs the event loop multiple times if
necessary.
Task-number: QTBUG-86187
Change-Id: I796a2db1d017d389f198a24eb73d15da91ef0a65
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Replace foreach with ranged for; don't name unused function parameters.
Change-Id: If0d9138261567edb14b72791799c6da1b16b5a5b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: David Skoland <david.skoland@qt.io>
|
|
|
|
|
|
|
|
| |
Change from the QVariant enum to the QMetaType enum and prefer typeId
over userType where possible
Change-Id: Ic89c55978d46cc23d23b8e9c82c475c0c220fae3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
| |
It seems we never stated that singletons can not be extended in our
documentation. Therefore this is technically a bug fix and doesn't need
separate documentation.
Change-Id: I7877289bd5a52ecf709f80ba1975137981ec65f0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is in line with what we do on qmlRegisterSingletonType(), and it
allows us to return singleton objects created independently of the
instantiation mechanism.
Change-Id: Ia6a077f5d22241593acd8cc87b3f65ae20f95667
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way we can access the enums of namespaces as properties of the
primary type. This is achieved by:
1. Making enums of extended types available in the base type
2. Allowing the extension to be specified as plain metaObject rather
than as type name.
3. Refraining from creating the extension if the create function does
not exist.
The goal of this is to declare the Qt namespace in a civilized way, but
will also help with cleaning up the QtQuick value types and their enums.
Change-Id: I13399741d30ce38d1bff753cfa1b11e72ccfbf6a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86729
Change-Id: I4cf59a1afacd56be114393e70f132d25a8f084eb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Stationary points are delivered like updated points after
05dc0a387ae324f2d6f3d7e633a0a49473f6957a
- QQuickItemPrivate::localizedTouchEvent() seems to need to
detach QEventPoint instances with Released state, to avoid
losing the localization during delivery
- calling stationary() or release() without position causes
the event to occur at the middle of the item, not at the
last-known position as the test was expecting
Task-number: QTBUG-86729
Change-Id: I6bdcebc04a11d93d1d006f8269c1df2e9206a393
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test (like many) is older than the setAcceptTouchEvents() function
added in 1457df74f4c1d770e1e820de8cd082be1bd2489e. Now there are 3 cases:
if we don't setAcceptTouchEvents(true), the item doesn't get any touch
events; but if it does, it can accept or reject the individual events.
For some reason the touch events were tediously created and sent before,
but using QTest::touchEvent() simplifies it a lot.
Task-number: QTBUG-86729
Change-Id: I2dd12af8c356c5455bd37d691fc24f3e1d9c107b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In tst_qquickitem::ignoreButtonPressNotInAcceptedMouseButtons(), when
the right mouse button release occurs, the item has a grab, but it's
not interested in the right button, only the left. But of course
we still want to deliver mouse drags, so if the button is NoButton
and the item is the grabber, it gets the event.
Task-number: QTBUG-31861
Task-number: QTBUG-86729
Change-Id: I952acc721a5f80a7fc5619c5fea640dae805e9c8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reusable TestItem:
- initialize variables where declared
- don't accept touch events by default; the only test that uses touch
is touchEventAcceptIgnore(), so it can do that for itself
mouseGrab():
- don't skip it on Windows
- construct items with explicit parents; we don't need QScopedPointer
because the window is stack-allocated, and children get deleted
- check grabber with QPointingDevicePrivate::firstPointExclusiveGrabber()
rather than QQuickWindow::mouseGrabberItem()
- remove qWait()s, use QTRY_COMPARE
- QTRY_COMPARE hopefully shows enough info so we don't need to use
QVERIFY2 with a custom message to compare equality
- changing the grabber at a time when no event is being delivered
is no longer supported (this was the part that needed blacklisting)
- add a new stanza to test that mouse events don't propagate from
the top item to the one underneath, if it neither accepts nor
ignores it explicitly (analogous to mousePropagationToParent()
but checking a sibling underneath, rather than a parent)
hoverEvent():
- not sure why the comment from ede31210aafbfb961059a6e0934d6e6a79e06447
says QTest::mouseMove() didn't work, but nowadays it does
Task-number: QTBUG-87947
Task-number: QTBUG-86729
Change-Id: I2627555e8bc0e4c3782239cb8ebde75395fea908
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
| |
Verify that events are pre-accepted, and that when an item doesn't
touch the accepted state at all, it doesn't propagate to a parent item.
Task-number: QTBUG-87947
Change-Id: I162cc860424aa736cc3650fd0daa2e7bc705fc70
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression from Qt 5 to Qt 6, because QDateTime is now
apparently more strict in its parsing of RFC2822Date. The string in the
test-case is not valid according to that spec, but JS engines like V8
still accept it, and so did we in Qt 5.
Fixes: QTBUG-87610
Change-Id: I2c6eb2087e4845b04fa0dc4f7aa9a229b3428a43
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- use for loops instead of tedious repetition
- compare instead of verify to check negative bools
- QTRY_COMPARE instead of qWait
- move touchpoints by drag threshold to ensure repeatability:
both flickable and pincharea wait for the threshold to start reacting
Change-Id: I071fc05280e2156223af57d97079516987a744ab
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- There was no reason to import Qt.test
- Make colors less garish
- Explain what the rectangle is for (it's not the only place for pinching,
and the appearance is a bit misleading)
- Show click feedback at the position instead of toggling colors
Change-Id: Id75a52e46a5e8611a57eb69a037cced9a9f7d54f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
When using refs as loop variables, the clang compiler complains (with
default settings). This prevents that. Note that QJsonValueRef is used
"behind the scenes", which makes this iteration method correct.
Change-Id: I5a5f58ca8ad3887bce2009231cbae5a57c107697
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-85713
Fixes: QTBUG-87464
Pick-to: 5.15 5.15.2
Change-Id: I5c190ad2d02190de90260042cc06e51c1da01c63
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
In Qt 6, setAcceptTouchEvents(true) must be done explicitly for an
item to receive touch events.
Task-number: QTBUG-86729
Change-Id: Ib18db22b6a7213dfcfdf091d554ef60fbede6111
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
| |
PointerHandlers see more events now.
Task-number: QTBUG-86729
Change-Id: I4dbddc8b54292450cf5ffb77489178a8a824b90d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86729
Change-Id: I47a0a4aad7cff956b2ebd450870d625f817690d4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Check the actual touchpoint's grabbers instead of the synth-mouse.
Anyway it looked odd to press touchPoint ID 1 and then look for the
persistent point with ID 0 on the primary pointing device, which isn't
always a mouse.
Task-number: QTBUG-86729
Change-Id: I0a27fdd931059b30b0b5a54328bbef6254d26e04
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
This way we can analyze the left hand part of things like
"anchors.fill: parent" in qmllint.
Change-Id: I0f58312566c3d5062e0fb301c2bad908ab8b8cbb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86729
Change-Id: Ia4db0a98a4977cb89799c5749983a370d35317a7
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use char16_t instead of quint16 for arrays of 16bit strings.
Use QKeyCombination API.
As a drive-by, remove superfluous 0 from characters specified in
hexadecimal.
Change-Id: Ic52b1fdceaf3348a9b81c40814031e9c2e557dd9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87037
Change-Id: I1969dba3b6edfaf202a316576674efed481bb1e4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Pick-to: 5.15
Change-Id: I77bd88eb0f277c139fd296c1dafa8b09517a3064
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Also, use that method to capture the uiLanguage notify signal.
Previously the wrong signal was captured. The test still happened to
pass because we manually re-evaluated all bindings when the uiLanguage
property changed. Add a test which avoid that.
Change-Id: I3961b60b365a8705930936f20881421bd4ceffe5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
view child
When two table views are connect through the syncView property, both
views will flick when you flick on either of them. This also means
that if you fast-flick more than a page on the sync view child, the
sync view needs to rebuild, like if you did the fast-flick directly
on the sync view. Because we updated the sync view's viewportRect too
soon while fast-flicking on the the sync child, we didn't detect that
it was a fast-flick, and that a rebuild was needed. The result is
that you could sometimes end up with the views getting out-of-sync.
This patch will allow TableView to only move the viewport without
updating the internal viewportRect while flicking. The viewportRect
will instead be sync-ed at a later point, like we do when you flick
on the sync view directly. This will ensure that we rebuild if
needed, also while fast-flicking on the child view.
Task-number: QTBUG-87821
Pick-to: 5.15
Change-Id: Ifc74473eb43406acaa8e24880066fb4ca89d3a4e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was all-white despite having two items that react to events, which
makes it hard to see what's failing when it fails.
Use loops rather than tedious repetitive hard-coded moves to improve
readability.
"ensure that mouse events do not fall through to the Flickable"
must include having the MPTA "eat" the mouse press.
Change-Id: Ibca14709afbd561f03a62d74d10e6cae94ab302e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
QTest macros don't prevent further execution when used outside of the
test function, so the rest of these tests would still execute even if
checkNoErrors() found errors.
Change-Id: If80a5d73cbfa18d5009c84bf658f40684b99d8f0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use streaming operators for debug/warnings to avoid qsizehint/int
conflicts.
Don't ignore return values from [[no_discard]] functions.
Don't copy elements from containers that return references.
Remove unused variables.
Change-Id: I7a0bef94a5e828bd8facee0c625ec48c3d1f1bdb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
So far we've just ignored them.
Change-Id: I2ca522ef825a341a3f4bf1c2a42fb0376180cdda
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends a0f8be4021caa9bb5055923f0eea3bee0e345235; it's not clear if
there's any reason we haven't been running this test all these years.
But we need to use testFileUrl() for loading QML files, and some
additional updates make it more like the other tests.
Regenerated CMakeLists.txt from the .pro files:
python3 ~/dev/qt6/qtbase/util/cmake/pro2cmake.py *.pro
Pick-to: 5.15
Change-Id: I3ddcc993c4536c2d4d751a37c0425943c7d86766
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For tables of non-trivial sizes, we usually don't know what the
content size will be unless we load all rows and columns, which
we simply cannot do. Because of this, we have up till now chosen
a strategy where we normally just calculate a predicted content
size up-front, when we table is built, and afterwards just stick
to that prediction.
This strategy works for big tables that fills more than one size
of the viewport, and if the number of rows and column in the model
stays around the same. But for tables that start off smaller than
the viewport, and later expands to grow out of it, it simply fails.
And the failure is such that the tableview can get stuck, with no
way way for the user to flick around to see the rest of the contents.
An example is TreeView that might only show the root node at
start-up, but as you start to expand the tree, it will quickly add
more rows than what fits inside the viewport. And in that case, the
contentHeight will be totally off, and in turn, make the scrollbar
be based on wrong values, and sometimes not work at all (e.g if
it has the flag Flickable::StopAtBounds).
This patch will change the implementation so that we recalculate
the content size whenever it should logially change. That is, if
e.g the model add or remove rows and columns, or if you change
spacing. This still doesn't mean that contentWidth/Height reports
the correct size of the table, but at least it will be a better
guestimate for smaller tables, and at the same time, work
together with Flickable and ScrollBars.
Pick-to: 5.15
Fixes: QTBUG-87680
Change-Id: Ie2d2e7c1f1519dc7a5d5269a6d25e34cf441b3fe
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
| |
Don't cast a QKeyCombination to int.
Change-Id: If84e2fde9ea83bedd1eb8a8dbbcb050276a333cd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
Instead, output a warning if the revision doesn't match the version. We
want to get rid of generic version/revision matching. To this end, add a
way to retrieve the version from an export.
Change-Id: Ie887103eba910f14e49faa684ac559cc72cab199
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...while extending the autotest to cover more complicated cases, such as
grabbing again after show-hide and doing show-grab-hide-grab-show-grab.
In fact some of these cases have not been working in Qt 5. Now the basic
render loop is fixed up to support the all the combinations threaded
does.
Task-number: QTBUG-87399
Change-Id: Id01995bc3a2660b16cfb2f8bedc84becea0be1bb
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86827
Change-Id: Ibeae878cbd7cc43031aeb13b2c480215c849f8bc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I7362ae0dcbc67005c09df5c5c704912d10a74827
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|