| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The list of generated qrc files is passed to qmlimportscanner via the
-qrcFiles parameter.
qt_import_qml_plugins(pointer) needs to be explicitly called in CMake
unlike qmake which does the equivalent behind the scenes.
Task-number: QTBUG-85994
Change-Id: Ia49a5e1fe5df11c0b3b8ff4c1765377767ca2478
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for itemChange to be called during destruction when
deleting the QQuickShaderEffectImpl. We nullify m_impl before deleting
it via another pointer to it, so we must check that it's not null
before trying to use it.
Pick-to: 5.15
Fixes: QTBUG-86402
Change-Id: If4955445f7cc0d1f376bc9b86b95e1cca4d88ede
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
| |
Speed up animations that the test spends too much time waiting to complete.
Change-Id: I7941660f3c3a89798c5cdd0eee8018a44fb89a0d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
AnimatorProxyJob would not forward loopCount to the controlled job causing
the sequential or parallel animation to go infinitely after attempt to stop
Task-number: QTBUG-82890
Pick-to: 5.15
Change-Id: I6a1ca787f06789064e05407bbe9ae5e5861f24d5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, an alias of a bindable property is also bindable, and
shares its bindable interface with the target.
Moreover, the logic in QQmlTypeCompiler is adjusted so that a change
handler of an alias uses the bindable interface if possible, instead of
connecting to the alias' change signal. That would never be emitted if
the target is a QProperty without a notify signal.
Alias properties still have a change signal, but those never get
emitted.
Change-Id: I857dfdbe51048a2b604ad632982e7f4adac6b907
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is useful for modules that select their imports at runtime using
qmlRegisterModuleImport(). We can list all possible variants as optional
imports so that tools can see what types might be available.
Task-number: QTBUG-87130
Change-Id: I8a37bdde79aef3619fd1f05e5ea6781d521afa88
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use an if-test to check if the document width has changed before
we set the new value. The problem is that the value we test
against is different than the value we set. The result is that
we can sometimes skip setting a new width on the document, even
if padding has changed.
This patch ensures that we use the same width for both testing
and setting.
Pick-to: 5.15
Change-Id: Ia8391999e8cc2b5be72fe525d396bf8c17ba0fa2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I9394dd721eac3e0b76fbedb6b2fca6f45da48383
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87217
Change-Id: Ib04713fd05d7d3db779b2375caa18c1fbc1be078
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-87179
Change-Id: Ieb7dffab59923bcb2ce8745c499eff7de44134b1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Converting from 0 to Qt::NoModifier was never a great idea.
Change-Id: I694126c86e961a9af3f963fc830dbb65d535a61a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
In Qt6 we don't want those anymore, but it's easy enough to support them
for now.
Task-number: QTBUG-87164
Change-Id: I2a6cd1dd99f772d132f71575c9c5f4538a3dd0f0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|