<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/tests, branch dev</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>tst_qquickhoverhandler:touchDrag: set hover interval</title>
<updated>2026-05-07T11:52:14+00:00</updated>
<author>
<name>Morten Sørvig</name>
<email>morten.sorvig@qt.io</email>
</author>
<published>2026-04-27T10:43:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a81892f79a47806ae0e01e8060ba9180e974d78e'/>
<id>a81892f79a47806ae0e01e8060ba9180e974d78e</id>
<content type='text'>
Stabilize touchDrag() by setting frameSynchronousHoverInterval
to 0. This ensures that the test does not accidentally
skip over updating the hover state, which can happen
with the default 100ms interval.

Change-Id: I8cecca2b93ef19bf37c8d76885a4b00758e1103e
Reviewed-by: Morten Johan Sørvig &lt;morten.sorvig@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stabilize touchDrag() by setting frameSynchronousHoverInterval
to 0. This ensures that the test does not accidentally
skip over updating the hover state, which can happen
with the default 100ms interval.

Change-Id: I8cecca2b93ef19bf37c8d76885a4b00758e1103e
Reviewed-by: Morten Johan Sørvig &lt;morten.sorvig@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "QtQml: Store enum values in QV4::Value"</title>
<updated>2026-05-07T11:50:46+00:00</updated>
<author>
<name>Olivier De Cannière</name>
<email>olivier.decanniere@qt.io</email>
</author>
<published>2026-05-06T09:58:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=546b76044f71e9a482e717f0cd44533e5ec5a9b8'/>
<id>546b76044f71e9a482e717f0cd44533e5ec5a9b8</id>
<content type='text'>
This reverts commit e035c8adf2d1c7ef6d152c377994df1acc162975.

Reason for revert: Breaks enum value to int conversion

---

enum E { V = 0xFFFF'FFFF };
Q_ENUM(E)

Without patch:
console.log(E.V) -&gt; -1

With patch:
console.log(E.V) -&gt; -1
console.log(E.V) -&gt; 4294967295 (QV4_FORCE_INTERPRETER=1)

Fixes: QTBUG-146583
Change-Id: Idd6c21abeb791d568fd3982b4f1dc570d1020741
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit e035c8adf2d1c7ef6d152c377994df1acc162975.

Reason for revert: Breaks enum value to int conversion

---

enum E { V = 0xFFFF'FFFF };
Q_ENUM(E)

Without patch:
console.log(E.V) -&gt; -1

With patch:
console.log(E.V) -&gt; -1
console.log(E.V) -&gt; 4294967295 (QV4_FORCE_INTERPRETER=1)

Fixes: QTBUG-146583
Change-Id: Idd6c21abeb791d568fd3982b4f1dc570d1020741
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Name QQmlProperty QML value type as qmlProperty</title>
<updated>2026-05-06T22:45:12+00:00</updated>
<author>
<name>Pierre-Yves Siret</name>
<email>pierre-yves.siret@dice-engineering.com</email>
</author>
<published>2026-02-11T22:58:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5d68f04578a1b004b39df408ecb8178db82f0a72'/>
<id>5d68f04578a1b004b39df408ecb8178db82f0a72</id>
<content type='text'>
QQmlProperty was previously exposed as an anonymous value type to QML.
Expose it as `qmlProperty` so it can be used as a property type instead
of `var`.
The need to refer to a QML property is already proven by various QML
apis having a target/property pair of properties, this patches allows
them to be bundled in a single property.
This can be leveraged by user code for cleaner alternative APIs and
as a potential exploration for Qt 7.

qmlProperty is currently not constructible from QML but can be build and
passed from C++ in business code or, more likely, with helper functions.
For now we don't change that, that can be proposed in a future patch.

Change-Id: I3bcbc7a7da54eaae956cf4edfcbb8d65252af4a4
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QQmlProperty was previously exposed as an anonymous value type to QML.
Expose it as `qmlProperty` so it can be used as a property type instead
of `var`.
The need to refer to a QML property is already proven by various QML
apis having a target/property pair of properties, this patches allows
them to be bundled in a single property.
This can be leveraged by user code for cleaner alternative APIs and
as a potential exploration for Qt 7.

qmlProperty is currently not constructible from QML but can be build and
passed from C++ in business code or, more likely, with helper functions.
For now we don't change that, that can be proposed in a future patch.

Change-Id: I3bcbc7a7da54eaae956cf4edfcbb8d65252af4a4
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickTableView: respect QAIM::buddy() when editing cells</title>
<updated>2026-05-06T08:16:25+00:00</updated>
<author>
<name>Richard Moe Gustavsen</name>
<email>richard.gustavsen@qt.io</email>
</author>
<published>2026-04-20T11:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b2af284eac4aa0e936c42c4c62a9fe14c9ab6916'/>
<id>b2af284eac4aa0e936c42c4c62a9fe14c9ab6916</id>
<content type='text'>
When edit() is called, consult QAbstractItemModel::buddy() first to
resolve the target index. This allows the model to redirect editing
to a sibling cell, matching the behavior of other Qt item views like
QTreeView and QTableView.

The included test verifies that we now respect the buddy.
The checkEditAfterReorder() test also had to be modifed slightly.
It assigned a QVariant(QSharedPointer(QAIM)) as model to TableView,
and not the expected QVariant(QAIM). This strangly works in most
cases, but will now cause a warning in canEdit() since the variant
cannot be casted directly to a QAIM.

Pick-to: 6.11
Change-Id: I01092228019c91212c601f104f5f2fa3274e74e0
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When edit() is called, consult QAbstractItemModel::buddy() first to
resolve the target index. This allows the model to redirect editing
to a sibling cell, matching the behavior of other Qt item views like
QTreeView and QTableView.

The included test verifies that we now respect the buddy.
The checkEditAfterReorder() test also had to be modifed slightly.
It assigned a QVariant(QSharedPointer(QAIM)) as model to TableView,
and not the expected QVariant(QAIM). This strangly works in most
cases, but will now cause a warning in canEdit() since the variant
cannot be casted directly to a QAIM.

Pick-to: 6.11
Change-Id: I01092228019c91212c601f104f5f2fa3274e74e0
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add asynchronous property to VectorImage</title>
<updated>2026-05-05T13:48:57+00:00</updated>
<author>
<name>Eskil Abrahamsen Blomfeldt</name>
<email>eskil.abrahamsen-blomfeldt@qt.io</email>
</author>
<published>2026-04-22T06:09:10+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=31a1a95ad94897182cd137fe5a529fb7c357feee'/>
<id>31a1a95ad94897182cd137fe5a529fb7c357feee</id>
<content type='text'>
This patch adds the asynchronous property to VectorImage as well as
a new class called QQuickVectorImageIncubator.

The incubator class now handles the full process of generating the QML,
parsing it, compiling it and creating the object tree.

It has three functions that define the stages:
    1. process: Generates the QML.
    2. generatorFinished: Load, parse and compile the QML.
    3. componentUpdated: If the component is done loading, call create()
       on it.

In synchronous mode, everything works as it does currently, but
refactored a bit.

In asynchronous mode, step #1 is delegated to a worker thread. Step #2
used the asynchronous compilation mode, which also delegates work to
a thread inside the QQmlTypeLoader. And finally, the create() function
uses a QQmlIncubator to spread the creation of objects over multiple
frames.

Note: We can no longer use a static QString for the indent in the
QML generator since we now have multiple generators running at once
so it has to be re-entrant.

Fixes: QTBUG-145379
Change-Id: Ie2bb0ffb0dfaf7441c67a8be40189c6d0b4555d8
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the asynchronous property to VectorImage as well as
a new class called QQuickVectorImageIncubator.

The incubator class now handles the full process of generating the QML,
parsing it, compiling it and creating the object tree.

It has three functions that define the stages:
    1. process: Generates the QML.
    2. generatorFinished: Load, parse and compile the QML.
    3. componentUpdated: If the component is done loading, call create()
       on it.

In synchronous mode, everything works as it does currently, but
refactored a bit.

In asynchronous mode, step #1 is delegated to a worker thread. Step #2
used the asynchronous compilation mode, which also delegates work to
a thread inside the QQmlTypeLoader. And finally, the create() function
uses a QQmlIncubator to spread the creation of objects over multiple
frames.

Note: We can no longer use a static QString for the indent in the
QML generator since we now have multiple generators running at once
so it has to be re-entrant.

Fixes: QTBUG-145379
Change-Id: Ie2bb0ffb0dfaf7441c67a8be40189c6d0b4555d8
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Blacklist tst_QQuickFolderDialogImpl::bindCurrentFolder</title>
<updated>2026-05-05T07:11:16+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2026-04-29T12:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b833269d36d44a738a2ceb66938ee90757e46bd9'/>
<id>b833269d36d44a738a2ceb66938ee90757e46bd9</id>
<content type='text'>
This might be overly broad, but is meant as a temporary measure to unblock integrations.

Amends c62b9397f4fd0a44c7143c33b9fee2c58c81436a, which enabled the test
on more platforms.

Task-number: QTBUG-146156
Change-Id: Ieda53e64e9f1dcb5ac59182acdbd99e68121d7d7
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This might be overly broad, but is meant as a temporary measure to unblock integrations.

Amends c62b9397f4fd0a44c7143c33b9fee2c58c81436a, which enabled the test
on more platforms.

Task-number: QTBUG-146156
Change-Id: Ieda53e64e9f1dcb5ac59182acdbd99e68121d7d7
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Parser: Warn about QML files without imports</title>
<updated>2026-05-05T06:30:58+00:00</updated>
<author>
<name>Olivier De Cannière</name>
<email>olivier.decanniere@qt.io</email>
</author>
<published>2026-04-23T08:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=fb654eed74ac94807a8bba22f0b4b17c4b37fd13'/>
<id>fb654eed74ac94807a8bba22f0b4b17c4b37fd13</id>
<content type='text'>
Our documentation claims imports are non-optional. This is not actual
true. The parser is happy with such files and the compiler can even
generate C++ code for them.

This can work in simple cases because the QML module is always imported
even when not explicitly asked by the user. Therefore, types such as
QtObject are still available.

However, this is not the case of most types and we want to point our
users to the likely source of their issues instead of showing them
more cryptic errors that result from the missing imports.

Note that Parser::parse() still cannot return false on files with no
imports, as that breaks qmlls. We want to accept such files and show
diagnostics instead of nothing.

Change-Id: Iffc2c628e681ae576d7b4f0bd309908044805616
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our documentation claims imports are non-optional. This is not actual
true. The parser is happy with such files and the compiler can even
generate C++ code for them.

This can work in simple cases because the QML module is always imported
even when not explicitly asked by the user. Therefore, types such as
QtObject are still available.

However, this is not the case of most types and we want to point our
users to the likely source of their issues instead of showing them
more cryptic errors that result from the missing imports.

Note that Parser::parse() still cannot return false on files with no
imports, as that breaks qmlls. We want to accept such files and show
diagnostics instead of nothing.

Change-Id: Iffc2c628e681ae576d7b4f0bd309908044805616
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test for qmlpreview on loadFromModule()</title>
<updated>2026-05-04T15:52:50+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-04-15T05:54:28+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1b8c8eb5416e5c236b7bbeb142a02041ec051a14'/>
<id>1b8c8eb5416e5c236b7bbeb142a02041ec051a14</id>
<content type='text'>
Task-number: QTBUG-145799
Change-Id: Idaaa7a77fa3268db4ba8bc0ffcc06b32aeca39b9
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-145799
Change-Id: Idaaa7a77fa3268db4ba8bc0ffcc06b32aeca39b9
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Re-initialize when updating CU on context</title>
<updated>2026-05-04T14:07:18+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-04-28T08:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2a3c3a28b58b6f574fe46f0530b324cfafc6da78'/>
<id>2a3c3a28b58b6f574fe46f0530b324cfafc6da78</id>
<content type='text'>
The ID values will have changed and we need to invalidate them.

Amends commit 43e4bd771b0d6515b5ddf3049ecd018e9fc6639f.

Task-number: QTBUG-146122
Change-Id: Ia12c9d4b612e92f68367b8cf5065d484dea3f8a8
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ID values will have changed and we need to invalidate them.

Amends commit 43e4bd771b0d6515b5ddf3049ecd018e9fc6639f.

Task-number: QTBUG-146122
Change-Id: Ia12c9d4b612e92f68367b8cf5065d484dea3f8a8
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlPreview: Create BindingChange hunks if binding target objects differ</title>
<updated>2026-05-04T14:07:14+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-04-28T12:18:51+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c2e8c0e9b43ad8547a94fe56cb5594c09616e950'/>
<id>c2e8c0e9b43ad8547a94fe56cb5594c09616e950</id>
<content type='text'>
Analogous to how we deal with script bindings and their functions. We
need to update default properties if we shuffle objects around.

Task-number: QTBUG-146122
Change-Id: Iad792f4cd6798f9829dc1482e1044c2d8fff5b98
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Analogous to how we deal with script bindings and their functions. We
need to update default properties if we shuffle objects around.

Task-number: QTBUG-146122
Change-Id: Iad792f4cd6798f9829dc1482e1044c2d8fff5b98
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
