<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/plugins, branch wip/nativemenus</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>QQuickAbstractButton: setAction will share its Accessible object</title>
<updated>2024-05-24T20:21:59+00:00</updated>
<author>
<name>Aleix Pol</name>
<email>aleixpol@kde.org</email>
</author>
<published>2024-04-21T13:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7bdeea2c309150c8b49558b135232926d6a89c50'/>
<id>7bdeea2c309150c8b49558b135232926d6a89c50</id>
<content type='text'>
In cases where a button acts as a view for an action, provide the
Action's accessibility information into the visual component so that it
can convey the action's information into the accessibility
infrastructure.
This is done by creating a Accessibility proxy object in the button
that will communicate the information from the action's accessibility
as part of the button. If the properties of the Accessibility object in
the button are modified, these values will prevail.

Fixes: QTBUG-123123
Change-Id: Ibeddcc918616d717bb1704177d482ff88bfe99ef
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In cases where a button acts as a view for an action, provide the
Action's accessibility information into the visual component so that it
can convey the action's information into the accessibility
infrastructure.
This is done by creating a Accessibility proxy object in the button
that will communicate the information from the action's accessibility
as part of the button. If the properties of the Accessibility object in
the button are modified, these values will prevail.

Fixes: QTBUG-123123
Change-Id: Ibeddcc918616d717bb1704177d482ff88bfe99ef
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>V4: Slim down FunctionObject</title>
<updated>2024-05-14T12:16:57+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2024-04-30T09:55:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8b6a9403bf2e04d34b9b07d2780186029fab99d0'/>
<id>8b6a9403bf2e04d34b9b07d2780186029fab99d0</id>
<content type='text'>
Most FunctionObjects do not actually need their custom jsCall members.
They will only call the functions from the vtable anyway. FunctionObject
can therefore be split into a static and a dynamic variant. Only the
dyanmic variant needs to carry (and invoke) the extra pointer. The
jsCallWithMetaTypes pointer is completely pointless because none of the
dynamic functions actually implement it.

Furthermore, the QV4::Function and QV4::ExecutionContext pointers in
FunctionObject are only needed by actual JavaScript functions. The
builtins that like to be dynamic functions never need them. Therefore,
split out another class for this.

In the generic FunctionObject, we need the capability to decide at run
time whether the function shall be a constructor or not. Add a flag to
replace the check for jsCallAsConstructor.

Also, where we can, avoid the pessimization of checking whether a
function is a constructor before trying to call it as constructor.
Rather have the default implementation throw the exception.

As a side effect, for most functions we don't need an ExecutionContext
anymore. The engine is enough.

Task-number: QTBUG-124662
Change-Id: Iac657fa71288dd6ec230a33de2986ba3bcf4628c
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most FunctionObjects do not actually need their custom jsCall members.
They will only call the functions from the vtable anyway. FunctionObject
can therefore be split into a static and a dynamic variant. Only the
dyanmic variant needs to carry (and invoke) the extra pointer. The
jsCallWithMetaTypes pointer is completely pointless because none of the
dynamic functions actually implement it.

Furthermore, the QV4::Function and QV4::ExecutionContext pointers in
FunctionObject are only needed by actual JavaScript functions. The
builtins that like to be dynamic functions never need them. Therefore,
split out another class for this.

In the generic FunctionObject, we need the capability to decide at run
time whether the function shall be a constructor or not. Add a flag to
replace the check for jsCallAsConstructor.

Also, where we can, avoid the pessimization of checking whether a
function is a constructor before trying to call it as constructor.
Rather have the default implementation throw the exception.

As a side effect, for most functions we don't need an ExecutionContext
anymore. The engine is enough.

Task-number: QTBUG-124662
Change-Id: Iac657fa71288dd6ec230a33de2986ba3bcf4628c
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Tooling: Use QHash/QMap's constFind() to avoid unnecessary detaches</title>
<updated>2024-04-23T18:33:39+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2024-04-23T09:55:11+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2f727c892bf9abc200bb4d9ed71448a8a6427b2e'/>
<id>2f727c892bf9abc200bb4d9ed71448a8a6427b2e</id>
<content type='text'>
Use QHash/QMap's constFind() instead of non-const find() where
applicable to avoid unnecessary detaches.

Change-Id: I3906c7ff0601b2b4c336c6e4312319b76fa0c183
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use QHash/QMap's constFind() instead of non-const find() where
applicable to avoid unnecessary detaches.

Change-Id: I3906c7ff0601b2b4c336c6e4312319b76fa0c183
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QuickLintPlugin: avoid detach with QHash::asKeyValueRange()</title>
<updated>2024-04-22T08:06:28+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2024-04-20T16:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1c629c1a7f6f5f108989eec6cca7c0c814587232'/>
<id>1c629c1a7f6f5f108989eec6cca7c0c814587232</id>
<content type='text'>
Wrap containers to std::as_const() before using non-const QHash::asKeyValueRange() in range-based for loop to avoid
unexpected detach.

Change-Id: Ie7317ebaeb91acb46393f84b2fc17176766d60a5
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wrap containers to std::as_const() before using non-const QHash::asKeyValueRange() in range-based for loop to avoid
unexpected detach.

Change-Id: Ie7317ebaeb91acb46393f84b2fc17176766d60a5
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable copy and move for QQmlPreviewFileEngineHandler</title>
<updated>2024-04-15T10:37:54+00:00</updated>
<author>
<name>Edward Welbourne</name>
<email>edward.welbourne@qt.io</email>
</author>
<published>2024-04-08T15:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=18a6e9277b10f7feb47fc7384761e7f724478227'/>
<id>18a6e9277b10f7feb47fc7384761e7f724478227</id>
<content type='text'>
It's based on QAbstractFileEngineHandler, which isn't meant to be
copied or moved.

Task-number: QTBUG-122619
Change-Id: Id6b85da7071125d4b9d7bc6d4df2c3fbb65abc75
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's based on QAbstractFileEngineHandler, which isn't meant to be
copied or moved.

Task-number: QTBUG-122619
Change-Id: Id6b85da7071125d4b9d7bc6d4df2c3fbb65abc75
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlPreviewFileEngine: adapt to changes in QAFileEngine/Iterator [3]</title>
<updated>2024-03-25T18:03:07+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2024-03-18T13:08:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7ff6ebb7bdf0f8ceaad50948ceda50e728b5b9cd'/>
<id>7ff6ebb7bdf0f8ceaad50948ceda50e728b5b9cd</id>
<content type='text'>
Adapt the argument type for fileTime().

See commit fd295f4bf6002b499f1f238efa5a7c8d9c90be39 in qtbase.

Pick-to: 6.7
Change-Id: Ifca30a1d38acb281b55176a56b3692723b840e6d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adapt the argument type for fileTime().

See commit fd295f4bf6002b499f1f238efa5a7c8d9c90be39 in qtbase.

Pick-to: 6.7
Change-Id: Ifca30a1d38acb281b55176a56b3692723b840e6d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlPreviewFileEngine: adapt to changes in QAFileEngine/Iterator [2]</title>
<updated>2024-03-25T18:03:05+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2024-03-18T13:08:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=acd9b7f4297015af20bd55fce0675ee904cc5a99'/>
<id>acd9b7f4297015af20bd55fce0675ee904cc5a99</id>
<content type='text'>
Replace the iterator's next() and hasNext() methods with advance().

See commit ceeaf1b65787d3ef46dd0bdbd0e6810137163fea in qtbase.

Pick-to: 6.7
Change-Id: I4f2a72f872e1c913aef88b24fcb2aaf87a00b3fe
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>
Replace the iterator's next() and hasNext() methods with advance().

See commit ceeaf1b65787d3ef46dd0bdbd0e6810137163fea in qtbase.

Pick-to: 6.7
Change-Id: I4f2a72f872e1c913aef88b24fcb2aaf87a00b3fe
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>QQmlPreviewFileEngine: adapt to changes in QAFileEngine/Iterator [4]</title>
<updated>2024-03-25T18:03:04+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2024-03-18T13:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2f488d22c3e414e8b0e4cfbb5aeaffd8fd68ef03'/>
<id>2f488d22c3e414e8b0e4cfbb5aeaffd8fd68ef03</id>
<content type='text'>
See commit 3c50ad828861bee82e53469deab28b4e286cbeda in qtbase.

Pick-to: 6.7
Change-Id: Ie1bc23f0cf93c90dde1551024d2a23b2c3f2a1dc
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>
See commit 3c50ad828861bee82e53469deab28b4e286cbeda in qtbase.

Pick-to: 6.7
Change-Id: Ie1bc23f0cf93c90dde1551024d2a23b2c3f2a1dc
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>QQmlPreviewFileEngine: adapt to changes in QAFEngine/Iterator [1]</title>
<updated>2024-03-25T18:03:02+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2023-12-20T23:25:45+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=07f9a8b24e8318046aaa5d71bfe78f53423d2339'/>
<id>07f9a8b24e8318046aaa5d71bfe78f53423d2339</id>
<content type='text'>
Adapt the begin/endEntryList return values, add the path argument to the
iterator ctor, and use std::unique_ptr instead of QScopedPointer.

See the changes starting at
e146d835a69d57748bf2978cf5134ac5d86d81cf in qtbase.

Pick-to: 6.7
Change-Id: I5d002e7bc7984ec0f339edac3c9439674e7de1b2
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adapt the begin/endEntryList return values, add the path argument to the
iterator ctor, and use std::unique_ptr instead of QScopedPointer.

See the changes starting at
e146d835a69d57748bf2978cf5134ac5d86d81cf in qtbase.

Pick-to: 6.7
Change-Id: I5d002e7bc7984ec0f339edac3c9439674e7de1b2
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use NO_GENERATE_CPP_EXPORTS explicitly</title>
<updated>2024-03-20T11:40:43+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2023-11-28T13:24:37+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=276c13441fae123c2adbed86604f658d4c9ccc2d'/>
<id>276c13441fae123c2adbed86604f658d4c9ccc2d</id>
<content type='text'>
Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need
the autogenerated exports header file.

Task-number: QTBUG-90492
Change-Id: I6b2b9949f4592de399517dc5e8c7bd96dc7120d6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need
the autogenerated exports header file.

Task-number: QTBUG-90492
Change-Id: I6b2b9949f4592de399517dc5e8c7bd96dc7120d6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
