<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/items/qquickimage_p.h, 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>Set explicit default security level of all files with default security</title>
<updated>2025-09-17T13:31:14+00:00</updated>
<author>
<name>Jan Arve Sæther</name>
<email>jan-arve.saether@qt.io</email>
</author>
<published>2025-09-16T13:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=01cd43d30e3ca2c4dd94a4a4711604adb9417517'/>
<id>01cd43d30e3ca2c4dd94a4a4711604adb9417517</id>
<content type='text'>
The files (folders) already processed are listed in each issue in epic
QTBUG-134547

These files were processed half a year ago. In order to make it clear
that all of these files are already processed, mark them with an
explicit default security header.

For the record, this was generated with this script:

find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py

in the folders listed in each subtask of QTBUG-134547

(add-cra-header.py only exist at my desktop, but it simply adds the
default security header if it doesn't already have any existing security
header)

QUIP: 23
Fixes: QTBUG-134547
Pick-to: 6.10 6.9 6.8
Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The files (folders) already processed are listed in each issue in epic
QTBUG-134547

These files were processed half a year ago. In order to make it clear
that all of these files are already processed, mark them with an
explicit default security header.

For the record, this was generated with this script:

find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py

in the folders listed in each subtask of QTBUG-134547

(add-cra-header.py only exist at my desktop, but it simply adds the
default security header if it doesn't already have any existing security
header)

QUIP: 23
Fixes: QTBUG-134547
Pick-to: 6.10 6.9 6.8
Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Quick: Correctly expose more types to QML</title>
<updated>2025-07-28T10:33:32+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2025-07-25T14:36:18+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=d1f01b7512b1de2438fd6f5e79c36e022a6bf40c'/>
<id>d1f01b7512b1de2438fd6f5e79c36e022a6bf40c</id>
<content type='text'>
In order for QML tooling (and in some cases, the runtime [1]) to work
correctly,  meta-methods need to use the fully qualified type. Moreover,
we need to make sure that types which are referenced are exposet to QML,
even if only as anonymous types.
Switching signals and  slots to fully qualified types risks breaking old
style connects, so this is only applied to private headers.

This reduces the warnings reported by the Quick_qmllint_module target
quite a bit.

[1] The runtime often has the meta-type available, which is
generally enough. Tooling however will not be able to identify the type
and provide e.g. proper auto-completion.

Pick-to: 6.10
Change-Id: I706c25d8fdeb79ca3d2488ce1d2e66f79818cfbb
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order for QML tooling (and in some cases, the runtime [1]) to work
correctly,  meta-methods need to use the fully qualified type. Moreover,
we need to make sure that types which are referenced are exposet to QML,
even if only as anonymous types.
Switching signals and  slots to fully qualified types risks breaking old
style connects, so this is only applied to private headers.

This reduces the warnings reported by the Quick_qmllint_module target
quite a bit.

[1] The runtime often has the meta-type available, which is
generally enough. Tooling however will not be able to identify the type
and provide e.g. proper auto-completion.

Pick-to: 6.10
Change-Id: I706c25d8fdeb79ca3d2488ce1d2e66f79818cfbb
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Partially revert "Make properties in Qt Quick FINAL to prevent shadowing"</title>
<updated>2024-02-17T21:07:23+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2024-02-12T11:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bd131dcbf579f822ac8cee98324dc1355f7cd314'/>
<id>bd131dcbf579f822ac8cee98324dc1355f7cd314</id>
<content type='text'>
Making properties FINAL is an API break not covered by any QUIP rule.
However, this does not apply to the attached and uncreatable types
(either explicitly, or because they are singletons or value types) whose
properties were marked FINAL in the referenced commit, as it is not
possible to derive from them anyway. So those are left with their
properties still marked as final.

This partially reverts commit 351979e05ad2a861fc3e6f8d1de6197a751316a8.

Pick-to: 6.6 6.7
Change-Id: I1ce8c0873c4600ec2aad8e078c379239ad03f74a
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Making properties FINAL is an API break not covered by any QUIP rule.
However, this does not apply to the attached and uncreatable types
(either explicitly, or because they are singletons or value types) whose
properties were marked FINAL in the referenced commit, as it is not
possible to derive from them anyway. So those are left with their
properties still marked as final.

This partially reverts commit 351979e05ad2a861fc3e6f8d1de6197a751316a8.

Pick-to: 6.6 6.7
Change-Id: I1ce8c0873c4600ec2aad8e078c379239ad03f74a
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the use of Q_QUICK_PRIVATE_EXPORT</title>
<updated>2024-01-09T09:40:47+00:00</updated>
<author>
<name>Alexey Edelev</name>
<email>alexey.edelev@qt.io</email>
</author>
<published>2023-11-23T09:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9dd45fff835a7c261dacc9ee6239d42ef1a74bbe'/>
<id>9dd45fff835a7c261dacc9ee6239d42ef1a74bbe</id>
<content type='text'>
Task-number: QTBUG-117983
Change-Id: Ia904c9390efb13b92de2e16fa0690e48394f9bab
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-117983
Change-Id: Ia904c9390efb13b92de2e16fa0690e48394f9bab
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove all QML_DECLARE_TYPE from src and tools</title>
<updated>2023-11-18T07:37:33+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-11-16T13:00:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=03d58031c7233e0579f463b9484af8227b0938fd'/>
<id>03d58031c7233e0579f463b9484af8227b0938fd</id>
<content type='text'>
They are generally not useful for anything.

Change-Id: I12e959ce9338e6eb7465633496c7921fa09a3fe8
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They are generally not useful for anything.

Change-Id: I12e959ce9338e6eb7465633496c7921fa09a3fe8
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Move QQuickImageBase::sourceSize to QQuickImage</title>
<updated>2023-08-31T15:59:31+00:00</updated>
<author>
<name>Oliver Eftevaag</name>
<email>oliver.eftevaag@qt.io</email>
</author>
<published>2023-07-03T16:19:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c5f58f40eda72d6e7f28e24a7509ced3eca247d1'/>
<id>c5f58f40eda72d6e7f28e24a7509ced3eca247d1</id>
<content type='text'>
The sourceSize property in QQuickImageBase were shadowed by the
QQuickBorderImage class because of a change I made in
351979e05ad2a861fc3e6f8d1.

Since QQuickImageBase functions as the base class for QQuickBorderImage
and QQuickImage, and since sourceSize in those two classes work slighly
different (e.g QQuickBorderImage::sourceSize being read-only).
It would make more sense to simply let those two types declare their own
distinct Q_PROPERTIES, instead of using inheritance.

Fixes: QTBUG-116399
Pick-to: 6.6
Change-Id: Ia238b58307b16031b56866450d74f10d1e59b62f
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sourceSize property in QQuickImageBase were shadowed by the
QQuickBorderImage class because of a change I made in
351979e05ad2a861fc3e6f8d1.

Since QQuickImageBase functions as the base class for QQuickBorderImage
and QQuickImage, and since sourceSize in those two classes work slighly
different (e.g QQuickBorderImage::sourceSize being read-only).
It would make more sense to simply let those two types declare their own
distinct Q_PROPERTIES, instead of using inheritance.

Fixes: QTBUG-116399
Pick-to: 6.6
Change-Id: Ia238b58307b16031b56866450d74f10d1e59b62f
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make properties in Qt Quick FINAL to prevent shadowing</title>
<updated>2023-06-08T10:21:28+00:00</updated>
<author>
<name>Oliver Eftevaag</name>
<email>oliver.eftevaag@qt.io</email>
</author>
<published>2023-05-26T14:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=351979e05ad2a861fc3e6f8d1de6197a751316a8'/>
<id>351979e05ad2a861fc3e6f8d1de6197a751316a8</id>
<content type='text'>
Without setting the FINAL flag, properties can be shadowed by users.
In the following example:

Image {
  property string source: "Shadowing QQuickImage::source"
}

The source property of QQuickImage, will be shadowed by a new property
with the same name.

This can both cause confusion for non-experienced users, and it causes
issues with qmlsc.

Shadowing a property is usually unwanted. But there are some situations
where it might be intended. The QML Object Attributes doc page
demonstrates that you can override the color property in
QQuickRectangle, for instance.

[ChangeLog][Important Behavior Changes][QtQuick] Most properties for
types in the QtQuick module are now FINAL, meaning that they can no
longer be shadowed by declaring new properties with the same names.
With few exceptions. A warning will be printed out to the console, when
a FINAL property is shadowed. We recommend that users rename those
properties to avoid potential unexpected behavior changes.

Task-number: QTBUG-108739
Pick-to: 6.6
Change-Id: I1070926606f4d88ef7edf088ff80fb3ec82305c8
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without setting the FINAL flag, properties can be shadowed by users.
In the following example:

Image {
  property string source: "Shadowing QQuickImage::source"
}

The source property of QQuickImage, will be shadowed by a new property
with the same name.

This can both cause confusion for non-experienced users, and it causes
issues with qmlsc.

Shadowing a property is usually unwanted. But there are some situations
where it might be intended. The QML Object Attributes doc page
demonstrates that you can override the color property in
QQuickRectangle, for instance.

[ChangeLog][Important Behavior Changes][QtQuick] Most properties for
types in the QtQuick module are now FINAL, meaning that they can no
longer be shadowed by declaring new properties with the same names.
With few exceptions. A warning will be printed out to the console, when
a FINAL property is shadowed. We recommend that users rename those
properties to avoid potential unexpected behavior changes.

Task-number: QTBUG-108739
Pick-to: 6.6
Change-Id: I1070926606f4d88ef7edf088ff80fb3ec82305c8
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Qt key words from header files</title>
<updated>2022-07-19T06:39:02+00:00</updated>
<author>
<name>Yuhang Zhao</name>
<email>2546789017@qq.com</email>
</author>
<published>2022-07-15T05:48:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0923817ddadd35e43bc09449436e282f834d566f'/>
<id>0923817ddadd35e43bc09449436e282f834d566f</id>
<content type='text'>
So that users can use QT_NO_KEYWORDS when linking against QtDeclarative,
even if they are using private headers.

Docs, examples and tools are not touched because it's not necessary.

Pick-to: 6.4
Change-Id: Idc30797074aaa72576429ebdaaf915d7f5acf84e
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So that users can use QT_NO_KEYWORDS when linking against QtDeclarative,
even if they are using private headers.

Docs, examples and tools are not touched because it's not necessary.

Pick-to: 6.4
Change-Id: Idc30797074aaa72576429ebdaaf915d7f5acf84e
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use SPDX license identifiers</title>
<updated>2022-06-11T06:05:15+00:00</updated>
<author>
<name>Lucie Gérard</name>
<email>lucie.gerard@qt.io</email>
</author>
<published>2022-05-13T13:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0dc4fd240a2897c5c443a0ef6d84c416843e4938'/>
<id>0dc4fd240a2897c5c443a0ef6d84c416843e4938</id>
<content type='text'>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickItem: rename geometryChanged to geometryChange</title>
<updated>2020-04-23T10:13:20+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2020-03-23T15:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9fd4160307ab54b89d0145ebde0a91d293fa95a5'/>
<id>9fd4160307ab54b89d0145ebde0a91d293fa95a5</id>
<content type='text'>
This brings it in line with the existing convention in this and other
modules, where virtual handlers are named "nounChange"; e.g.
itemChange. Signals are named "nounChanged".

This also allows adding a geometryChanged signal, which would enable
users to listen to one signal for all changes to x/y/width/height.

[ChangeLog][QQuickItem] Renamed geometryChanged to geometryChange
in order to follow existing naming conventions and have consistency
with existing API, such as itemChange.

Task-number: QTBUG-82994
Change-Id: I0547358c796a0047982ccfbf2c38bab952e7a634
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This brings it in line with the existing convention in this and other
modules, where virtual handlers are named "nounChange"; e.g.
itemChange. Signals are named "nounChanged".

This also allows adding a geometryChanged signal, which would enable
users to listen to one signal for all changes to x/y/width/height.

[ChangeLog][QQuickItem] Renamed geometryChanged to geometryChange
in order to follow existing naming conventions and have consistency
with existing API, such as itemChange.

Task-number: QTBUG-82994
Change-Id: I0547358c796a0047982ccfbf2c38bab952e7a634
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
