[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