[qt/qt/qtvirtualkeyboard]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtvirtualkeyboard
Pushed by mirror-service into branch 'dev'.
Changed from 1bc83c6b3e27be870718845e112bf0cc5954add6 to cc948458c1aae77148b67ca274a75a3866d44c23
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 454b704d271251db623caff7ec1149b54377a2e4 by Jarkko Koivikko on 29/07/2026 at 06:07..
Doc: Document the replacement for InputContext.inputItem

InputContext.inputItem was marked deprecated without telling users what
to use instead. The property is simply the input method focus object:
QVirtualKeyboardInputContextPrivate::inputItem() returns
PlatformInputContext::focusObject(), which is fed from
QPlatformInputContext::setFocusObject(). For a Qt Quick application that
is exactly Window.activeFocusItem, since QQuickWindow::focusObject()
returns the active focus item. The shadow input control never takes
active focus (activeFocusOnPress is false), so this holds in
fullScreenMode as well.

Document Window.activeFocusItem as the QML replacement and
QGuiApplication::focusObject() as the C++ one. Also point to
Qt.inputMethod, since applications tracking the input item usually only
want the keyboard or cursor geometry, which QInputMethod exposes without
requiring access to the focused item.

The property was restored in 5.12.3 as a compatibility shim for code
written against 5.11, not as considered API, so it stays deprecated.

While at it, stop using the deprecated property inside the module.
ShadowInputControl used InputContext.inputItem for the selectByMouse
binding; use InputContext.priv.inputItem instead, consistently with
EnterKey.qml and with the rest of that file.

Task-number: QTBUG-131657
Change-Id: I2c8d3ae5ad43619352f5e090484caee0c1015a83
Reviewed-by: Mitch Curtis <[email protected]>
https://invent.kde.org/qt/qt/qtvirtualkeyboard/-/commit/454b704d271251db623caff7ec1149b54377a2e4

Git commit 433c4bd9672287297218e7287556ebaf0a6757f4 by Jarkko Koivikko on 29/07/2026 at 06:08..
Fix disconnecting from the previously focused window

focusWindowChanged() used the QObject::disconnect(receiver, method)
overload, which forwards to disconnect(this, nullptr, receiver, method).
The sender is therefore the input panel itself rather than the focus
window, so neither call removed the connections made to
QWindow::visibleChanged and QWindow::screenChanged for an earlier focus
window.

Consequently the input panel stayed connected to every window that ever
had focus. A window that is no longer focused could still trigger
focusWindowVisibleChanged(), hiding the input panel while another window
is being edited, or screenChanged(), moving the panel to the screen of
an unfocused window. The Qt::UniqueConnection flag only prevented
duplicate connections to one and the same window, not the stale ones.

Store the connection handles and disconnect through them. The
connections are now always removed before new ones are made, so
Qt::UniqueConnection is no longer needed.

Fixes: QTBUG-148606
Pick-to: 6.12 6.11 6.8
Change-Id: I7abb38e19a333748dc66f27eb31566effe7b6f16
Reviewed-by: Mitch Curtis <[email protected]>
https://invent.kde.org/qt/qt/qtvirtualkeyboard/-/commit/433c4bd9672287297218e7287556ebaf0a6757f4

Git commit 4936448433f3e13f269dabe951122390c76c79c8 by Jarkko Koivikko on 29/07/2026 at 06:08..
VirtualKeyboard: fix popup list height calculation

PopupList and WordCandidatePopupList computed the total spacing of the
visible rows as `spacing * preferredVisibleItems - 1` instead of
`spacing * (preferredVisibleItems - 1)`. A list showing n items has
n - 1 gaps between them, not n gaps less one pixel.

Nothing in the module ever assigns spacing, so it is always the
ListView default of 0 and the expression reduces to -1: every popup
list ends up exactly one pixel shorter than the rows it displays, and
since clip is enabled the bottom pixel row of the last visible item is
cut off. Measured with the language popup of the basic example: five
items of 40.9375 pixels each produced a height of 203.6875 instead of
204.6875.

The error also changes sign the moment spacing is set, which would make
the list spacing - 1 pixels too tall.

Change-Id: Ie51ecd35a1278806a038dd634043c4679fcb8698
Reviewed-by: Mitch Curtis <[email protected]>
Reviewed-by: Jarkko Koivikko <[email protected]>
https://invent.kde.org/qt/qt/qtvirtualkeyboard/-/commit/4936448433f3e13f269dabe951122390c76c79c8

Git commit cc948458c1aae77148b67ca274a75a3866d44c23 by Jarkko Koivikko (on behalf of Liu Zheng) on 29/07/2026 at 06:08..
VirtualKeyboard: rename PopupList.contentWidth to avoid Flickable clash

PopupList.qml redeclared `contentWidth` as a readonly property to size
the popup to its content. ListView inherits this property from
QQuickFlickable, where it is a writable VIRTUAL property. The local
redeclaration shadows the base property and, since Qt 6.11 tightened
the override semantics (I787c9a82, change 710074), triggers a
"qt.qml.propertyCache.append: Member contentWidth overrides a member
of the base object" warning on startup.

Rename the local property to preferredContentWidth and update its uses
so it no longer clashes with the inherited Flickable property. The
WordCandidatePopupList consumer is updated accordingly. No behavior
change.

Fixes: QTBUG-147666
Change-Id: I7d6e28d6daa84ba19c3db66e48447443be02690a
Reviewed-by: Jarkko Koivikko <[email protected]>
https://invent.kde.org/qt/qt/qtvirtualkeyboard/-/commit/cc948458c1aae77148b67ca274a75a3866d44c23
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.