<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/items/qquicktextinput.cpp, branch 6.5</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Merge tag 'v6.5.10-lts' into tqtc/lts-6.5-opensource</title>
<updated>2026-08-20T12:41:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2026-08-20T12:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ae5bbc665633ea99eb26800eb5a8978d2213a2c2'/>
<id>ae5bbc665633ea99eb26800eb5a8978d2213a2c2</id>
<content type='text'>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.7-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-10-09T11:56:44+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-10-09T11:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=844f9b9b376838bcb44324984876f8bf99d85d38'/>
<id>844f9b9b376838bcb44324984876f8bf99d85d38</id>
<content type='text'>
Qt 6.5.7-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I8fbe9c1606825b726adf95e69a4fa86e2196f4e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.7-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I8fbe9c1606825b726adf95e69a4fa86e2196f4e8
</pre>
</div>
</content>
</entry>
<entry>
<title>Doc: link to TextInput's signals in more places</title>
<updated>2025-07-16T22:17:16+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2025-07-15T05:03:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=239e665d4f96cfcd5c101313b22e9c59ee8e8077'/>
<id>239e665d4f96cfcd5c101313b22e9c59ee8e8077</id>
<content type='text'>
- If you're looking at one, chances are you want to know about the
other ones.
- We should be encouraging the use of these user interaction signals,
otherwise users might just rely on textChanged.

Change-Id: I28071c8e8ab8fbb7746810364cca558e06e4884f
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 98c82f2e09fba2016e4401e2fd93dbfe04c44622)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 993bd6387e8307fb125f6e81c01ff4a9520bc0a4)
(cherry picked from commit 7704e7f8eeefc0701f00ef67b5c0fe74e96fc5bc)
(cherry picked from commit 4df31a1b471aa76120d33cb45d20f43fe1194e9c)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- If you're looking at one, chances are you want to know about the
other ones.
- We should be encouraging the use of these user interaction signals,
otherwise users might just rely on textChanged.

Change-Id: I28071c8e8ab8fbb7746810364cca558e06e4884f
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 98c82f2e09fba2016e4401e2fd93dbfe04c44622)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 993bd6387e8307fb125f6e81c01ff4a9520bc0a4)
(cherry picked from commit 7704e7f8eeefc0701f00ef67b5c0fe74e96fc5bc)
(cherry picked from commit 4df31a1b471aa76120d33cb45d20f43fe1194e9c)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.6-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-04-29T11:02:01+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-04-29T11:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7170e18bbb886858716854bc4dbee7d5d88810bc'/>
<id>7170e18bbb886858716854bc4dbee7d5d88810bc</id>
<content type='text'>
Qt 6.5.6-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I9ee692350de5ba94eb25021b6246c2b397570e76
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.6-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I9ee692350de5ba94eb25021b6246c2b397570e76
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.5-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-01-29T14:12:28+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-01-29T14:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7ac842cba18be081ac835bf40ac475ec4c47d30b'/>
<id>7ac842cba18be081ac835bf40ac475ec4c47d30b</id>
<content type='text'>
Qt 6.5.5-lts release

Conflicts solved:
	dependencies.yaml
	src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml

Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.5-lts release

Conflicts solved:
	dependencies.yaml
	src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml

Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Update commercial SPDX-License-Identifier"</title>
<updated>2025-01-03T17:25:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-01-03T05:44:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=eee1fcc18b8460f5aa581cc4e41db3ed8ec78fbb'/>
<id>eee1fcc18b8460f5aa581cc4e41db3ed8ec78fbb</id>
<content type='text'>
This reverts commit da5933f22c00270ac9083a089686e5c54e0057da.

Revert of commercial SPDX license identifiers is required for the
Qt 6.5.x opensource releases, Qt 6.5.4 onwards.

Change-Id: Ic056fb761f242af0ec4c883ecb35d50804c1c67c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit da5933f22c00270ac9083a089686e5c54e0057da.

Revert of commercial SPDX license identifiers is required for the
Qt 6.5.x opensource releases, Qt 6.5.4 onwards.

Change-Id: Ic056fb761f242af0ec4c883ecb35d50804c1c67c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>TextInput/TextField: Deselect text on tap or click</title>
<updated>2024-08-25T21:25:44+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2024-08-23T14:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f19342d4c62a7e5789e55ce8edc9e96564c07499'/>
<id>f19342d4c62a7e5789e55ce8edc9e96564c07499</id>
<content type='text'>
We now use the same approach as in QQuickTextControlPrivate:
on press, set hadSelectionOnMousePress according to whether text
is already selected or not; on release, if hadSelectionOnMousePress
is true, we should move the cursor (and thus deselect text).

Some history:

Commit 650342de792e0ab37ce8bac8ccde21ab9b96b2c9 disabled direct text
selection on touchscreens, because mobile platforms provide text
selection handles, and otherwise the user's finger is usually too
large relative to the font size to select text precisely, as one does
with a mouse. The test added there is now amended: if text was already
selected on press, we do expect tapping to move the cursor and deselect
the text.

Commit ac3f1eace1102543008a0ceded541e40ff495368 allowed importing an
old Qt Quick version to allow tapping to deselect.

Commit d6ddfa3d4ca3fbbaddc2acd7ebe3f8296fc68b68 fixed another bug:
text would lose selection when releasing afer a long press. But text
could not be deselected by touch. One way was to tap on something else
to make the text field lose focus.

Fixes: QTBUG-127440
Task-number: QTBUG-10684
Task-number: QTBUG-38934
Task-number: QTBUG-101205
Task-number: QTBUG-111504
Task-number: QTBUG-116606
Change-Id: I5001216fc30266fcce3af413ecfa091bfd99beed
Reviewed-by: Ville Voutilainen &lt;ville.voutilainen@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit e434796c6766b48fd725866bd2998fe963bbbe14)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit e87e786111dfc8f5d880f34f0bdf32188852cb6f)
(cherry picked from commit 639003b317b3628645db73c24aee75536bf95707)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now use the same approach as in QQuickTextControlPrivate:
on press, set hadSelectionOnMousePress according to whether text
is already selected or not; on release, if hadSelectionOnMousePress
is true, we should move the cursor (and thus deselect text).

Some history:

Commit 650342de792e0ab37ce8bac8ccde21ab9b96b2c9 disabled direct text
selection on touchscreens, because mobile platforms provide text
selection handles, and otherwise the user's finger is usually too
large relative to the font size to select text precisely, as one does
with a mouse. The test added there is now amended: if text was already
selected on press, we do expect tapping to move the cursor and deselect
the text.

Commit ac3f1eace1102543008a0ceded541e40ff495368 allowed importing an
old Qt Quick version to allow tapping to deselect.

Commit d6ddfa3d4ca3fbbaddc2acd7ebe3f8296fc68b68 fixed another bug:
text would lose selection when releasing afer a long press. But text
could not be deselected by touch. One way was to tap on something else
to make the text field lose focus.

Fixes: QTBUG-127440
Task-number: QTBUG-10684
Task-number: QTBUG-38934
Task-number: QTBUG-101205
Task-number: QTBUG-111504
Task-number: QTBUG-116606
Change-Id: I5001216fc30266fcce3af413ecfa091bfd99beed
Reviewed-by: Ville Voutilainen &lt;ville.voutilainen@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit e434796c6766b48fd725866bd2998fe963bbbe14)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit e87e786111dfc8f5d880f34f0bdf32188852cb6f)
(cherry picked from commit 639003b317b3628645db73c24aee75536bf95707)
</pre>
</div>
</content>
</entry>
<entry>
<title>Update text components with color fonts when dpr changes</title>
<updated>2024-08-22T11:24:26+00:00</updated>
<author>
<name>Eskil Abrahamsen Blomfeldt</name>
<email>eskil.abrahamsen-blomfeldt@qt.io</email>
</author>
<published>2024-08-15T07:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=32051ae455fbe76e07992e35603c71f6826f0c30'/>
<id>32051ae455fbe76e07992e35603c71f6826f0c30</id>
<content type='text'>
There was already a hook in text components to update
when the renderType was set to Text.NativeRendering. This
is necessary because the text is rendered into a glyph
cache at a given size and scaling it further will give
pixelation artifacts.

However, there are cases where the NativeRendering
backend is used implicitly. In particular this happens
for color fonts, so when changing the dpr of a screen
(or when moving the window to a screen with a different
dpr) we would get pixelated emojis in some cases.

The fix is to detect in the text node whether any
glyphs use the NativeRendering backend and if they
do, we update whenever the dpr changes.

Fixes: QTBUG-121449
Change-Id: I9ad62d792e495d4439715fe87acfd87dd1833c67
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
Reviewed-by: Tor Arne Vestbø &lt;tor.arne.vestbo@qt.io&gt;
(cherry picked from commit 23ae81c84de8bb30ba2d779c603a5b3aded2a417)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 4a85b870e4fa4febdc262f9a3060177bf86f6b5a)
(cherry picked from commit 4da6490b6e5ee840fa81e6a91da4251989fbcd92)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was already a hook in text components to update
when the renderType was set to Text.NativeRendering. This
is necessary because the text is rendered into a glyph
cache at a given size and scaling it further will give
pixelation artifacts.

However, there are cases where the NativeRendering
backend is used implicitly. In particular this happens
for color fonts, so when changing the dpr of a screen
(or when moving the window to a screen with a different
dpr) we would get pixelated emojis in some cases.

The fix is to detect in the text node whether any
glyphs use the NativeRendering backend and if they
do, we update whenever the dpr changes.

Fixes: QTBUG-121449
Change-Id: I9ad62d792e495d4439715fe87acfd87dd1833c67
Reviewed-by: Eirik Aavitsland &lt;eirik.aavitsland@qt.io&gt;
Reviewed-by: Tor Arne Vestbø &lt;tor.arne.vestbo@qt.io&gt;
(cherry picked from commit 23ae81c84de8bb30ba2d779c603a5b3aded2a417)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 4a85b870e4fa4febdc262f9a3060177bf86f6b5a)
(cherry picked from commit 4da6490b6e5ee840fa81e6a91da4251989fbcd92)
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: fix handling of InputMethodQuery</title>
<updated>2024-04-12T12:43:33+00:00</updated>
<author>
<name>Ivan Solovev</name>
<email>ivan.solovev@qt.io</email>
</author>
<published>2024-04-08T15:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=14dda009c0eb143b2e283ed811bc4bb8459e6bb8'/>
<id>14dda009c0eb143b2e283ed811bc4bb8459e6bb8</id>
<content type='text'>
Somewhere between Qt 6.5.1 and dev (backported to 6.5.4) something has
changed the behavior of QQuickItem::nextItemInFocusChain() or
QQuickItem::activeFocusOnTab(). I could not figure out the patch to
blame, because the actual code of these methods didn't change, but
as a result the loop to determine the next focus item in
QQuickTextInput::inputMethodQuery() was running forever.
Fix it by explicitly checking if the element changes between the loop
iterations, and if it does not, simply assing nullptr to it, acting as
if no focus item was found in the chain.

Fixes: QTBUG-123378
Change-Id: I987f8ef2548cc116c2e69f5175d4af0bdb3ab3d0
Reviewed-by: Assam Boudjelthia &lt;assam.boudjelthia@qt.io&gt;
(cherry picked from commit 9d8c749854bff84046fa2c3c7f7d7039609facc1)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit e1d63710c16af1c82a84d0cb4fe014b6ee7cbdc2)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Somewhere between Qt 6.5.1 and dev (backported to 6.5.4) something has
changed the behavior of QQuickItem::nextItemInFocusChain() or
QQuickItem::activeFocusOnTab(). I could not figure out the patch to
blame, because the actual code of these methods didn't change, but
as a result the loop to determine the next focus item in
QQuickTextInput::inputMethodQuery() was running forever.
Fix it by explicitly checking if the element changes between the loop
iterations, and if it does not, simply assing nullptr to it, acting as
if no focus item was found in the chain.

Fixes: QTBUG-123378
Change-Id: I987f8ef2548cc116c2e69f5175d4af0bdb3ab3d0
Reviewed-by: Assam Boudjelthia &lt;assam.boudjelthia@qt.io&gt;
(cherry picked from commit 9d8c749854bff84046fa2c3c7f7d7039609facc1)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit e1d63710c16af1c82a84d0cb4fe014b6ee7cbdc2)
</pre>
</div>
</content>
</entry>
<entry>
<title>TextArea/TextField: properly update placeholder text alignment</title>
<updated>2024-01-11T19:17:32+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2023-12-11T18:45:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ffbcbec9e539e74e8f5a73cbc6f1ff6e2532e0f1'/>
<id>ffbcbec9e539e74e8f5a73cbc6f1ff6e2532e0f1</id>
<content type='text'>
Placeholder text alignment depends on actual alignment of a parent
control, e.g. TextArea or TextField. Thus, if the horizontal text
alignment of the parent control is set explicitly, the placeholder
text must have the same alignment. Otherwise, the placeholder text
alignment should respect to the natural alignment of the text.

In order to do this QQuickPlaceholderText is connected to
effectiveHorizontalAlignmentChanged() signal of the parent control.

The problem is that the signal may not be emitted when alignment
is set explicitly after the component creation, so the placeholder
text alignment will not be updated respectively. To solve this we
need to make sure that the signal is forcibly emitted every time
when the alignment is set explicitly.

Fixes: QTBUG-120052
Change-Id: Ib66a7a46d523777cc54ca6b6883d3fecc800dfb2
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit 694a677535ef11f9c966920c5e99d304bdbd94a5)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 8b12eb7ed530d419538615ac85ec815a8fa6ff43)
(cherry picked from commit 8903bb3d64f6c47cd7e616fcba0a8e972c68b387)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Placeholder text alignment depends on actual alignment of a parent
control, e.g. TextArea or TextField. Thus, if the horizontal text
alignment of the parent control is set explicitly, the placeholder
text must have the same alignment. Otherwise, the placeholder text
alignment should respect to the natural alignment of the text.

In order to do this QQuickPlaceholderText is connected to
effectiveHorizontalAlignmentChanged() signal of the parent control.

The problem is that the signal may not be emitted when alignment
is set explicitly after the component creation, so the placeholder
text alignment will not be updated respectively. To solve this we
need to make sure that the signal is forcibly emitted every time
when the alignment is set explicitly.

Fixes: QTBUG-120052
Change-Id: Ib66a7a46d523777cc54ca6b6883d3fecc800dfb2
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit 694a677535ef11f9c966920c5e99d304bdbd94a5)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 8b12eb7ed530d419538615ac85ec815a8fa6ff43)
(cherry picked from commit 8903bb3d64f6c47cd7e616fcba0a8e972c68b387)
</pre>
</div>
</content>
</entry>
</feed>
