| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
Old API assumes sender == receiver, which results in wrong handling of
connections when receiver is deleted: connection is not removed or
notified elsehow as it's not really tied to a valid receiver
Task-number: QTBUG-86368
Pick-to: 5.15 6.0
Change-Id: I0f3115f1b0f26cf353752ba2b8fd88e0f3bdd388
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-90439
Change-Id: I24664b27c3185c595b1ffd994cdf51b944f494ee
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
You should not write qmltypes files manually. We only document their
existence and that you should add them to manually written qmldir files
now.
Change-Id: I434398656179806c3e57724324aba38738384e1d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
| |
Change-Id: Idb29a7483b813ed00849c13ef1324c7e931400de
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
This moves the settings types into a new library and is meant to make
them availabe to the QML compiler at some point in the future.
Task-number: QTBUG-90487
Change-Id: I986615b08ea8c1a7312b9d9c6ae0b13c03fb5497
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it stood, we wouldn't cancel touchMouseSynthesis after
receiving a touch cancel event. The result would be that
the first touch event sent to QQuickWindow thereafter would
have touchMouseId set to value different from -1. This
again would fool QQuickWindow into believing that the
event belonged to a touch event it has synthesized
before, and it would as such take a different/wrong path
for delivery.
This caused text selection to fail on iOS, since a
press-and-hold on a line edit from QPA would cancel
the touch event and show a magnifier glass. When the
user later touched inside the line edit again to
move the cursor, this new touch event would not be
delivered to the text edit.
Pick-to: 6.0
Fixes: QTBUG-90485
Change-Id: Iad640ae57317ea86ee68ca053654b0b30ade003a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
This moves the LocalStorage types into a new library and is meant to make
them availabe to the QML compiler at some point in the future.
Task-number: QTBUG-90487
Change-Id: I57ae8dc45a9ef3d5221520f656a2475bca2eb453
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
We want to be able to use these types in hashes.
Change-Id: Iea60bb8dd1ce893a37c4856d153f0f5c77d29fcd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-90448
Change-Id: I5fb6b3d9223ae95ca7e039c5b9139ed086052c29
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Previously only the foreign type was searched for a create method.
Now the wrapping type can also contain it.
Change-Id: I05fb9e0c0a54c14530eb9adcae5a44df5c208be3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
And do not choke completely on extended.
Task-number: QTBUG-90448
Change-Id: I4ac5742ec70f5ba1ed1403be444d9cc7229830c2
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Instead, log them with qmlWarning.
Change-Id: Icde7397085841a84aca8a81c716d552c4cd4485a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This was needed because we couldn't automatically generate the types for
the Qt object/namespace. Now we can. We should not offer this
possibility to users as we need to see all the types at compile time.
Such an escape hatch will only give us problems in the future.
Change-Id: Ib86fddd0352cf1877a4123cad273c99c4252d8ac
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We generate the extensions as separate types. This also covers the case
of value types being extended by "themselves". We can properly express
this now, so we don't need the hackery of generating the local members
of a type with QML_FOREIGN into the foreign type anymore.
This also fixes interfaces from local types being written for foreign
types.
Fixes: QTBUG-89501
Change-Id: Ic76acd7eef09a92c1e36bd7a649c7a2deb24597b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We special case writing functions to properties, only allowing assigning
them to var properties and QJSValue properties.
This would however break when aliases are involved. This commit fixes
the issue by resolving the alias, and then checking and writing to the
resolved property.
Fixes: QTBUG-90373
Pick-to: 5.15 6.0
Change-Id: Ia09ebe92feeaf8359c99ff9aeadc676b9fcfaa07
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes handling of hovered so that the property is still updated on
disabled items, so that other items can bind to it. This is in
particular useful for tooltips.
[ChangeLog][Behavior Changes] QQuickItem::hovered will now update even
when the item is disabled.
Fixes: QTBUG-30801
Pick-to: 6.0
Change-Id: Id17298f657d7631b0e5019138ba33a7d5f863475
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
| |
Change-Id: I37a8b76bada2bfe19d0377725eceecbf8322a10e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
The local type name is assumed to be under the user's control.
Previously the choice would depend on the order of classinfo objects in
the metatype.
Change-Id: I3199b757aaa9f04821723df1c6331ab447771ee0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-89977
Change-Id: I975a859d5252e2721475f86ced6c8dab06ae8c9c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
This moves the Layouts types into a new library and is meant to make
them availabe to the QML compiler at some point in the future.
Change-Id: I9b2b31a78b0e9ca8b6c0db1fc9272d9941c61814
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
| |
Change-Id: Ib6e45a06ca5cf606281171fd1dc890f67026b79a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I1a4bdbb49e6700f2e218ebd349b823350bb09148
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
Remove all qmake project files, except for examples which are used to
test that qmake continues to work.
Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Those files are automatically generated by CMake nowadays, and not
necessary since the removal of the qmake build system.
Change-Id: I74ba10a58fb17bb28cbfeff49947c962687ad4e0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
This way we don't have to specially prefix the foreign namespace.
Change-Id: I0daa2fe3b8faa205c2c9dfb0f6b1984b2c8e7437
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When binding a Shortcut to a standard key sequence like
QKeySequence::FullScreen, it binds only to one key
sequence, even though there might be multiple key sequences
associated.
This patch changes the code to emit a warning in this case
and allows to bind to multiple key sequences using
'sequences: [ <key> ]'.
Fixes: QTBUG-88682
Pick-to: 6.0 5.15
Change-Id: I88998aa8858d8f2c0c86e46bae94afd7ceb15b66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing events as objects or references in signal parameters requires
copying, and we removed the broken copy semantics from QEvent for Qt 6
as much as possible.
QVariant::fromValue still allows creation of a QVariant from a type
that doesn't have a (public) copy constructor, which is why this
passing of a QWheelEvent through a QVariant to QML went unnoticed.
While QWheelEvent is a gadget and thus supposed to be invokable from
QML, it's still a QEvent. Most QEvents are not gadgets - like QKeyEvent,
QMouseEvent, QTouchEvent. We have QQuick*Event QObject wrappers instead
to provide access to the low level event data from QML.
So, use a single QQuickWheelEvent object instead to pass the data to
QML, that class is designed for exactly that prupose. We need to copy
the data anyway, and since we don't need to create/destroy the wrapper
object for each event, this has no practical overhead.
Extend the QQuickWheelEvent to provide access to the phase information
of QWheelEvent as well, and simplify the reset() method.
Note: making the QQuickWheelEvent store the QWheelEvent directly would
allow passing calls to setAccepted through to the QWheelEvent. That
is left for a future cleanup, and another reason for not passing events
around as copies.
Fixes: QTBUG-89594
Pick-to: 6.0
Change-Id: Id86a9b30c5a8c7c50091e464e368568a7f5ca2ea
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
change surface and buffer deleted order
Fixes: QTBUG-88677
Change-Id: I4512c0c2f32f3240288bf640394644f2cc01ab80
Reviewed-by: Ma Aiguo <648709566@qq.com>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
In a JS module, we lack a qml context. Thus, we have to check whether
qmlContext is null. In that case we use the engine's scriptContext('s
ExecutionContext) instead.
Fixes: QTBUG-90245
Change-Id: I337e9c7cade472f52fc81c93d1152ff59f8018a5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Flickable.flickDirection == HorizontalFlick, then if the accumulated
QWheelEvent::pixelDelta()'s abs(dx) > 2 * abs(dy), clearly the user is
trying to scroll horizontally; otherwise, don't accept the event.
That way the event is allowed to propagate to a parent Flickable that
does allow flicking vertically. Likewise if the nesting is the other
way around, only allow the inner vertical Flickable to accept if the
flicking is actually vertical.
Fixes: QTBUG-57245
Fixes: QTBUG-80236
Pick-to: 6.0
Change-Id: Ieb0bf9310a67210ce7e9fe7a80c88baef2cc7ede
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some tricky cases of setting layout width based on parent layout width
were leading to infinite recursive loop of layout size calculation
(see the attached example in the related Jira task).
Initially the QQuickGridLayoutBase::rearrange() method already had
a recurse check, but it seemed to happen too late, so that the
recursive calls kept happening from the ensureLayoutItemsUpdated()
calls.
This commit moves the recursion check up, so that it's actually
executed before we have a chance to get to the next level of recursion.
Pick-to: 5.15 6.0
Fixes: QTBUG-87253
Change-Id: I473ee219e7b5b13547e33ebbd3a6d884de2c7d45
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
| |
Change-Id: I1c81f1190386a9f7260a6e64862946f648cb6981
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If state contains revert action of properties of deleted objects,
we should avoid adding them to apply list
Fixes: QTBUG-85106
Pick-to: 5.15
Change-Id: Iff57eb9958a054476096f6d951ab7390277a2b39
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickText attempts to reduce relayouting. However, it was a bit to
aggressive in doing that. If only the width changed in a geometrychange,
it would not relayout if widthMaximum was true. However, if the width
goes from 0 to greater than 0, the value of widthMaximum should have
actually been false (but we would only notice this after relayouting).
Thus, don't skip relayouting in that case.
Amends 56ade46b4234bb828b8e4f9a6bf83b5687bd122e, which fixed the same
issue, but for height.
Fixes: QTBUG-83408
Fixes: QTBUG-33608
Pick-to: 6.0 5.15
Change-Id: I14b610c703eb0496c71de7b12ad9fcf16842af64
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
Introduce a QSGOpenGLTexture::fromNativeExternalOES() function
which internally passes in the flag QRhiTexture::ExternalOES
when creating the wrapping QRhiTexture.
Change-Id: I919e2539304d3aeaa6bc8e5953d96adc810abb12
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
| |
Using aliases in conjunction with Q_PROPERTY might cause some issues, so
we should warn about it.
Task-number: QTBUG-83950
Change-Id: I53db6848e3a7659e8b7ad93de70088cab6e53184
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A while ago, QQuickShortcut was extended to not only have a shortcut
m_shortcut but in addition a list m_shortcuts. During this extension,
the setContext method was missed: Shortcuts in m_shortcuts are
not re-grabbed on context change. This patch fixes this.
Task-number: QTBUG-88682
Pick-to: 6.0 5.15
Change-Id: Ie73d516f2a325a328b6e975d69490eea29a18401
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I20ff922136018960371ef00c6aa5c30d29c25690
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a ListModel is modified in a workerscript, we reconciliate the
state in ListModel::sync. However, the logic for moving elements was
wrong, causing crashes in endMoveRows due to invalid moves.
This patch ensures that elements are moved to the correct position.
Notably, whenever an element is moved, we must update the targetIndex of
all elements affected by that move.
Amends 3accc1dae76575120e71cadb547e961ecd50bcb0.
Task-number: QTBUG-85557
Pick-to: 5.15 6.0
Change-Id: I1a1ffa43eab39ed2315f1916527d897b208c2c3b
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|
|
|
|
|
|
|
|
|
| |
After freezing a QQmlPropertyMap you cannot add any more properties, but
in turn the property access is cached, and therefore faster.
Task-number: QTBUG-57792
Change-Id: I2c6d768039c3b59eb2411194e463ee0de55f8bed
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only place where it was still used is QQmlOpenMetaObjecType. The
only effect of QQmlCleanup is that clear() is eventually called by the
engine. In the case of QQmlOpenMetaObjectType the only effect of that
was that the "engine" member was reset. However, the only place where
that member was used was in setCached(), and in that place it was
irrelevant. There is no reason why setCached() should be prohibited when
there is no engine. We may be worried that the property cache assigned
to the open metaobject might go away somehow if there is no engine, but
the cleanup mechanism clearly demonstrates that checking for the engine
on setCached() does not protect against this.
Fixes: QTBUG-90004
Change-Id: I05445eaeb53a64c70de366090ea2ee4aecf2bad8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoid re-building the metaobject for every property added. As
rebuilding the metaobject is an effort linear in the number of
properties, the runtime when adding multiple properties via singular
insert() is quadratic in the number of properties. The plural insert()
rebuilds the metaobject only once.
Task-number: QTBUG-57792
Change-Id: I9513c4de047724e4141dab72aacfbdd840a3e465
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The QQmlPropertyMap should guard the keys before it passes them on to
QQmlOpenMetaObject, rather than getting called back through the virtual
createProperty() method.
Change-Id: Ie02ab02c4e27260222964c708c0f0917c8c6239d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
An alpha of 0 removes the scenegraph node for the fill. If the alpha
changes to non-zero afterwards, the geometry needs to be regenerated.
Pick-to: 6.0 5.15
Fixes: QTBUG-85103
Change-Id: I180b9eb78bd98b99bc87c4d960108b95eb6ae723
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
This is necessary for them to be used in QML code compiled to C++.
Change-Id: Id4bd265dee857eb32195580cbdc424ecbff90435
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
There is no point in having them separate and this way the plugin can be
optional.
Fixes: QTBUG-89804
Change-Id: Ic7de35f6ee7abde4840841e17d21c2b709f6db7d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmlcachegen needs to see the qmltypes file for the current project so
that it can query it for C++ types exposed to QML.
This is only relevant when generating C++ code, which qmlcachegen itself
cannot do. However, in order to write a compatible drop-in, we need it.
Also, hide related ignored options from --help in qmlcachegen.
Change-Id: Id2f1b8b1750351c7de8dfe49e4065ef1b29423b7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently there is no public API to transform a QVariant holding a
QQmlListProperty into a QQmlListReference. We cannot pass
QQmlListProperty itself as that is templated. The metatype-based casting
is somewhat evil, but not more so than what we already have in the other
ctor.
Change-Id: I2d56499b1fd188613bc71016cb00ec23081d3cea
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
| |
... a.k.a InternalClass. This is a faster way of creating multiple
similar objects, compared to a sequence of setProperty() calls.
Change-Id: Iecc8c581e50b9062895dae9500ffe2482d88028e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consistently never unload plugins on macOS, also remove half-broken
plugins from the map, and always unregister any types in them.
Unloading plugins on macOS is ill-advised as it will actually unmap the
memory, making string data (among other things) inaccessible. We've
already done the same change to qmlClearEnginePlugins().
Change-Id: I8fa40db5c3cd83f12e6d85d0efc3b9679dd4381e
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|