[qt/qt-creator/qt-creator]: 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-creator/qt-creator
Pushed by mirror-service into branch 'master'.
Changed from edaed5ba641f697938574d26efb77132a753b67f to d8a54c8340817142bc6d721cd15d5eeab98f7268
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 d70808c2607e2cf553020f316d22a1ac6fc4eed3 by Joerg Bornemann on 17/07/2026 at 07:42..
Add HarmonyOS plugin

Add a plugin that makes Qt Creator usable for HarmonyOS targets. It
provides the following:

- An SDK settings page (Preferences > SDKs > HarmonyOS) with a path
  chooser and an auto-detect button that finds an installed DevEco
  Studio SDK on Windows and macOS.
- Autodetection of the HarmonyOS Clang toolchains (aarch64, armv7,
  x86_64) from the OpenHarmony native SDK.
- A Qt version type for Qt for HarmonyOS, detected via the "ohos"
  QMAKE_PLATFORM value.
- Automatic kit creation that pairs a HarmonyOS Qt with the matching
  toolchain, sets the LLDB debugger and sysroot from the SDK, and
  injects NATIVE_OHOS_SDK, DEVECO_SDK_HOME and the hvigor and node
  directories into the build environment.

As a temporary workaround, Qt versions that the online installer
mislabels as Desktop but that report an OpenHarmony ABI are also
treated as HarmonyOS Qt versions. This can be removed once the
installer registers them with the correct QtVersion.Type, see
QTCREATORBUG-34793.

Change-Id: I0cef568f29775ff26f2368e435bfb2b5c3b2dd2b
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d70808c2607e2cf553020f316d22a1ac6fc4eed3

Git commit 4909bc7f5fb8e8ef18b8c00191e557d838ec79f9 by Christian Kandeler on 17/07/2026 at 08:59..
AutoTest: Give some functions internal linkage

Change-Id: I8fa8702916996e64ad86d16386b6333a4c133c6f
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4909bc7f5fb8e8ef18b8c00191e557d838ec79f9

Git commit ee0e30908a7784bcae9b14cfbe5279c19d5d16e6 by Joerg Bornemann on 17/07/2026 at 09:34..
HarmonyOS: Detect devices via hdc

Add on-demand HarmonyOS device detection. When the user adds a device
from Preferences > Devices, "hdc list targets" is run and the
connected device (or a chosen one, if several are attached) is
registered as a HarmonyOS device.

Detection is on demand rather than a background poll because hdc
offers no device-tracking stream (unlike "adb track-devices"), so a
timer would mean spawning hdc perpetually.

Change-Id: Ifaa60411ec6879159e9497a3f851d2ed403087a6
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ee0e30908a7784bcae9b14cfbe5279c19d5d16e6

Git commit 66e7e218e81bdc0ee967a0a78ffdbc3647a48244 by Joerg Bornemann on 17/07/2026 at 09:34..
HarmonyOS: Add deploy step to build the .hap package

Add a HarmonyOS deploy configuration whose step builds the application
package by invoking the CMake "<target>_make_hap" target that Qt for
HarmonyOS generates, i.e. "cmake --build <dir> --target
<target>_make_hap".

This adds a dependency on the CMakeProjectManager plugin for the CMake
tool of the kit.

Change-Id: I15d422bc7e63fa0bfdfd9506bf1c73befb181407
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/66e7e218e81bdc0ee967a0a78ffdbc3647a48244

Git commit cfdfb13a1a90442fc247f5300efef42b4252b7cf by Joerg Bornemann on 17/07/2026 at 09:35..
HarmonyOS: Set the SDK CMake toolchain file for kits

Qt's qt.toolchain.cmake chain-loads a HarmonyOS SDK toolchain file
whose baked-in default path points at a build-machine location that
does not exist in an installed SDK. Configuring a CMake project for
HarmonyOS therefore failed, with the C++ compiler being unable to
compile a test program.

Set the QT_CHAINLOAD_TOOLCHAIN_FILE CMake cache variable in the kit's
CMake configuration to the SDK's ohos.toolchain.cmake, so that CMake
projects configure for HarmonyOS.

Change-Id: Ie7fdd288f82e7c19e2b41fe91619e1847fb6da70
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/cfdfb13a1a90442fc247f5300efef42b4252b7cf

Git commit 359b9d9b764578bf88442137d2aa20ad9e103965 by Joerg Bornemann on 17/07/2026 at 09:36..
HarmonyOS: Install the .hap on the device with hdc

Add InstallHapStep to the deploy configuration, running after the
make_hap step. It installs the built package on the connected device
with "hdc install <hap>", using the hdc from the configured SDK.

Change-Id: I48bd8569403fe207e4b984ef55c1304fd8babfde
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/359b9d9b764578bf88442137d2aa20ad9e103965

Git commit a2b605a546be0515d0344c4e86c8bc8260ab3b5f by hjk on 17/07/2026 at 09:38..
RemoteLinux: Honor "Access via" when opening the connection

A device's "Access via" (linkDevice) was honored only by
SshProcessInterface when running a command. The shared ssh ControlMaster
that establishes the connection, however, was always opened directly to
the device's own host. So a device reachable only through another host
-- e.g. a QNX qemu target reached via its Linux build VM -- never
connected: the master failed locally before any command could run.

Give SshParameters a ProxyJump spec and set it, from the link device's
[user@]host[:port], on the parameters used to open the shared
connection. connectionOptions() emits "ssh -J ...", so the master is
established through the link device.

Task-number: QTCREATORBUG-30629
Assisted-by: Claude Code
Change-Id: Ic1011d4ebe705ad418827a4f6333e1b259515a61
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a2b605a546be0515d0344c4e86c8bc8260ab3b5f

Git commit ca1d5be6bf5bb34ff073cc444a01af6cc2030c80 by hjk on 17/07/2026 at 09:44..
Help: Port bookmark-handling system test to a plugin test

Replace the Squish system test suite_HELP/tst_HELP06, which created
nested bookmark folders, added a bookmark and deleted folders through
the bookmark dialog.

Add an in-process test for BookmarkManager: it builds a nested folder
tree, adds a bookmark, checks the tree and list models are in sync, and
removes the bookmark and the (now empty) folders. This is the first test
in the Help plugin, so the plugin gains the test registration and build
wiring.

The one aspect not reproduced is the modal confirmation dialog shown
when deleting a folder that still has content; the test removes items
bottom up instead, which exercises the same model updates without a
blocking dialog.

Assisted-by: Claude Code
Change-Id: Ica46c419cd6163fe37f1197492ccf20aaa44fcc3
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ca1d5be6bf5bb34ff073cc444a01af6cc2030c80

Git commit 199d2979ba7a54bae0d2b3b21ee26a8e6c771571 by Christian Kandeler on 17/07/2026 at 09:52..
QtSupport: Fix test

Test failure uncovered by daab5b043349d0c0202a324087138c7252e6d6a8.

Change-Id: I49f95951f1e8374f65525dbd3bbe052e41783390
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/199d2979ba7a54bae0d2b3b21ee26a8e6c771571

Git commit abb15c9d4b60b63756666e46deed87d2140023be by hjk on 17/07/2026 at 10:20..
CppEditor: Drop member-operator completion system test

The Squish system test suite_editors/tst_memberoperator checked code
completion after "." / "->", including the correction of "." to "->"
for pointers, for both code models.

This is already covered: the builtin model by
CompletionTest::testCompletionMemberAccessOperator (fourteen rows over
pointer, typedef and template cases, each checking the returned members
and whether the access operator is replaced), and the clang model by
clangcodemodel's completion tests (testCompleteMembers* plus the
dotToArrowCorrection fixture). The Squish case is removed without
replacement.

Assisted-by: Claude Code
Change-Id: I449b4ea9c2a37c8b0bae87ffe5db80a4802278a6
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/abb15c9d4b60b63756666e46deed87d2140023be

Git commit 5474b7c0ec0d2b21bf2177be56699ba3eae026c7 by Christian Stenger on 17/07/2026 at 10:48..
Utils: Allow uncollapsing programmatically

Handling of (un)collapsing was completely done in private
for the dock widgets of the FancyMainWindow.
There are situations where we open or add dock widgets to
a perspective programmatically, but these ended up in their
last used state or if already present unchanged.
This patch adds a public FancyMainWindow::setDockCollapsed()
to (un)collapse a dock widget programmatically, and makes use
of it inside the Axivion plugin.

Change-Id: Ic5c9fd5d07db8d3d6316c31aa5e13cce81e87b91
Reviewed-by: Christian Stenger <[email protected]>
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5474b7c0ec0d2b21bf2177be56699ba3eae026c7

Git commit a3fea2bca880f755df70b9919e6a40d80b7bf941 by hjk on 17/07/2026 at 10:51..
CmdBridge: Surface the connection error on a failed device command

FileAccess::run() built its failure message from the command's merged
output only. When the underlying ssh connection could not be established
that output is empty, so the user was left with a bare "Command ...
failed with exit code 255:" and no reason. Fall back to the process
error string, which carries the actual cause (connection timed out,
permission denied, a failed "Access via" hop, ...).

Task-number: QTCREATORBUG-30629
Assisted-by: Claude Code
Change-Id: Ic20ada243c26db23092d004fb5033218e87675ec
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a3fea2bca880f755df70b9919e6a40d80b7bf941

Git commit 9499c7ac9b4e73f570e4917daa9fd2ab6e560732 by Christian Stenger on 17/07/2026 at 10:52..
Axivion: Fix handling of SFA links

File locations of issue details for single file
analysis did not work as they got processed similar
to the dashboard issues.
Issue details from dashboard always hold an associated
project name while details from single file analysis
do not, but their paths are always absolute, so just
use them.

Change-Id: I38e4455e08e7b7e9cf9fde93b8aa5be3f7af46f2
Reviewed-by: hjk <[email protected]>
Reviewed-by: Daniel Hofmann <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/9499c7ac9b4e73f570e4917daa9fd2ab6e560732

Git commit 76bfdb4fe1ec23e00db4517187372db8fdd0ea68 by Christian Stenger on 17/07/2026 at 10:54..
PE: Provide way for accessing effective build tool

Preparation for the follow-up.

Change-Id: Idcbc814f0c029d42f22e59cca6db029c7f61a6cb
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/76bfdb4fe1ec23e00db4517187372db8fdd0ea68

Git commit b733d99ba2c1a3199ce14ba816685a663b971cfb by Christian Stenger on 17/07/2026 at 10:54..
Axivion: Make single file analysis easier to use

If the file to analyze is part of the current active project,
and it is using CMake (with Ninja or Makefile generator), or
a build based on make (e.g. qmake) we can provide a
simpler way for running a single file analysis.
Behave similar to other IDE axivion plugins and make use of
the tools in use by the current project to construct a
command to be used to perform the analysis in case
the analysis command is left empty.

Change-Id: I7cffa5cf2b4237d17e868324abdbb07ff9ffac7d
Reviewed-by: Daniel Hofmann <[email protected]>
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b733d99ba2c1a3199ce14ba816685a663b971cfb

Git commit e0e737c6d03385ad8427d8da6eaa45519e975992 by hjk on 17/07/2026 at 10:57..
TextEditor: Build the code style model in ICodeStylePreferencesFactory

Give the factory the ability to build and own the language's code style
pool and editable global style.
setBuiltInCodeStyles()/setGlobalCodeStyleId()/ setDefaultCodeStyleId()
configure it and setupCodeStyles() assembles it in dependency order -
add the global, the built-ins, point the global at the default built-in,
load custom styles, load saved settings and register the global - so
callers no longer hand-orchestrate that (and no longer need to get the
add-then-delegate ordering right). The factory owns the pool and its
styles and cleans them up.

Covered by a new factory test case in the CodeStyleAspect plugin test.

Assisted-by: Claude Code
Change-Id: Id56b271a99ff38dd8d4815c773570d9e5f34f7fb
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e0e737c6d03385ad8427d8da6eaa45519e975992

Git commit ab8c963640267efcd685591daf26f40137e34768 by Christian Kandeler on 17/07/2026 at 11:06..
Core: Give some functions internal linkage

Change-Id: I356ea711422f2ab3aa762d04eb755dfc96790658
Reviewed-by: Eike Ziller <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/ab8c963640267efcd685591daf26f40137e34768

Git commit 25357782c5d5ab449ff6e8ec8899696168b91744 by hjk on 17/07/2026 at 11:11..
FakeVim: Let a user mapping claim its key over shortcuts

A user mapping for a Ctrl combination or a special key, e.g.
"nmap <C-Enter> ..." or "nnoremap <Esc> ...", had no effect: only
Ctrl+letter and a few keys were claimed in the shortcut-override phase,
so other mapped keys reached Qt Creator's shortcuts or their native
meaning instead of the mapping.

Claim a key in wantsOverride() whenever it begins a user mapping in the
current mode, so the mapping is applied. Keys the user has not mapped
keep their previous routing, and the "pass next key" state is honored.

Assisted-by: Claude Code
Fixes: QTCREATORBUG-20998
Task-number: QTCREATORBUG-14413
Change-Id: Ib32caeb37f437ee8a488bc53e2bc124a4bcaf4a3
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/25357782c5d5ab449ff6e8ec8899696168b91744

Git commit c22a29645790cfccff76dab9ea9766351b10f211 by hjk on 17/07/2026 at 11:11..
FakeVim: Add a <PASS> mapping target

Complements user mappings claiming their key: mapping a key to <PASS>
hands it to Qt Creator instead. For example, with "pass control keys"
off (so FakeVim gets the Ctrl combinations), "nnoremap <C-a> <PASS>"
makes Ctrl-A trigger Qt Creator's Select All rather than FakeVim's
increment, letting specific shortcuts through while the rest stay in
FakeVim.

wantsOverride() does not claim a <PASS>-mapped key, so a matching Qt
Creator shortcut fires; if none does, handleEvent() hands the key to
the editor unchanged.

Assisted-by: Claude Code
Fixes: QTCREATORBUG-14413
Change-Id: Ic861ee955fb1fa94369b2b6f321d0a8280f05d21
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c22a29645790cfccff76dab9ea9766351b10f211

Git commit 527c64c345cf5e70a14a9ba6cdd11653c7a2012c by hjk on 17/07/2026 at 11:34..
Qnx: Remove the separate QNX configuration settings page

With toolchains, debuggers and kits now auto-detected from the QNX SDP
environment file on the build device, the separate SDKs -> QNX options
page and its parallel qnxconfigurations.xml store are redundant. Remove
QnxSettingsPage/QnxConfiguration and the global autoDetectHelper fallback;
QnxToolchainFactory::autoDetect now yields nothing without a device.

Old qnxconfigurations.xml settings are no longer read; the QNX kits are
re-created from the device on the next tool auto-detection.

Assisted-by: Claude Code
Change-Id: If05ddb4a1207c109854d2cc95e84aa85ee334283
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/527c64c345cf5e70a14a9ba6cdd11653c7a2012c

Git commit 0e5c02208024ec6220dfe63e33820289eb87ff76 by hjk on 17/07/2026 at 11:34..
Nim: Build the code style model in the factory

Move the built-in style, the global style and the pool setup out of the
settings page and into NimCodeStylePreferencesFactory via
setupCodeStyles().  The page is now just an IOptionsPage whose settings
provider builds a CodeStyleAspect from the factory's global style; the
factory is instantiated as a guarded static alongside the page.

Assisted-by: Claude Code
Change-Id: I9e673c5e9bbd39bded60698590f2c5fd09956954
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0e5c02208024ec6220dfe63e33820289eb87ff76

Git commit bbff66d19c7352636f6244de067c9db3624c5837 by hjk on 17/07/2026 at 11:35..
Lua: Support "Access via" in Device.createDevice

Accept a "linkDevice" parameter (a device id) and store it in the
device's linkDevice aspect, so a Lua plugin can create a device that
connects through another one -- e.g. a QNX target reachable only via
its build host.

Assisted-by: Claude Code
Change-Id: I7d5c65c97ac5c909e761a1a70e0abae1d8e6ea09
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/bbff66d19c7352636f6244de067c9db3624c5837

Git commit 85f9de354b6be674bf7cf26ff70863cfa654091d by hjk on 17/07/2026 at 11:35..
Lua: Add a Device.deployPublicKey helper

Add an awaitable Device.deployPublicKey(id, publicKeyFile) that appends
the given public key to the device's ~/.ssh/authorized_keys over ssh, so
subsequent key-based connections work. It runs ssh with BatchMode=no and
SshParameters::setupSshEnvironment, reusing the IDE askpass helper, so a
password prompt appears when key auth is not yet set up. Resolves to true
on success or an error string on failure.

Assisted-by: Claude Code
Change-Id: Iaec815fa7e34dfd9561fb52eef81af0657056bc9
Reviewed-by: Cristian Adam <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/85f9de354b6be674bf7cf26ff70863cfa654091d

Git commit 0c935431448468507d860f39717f3a5c6225e4d9 by hjk on 17/07/2026 at 11:48..
CppEditor: Build the code style model in the factory

Move the qt/gnu built-in styles, the global style and the pool setup out
of CppToolsSettings and into CppCodeStylePreferencesFactory via
setupCodeStyles() (which also keeps the qRegisterMetaType call). The
factory is instantiated as a guarded static; cppCodeStyle() now returns
the registered global via codeStyleForLanguage(), which is also the one
ClangFormat reuses when it replaces the factory.

Assisted-by: Claude Code
Change-Id: I6e5ca89a8e3481377aff10ca29fbf7c0f92fb8d3
Reviewed-by: Christian Stenger <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0c935431448468507d860f39717f3a5c6225e4d9

Git commit 894545b1265599732bf755d338183734c8c95731 by Eike Ziller on 17/07/2026 at 11:54..
Devices: Avoid duplicating message indentation code

Instead of manually adding indentation for the messages in the "Run
Auto-Detection Now" log for every tool (more to come), add specific log
methods for top level and indented item level log messages. This also
gets rid of the indentation from the translatable texts.

Change-Id: I5ebeb6793ee9665dde50a1625e487045d56e6721
Reviewed-by: Christian Kandeler <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/894545b1265599732bf755d338183734c8c95731

Git commit 029dc0eed3940cd0e9b71d1b291f90e06995f5b6 by Eike Ziller on 17/07/2026 at 11:54..
Devices: Add more tools to detection log

Only the detection results for the DeviceToolAspects were logged to the
log view for "Run Auto-Detection Now".
Also add log output for the tools that hook into the
toolDetectionRequested signal by passing the logger to that too.

Assisted-by: Claude Code
Change-Id: Ic54779ac5f826e95b95a3cb816d08ad702da8cfd
Reviewed-by: Christian Kandeler <[email protected]>
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/029dc0eed3940cd0e9b71d1b291f90e06995f5b6

Git commit d8a54c8340817142bc6d721cd15d5eeab98f7268 by Christian Kandeler on 17/07/2026 at 12:08..
QmakeProjectManager: Do not mark a qmake-less kit invalid

It's pretty absurd to allow to create a Qt version based on qtpaths and
then marking any kit that uses it as invalid.
Instead, emit that error only when trying to open a qmake project with
such a kit.

Fixes: QTCREATORBUG-33606
Change-Id: If6ec05e9bf2e4b8703ce7f5c67449dcff4833e03
Reviewed-by: hjk <[email protected]>
https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d8a54c8340817142bc6d721cd15d5eeab98f7268
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.