<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/items/qquickimagebase_p_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>QQuickIconImage: respect DPR for named platform icons</title>
<updated>2025-03-20T00:51:57+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2025-02-11T06:08:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=3eb78ed3a07f7dc41677dcd552f64e2659f83e90'/>
<id>3eb78ed3a07f7dc41677dcd552f64e2659f83e90</id>
<content type='text'>
QQuickIconImagePrivate::updateDevicePixelRatio is called for named
_theme icons_, which ensures that the DPR is respected for icons coming
from a theme defined by an index.theme file. However, since a named
icon created through a _platform icon engine_ is loaded through
QQuickImagePrivate::setImage, it bypasses QQuickImageBase::loadPixmap
which would call updateDevicePixelRatio.

Fix this by setting the image's devicePixelRatio member before calling
setImage.

Fixes: QTBUG-133424
Pick-to: 6.8 6.9
Change-Id: Ibaf3d96ebcad6d0b99cd5802801bbf40d2c13e25
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Christian Ehrlicher &lt;ch.ehrlicher@gmx.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QQuickIconImagePrivate::updateDevicePixelRatio is called for named
_theme icons_, which ensures that the DPR is respected for icons coming
from a theme defined by an index.theme file. However, since a named
icon created through a _platform icon engine_ is loaded through
QQuickImagePrivate::setImage, it bypasses QQuickImageBase::loadPixmap
which would call updateDevicePixelRatio.

Fix this by setting the image's devicePixelRatio member before calling
setImage.

Fixes: QTBUG-133424
Pick-to: 6.8 6.9
Change-Id: Ibaf3d96ebcad6d0b99cd5802801bbf40d2c13e25
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Christian Ehrlicher &lt;ch.ehrlicher@gmx.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a flag to keep old image around while loading new one</title>
<updated>2024-05-16T08:59:34+00:00</updated>
<author>
<name>Eskil Abrahamsen Blomfeldt</name>
<email>eskil.abrahamsen-blomfeldt@qt.io</email>
</author>
<published>2024-05-07T06:43:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e0e0f722b86db7b99185ccd669dd5456623e7e69'/>
<id>e0e0f722b86db7b99185ccd669dd5456623e7e69</id>
<content type='text'>
With asynchronous image loading, you may see flickering when switching
between two images if they take longer than one frame to load. Working
around this involved creating a custom Qt Quick component containing two
Image components and then flipping between these.

This introduces a new property called "retainWhileLoading" which keeps
a copy of the old image around while the new one is being loaded and
only flips them when the new data is ready. The property is added to
Image and BorderImage.

Fixes: QTBUG-66713
Change-Id: Idf53bffdadbe60fd6f692b9e7ad1b841f2280156
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With asynchronous image loading, you may see flickering when switching
between two images if they take longer than one frame to load. Working
around this involved creating a custom Qt Quick component containing two
Image components and then flipping between these.

This introduces a new property called "retainWhileLoading" which keeps
a copy of the old image around while the new one is being loaded and
only flips them when the new data is ready. The property is added to
Image and BorderImage.

Fixes: QTBUG-66713
Change-Id: Idf53bffdadbe60fd6f692b9e7ad1b841f2280156
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&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>Export QQuickPixmapKey and (renamed) QQuickPixmapCache for autotests</title>
<updated>2023-09-01T13:57:36+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2023-08-30T20:05:23+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=3df72c56e732341aa55fa8e4aff48dbaebc15018'/>
<id>3df72c56e732341aa55fa8e4aff48dbaebc15018</id>
<content type='text'>
We need to be able to do a leak check in tst_qquickpixmapcache.
So we also need to use the singleton pattern rather than
Q_GLOBAL_STATIC. Since it gets more exposed this way, make
the badly-encapsulated parts of API available only to friends.

It's always been bothersome that various other places in the code are
including qquickpixmapcache_p.h to get QQuickPixmap, and
qquickpixmapcache_p.h also does not include any class called
QQuickPixmapCache as you'd expect; while arguably, QQuickPixmapStore is
the cache. Often in comments I've needed to refer to "the code in
qquickpixmapcache.cpp" because it's a very private, inbred family of
related classes that don't match the header name. So now we split the
headers: qquickpixmapcache_p.h is for the cache, which is now called
QQuickPixmapCache; and qquickpixmap_p.h is the header most often needed
in other places. Most classes in qquickpixmap_p.h are exported, but
QQuickPixmapCache itself is not (except for autotests). It cannot be
defined in the header that gets included in Particles for example: then
it wouldn't link, because the implementation is not (and shouldn't be)
exported, and that's not what Particles needs anyway.

Task-number: QTBUG-81266
Task-number: QTBUG-114953
Change-Id: Ifd7f253b8bbaa130eb52d5546f342754f99f47bb
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to be able to do a leak check in tst_qquickpixmapcache.
So we also need to use the singleton pattern rather than
Q_GLOBAL_STATIC. Since it gets more exposed this way, make
the badly-encapsulated parts of API available only to friends.

It's always been bothersome that various other places in the code are
including qquickpixmapcache_p.h to get QQuickPixmap, and
qquickpixmapcache_p.h also does not include any class called
QQuickPixmapCache as you'd expect; while arguably, QQuickPixmapStore is
the cache. Often in comments I've needed to refer to "the code in
qquickpixmapcache.cpp" because it's a very private, inbred family of
related classes that don't match the header name. So now we split the
headers: qquickpixmapcache_p.h is for the cache, which is now called
QQuickPixmapCache; and qquickpixmap_p.h is the header most often needed
in other places. Most classes in qquickpixmap_p.h are exported, but
QQuickPixmapCache itself is not (except for autotests). It cannot be
defined in the header that gets included in Particles for example: then
it wouldn't link, because the implementation is not (and shouldn't be)
exported, and that's not what Particles needs anyway.

Task-number: QTBUG-81266
Task-number: QTBUG-114953
Change-Id: Ifd7f253b8bbaa130eb52d5546f342754f99f47bb
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickImageBasePrivate: use in-class initialization</title>
<updated>2023-06-13T13:59:06+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2023-06-09T11:31:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5c805f2b80f91355fb58a305308ccecb4e1f28a7'/>
<id>5c805f2b80f91355fb58a305308ccecb4e1f28a7</id>
<content type='text'>
...to clean up the code a bit. Ditto for QQuickAnimatedImagePrivate
and QQuickBorderImagePrivate.

As a drive-by change, rearranged fields for better readability and
packing.

Change-Id: I95cec8110714e5e444a2668c1d358200cf00073e
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...to clean up the code a bit. Ditto for QQuickAnimatedImagePrivate
and QQuickBorderImagePrivate.

As a drive-by change, rearranged fields for better readability and
packing.

Change-Id: I95cec8110714e5e444a2668c1d358200cf00073e
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickImageBasePrivate: introduce setStatus() and setProgress()</title>
<updated>2023-05-30T06:49:40+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2022-12-19T14:03:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=69eb6ec2888ccec6dc3b4ed9867673d1131bfcef'/>
<id>69eb6ec2888ccec6dc3b4ed9867673d1131bfcef</id>
<content type='text'>
and use it wherever applicable to make the code more clear

Change-Id: I0df96ca9ea58a7401bf60c9f9a43cad20ca1bdb0
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and use it wherever applicable to make the code more clear

Change-Id: I0df96ca9ea58a7401bf60c9f9a43cad20ca1bdb0
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@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>Add the possibility of flipping vertically to Image</title>
<updated>2021-05-27T16:25:15+00:00</updated>
<author>
<name>Laszlo Agocs</name>
<email>laszlo.agocs@qt.io</email>
</author>
<published>2021-05-26T12:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=17babc38b42adf577d6ebf33018f9e809263cc6d'/>
<id>17babc38b42adf577d6ebf33018f9e809263cc6d</id>
<content type='text'>
[ChangeLog][QtQuick] Added mirrorVertically to Image to allow vertically
mirroring an image. This complements the existing mirror property that
performs a horizontal flip.

Task-number: QTBUG-93972
Change-Id: Ib571ec27c299d918976d833fb8c8f57d2e385a56
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ChangeLog][QtQuick] Added mirrorVertically to Image to allow vertically
mirroring an image. This complements the existing mirror property that
performs a horizontal flip.

Task-number: QTBUG-93972
Change-Id: Ib571ec27c299d918976d833fb8c8f57d2e385a56
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Image ColorSpace bindings for Quick/QML</title>
<updated>2020-01-31T10:04:06+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@qt.io</email>
</author>
<published>2019-12-09T12:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a6e661d25bf7ebeb8f4e58925aa9375f5ca10ef3'/>
<id>a6e661d25bf7ebeb8f4e58925aa9375f5ca10ef3</id>
<content type='text'>
Adds a ColorSpace type mapped to QColorSpace, and adds a property to
Image nodes to read and change it, converting the image if necessary
on read.

Fixes: QTBUG-80616
Change-Id: Ie80c8bc045f66de01de3a5d2c4a9974f07d2871d
Reviewed-by: Andy Nichols &lt;andy.nichols@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a ColorSpace type mapped to QColorSpace, and adds a property to
Image nodes to read and change it, converting the image if necessary
on read.

Fixes: QTBUG-80616
Change-Id: Ie80c8bc045f66de01de3a5d2c4a9974f07d2871d
Reviewed-by: Andy Nichols &lt;andy.nichols@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
