[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 cc869ce8aaa82850aa5c8598376cbd5061cff75e to 25fe8139927d8ede033f8570010d6fe66a805690 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 5085f61c6e47c58d17eaf7835b8c89bc719bb6d3 by hjk on 21/07/2026 at 06:47.. QmlJS: Port QML refactoring system tests to plugin tests Remove the Squish system tests suite_QMLS/tst_QMLS05..07, which applied the QML "Refactoring" quick-fixes from the editor context menu and checked the resulting text: - Split Initializer - Wrap Component in Loader - Add a Comment to Suppress This Message Replace them with in-process QmlJSEditor tests that open a QML editor, wait for its semantic info, place the cursor, then collect and apply the same quick-fix through the production code (findQmlJSQuickFixes -> QmlJSQuickFixOperation::perform()) and check the document text. The "suppress message" test triggers a duplicate-declaration warning (M107) rather than the invalid-property-name warning (M16) that the Squish test used. The suppress quick-fix is message-agnostic - it comments out whatever diagnostic sits at the cursor - and M16 is only emitted after resolving the property against the QtQuick type environment, which the lightweight plugin test does not set up. M107 comes from pure scope analysis and fires deterministically. This is the first test in the QmlJSEditor plugin, so it also adds the WITH_TESTS wiring. Assisted-by: Claude Code Change-Id: I677edcd7a0198571163268fc7747217c1ea6f256 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/5085f61c6e47c58d17eaf7835b8c89bc719bb6d3 Git commit dd75732e20c88e68fe2da05babb684590c679720 by hjk on 21/07/2026 at 06:47.. TextEditor: Let code styles unregister from their pool Give ICodeStylePreferences a back-link to the CodeStylePool it was added to (set in addCodeStyle()) and make its destructor detach from that pool. Factor the unlink out of removeCodeStyle() into a new detachCodeStyle() that drops the style from the pool's lists and emits codeStyleRemoved(), without deleting the style or its settings file. The pool's lists can no longer hold a dangling pointer, regardless of who deletes a style or in what order, and delegating styles drop a vanishing delegate through the existing codeStyleRemoved wiring. ~CodeStylePool clears the back-links on its remaining members so a style that outlives the pool (the global style vs. the global pool function statics) does not detach from a dead pool. While here, rename the confusing members: the CodeStylePoolPrivate style lists m_pool/m_builtInPool/m_customPool become m_codeStyles/ m_builtInCodeStyles/m_customCodeStyles (matching their accessors), and ICodeStylePreferencesPrivate::m_pool, which holds the delegating pool, becomes m_delegatingPool (pairing with m_memberPool). Assisted-by: Claude Code Change-Id: Ie08319ca23d0665c1137285122af903a0366c848 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/dd75732e20c88e68fe2da05babb684590c679720 Git commit 67581036200ccfd8e72b969ad43a141fe3ae1244 by hjk on 21/07/2026 at 06:48.. FakeVim: Make the mapping timeout configurable FakeVim always waited a hard-coded 1000 ms for the rest of a mapped key sequence when the typed prefix was ambiguous (for example "gg" with a user mapping that starts with "g"), with no way to shorten or disable the wait. Add the Vim "timeout"/"timeoutlen" options: "timeoutlen" sets the wait in milliseconds (default 1000, as in Vim) and "notimeout" waits for the next key indefinitely instead. This lets users reduce the otherwise perceptible delay. Fixes: QTCREATORBUG-29162 Assisted-by: Claude Code Change-Id: I7ec7bd84f1117e57d0cde9b967861e8bcb6e2f2f Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/67581036200ccfd8e72b969ad43a141fe3ae1244 Git commit c75fa4b8a21de966e35b3e7c8a1cfbbe5f66d13d by hjk on 21/07/2026 at 06:48.. FakeVim: Keep the visual selection inclusive for shortcuts In visual character mode Vim's selection is inclusive, but while the editor is focused FakeVim leaves the last character out of the underlying text cursor (it is covered by the block cursor instead). A Qt Creator shortcut that reads the selection synchronously - such as Advanced Find prefilling its search field - therefore saw one character too few. The selection was only made inclusive once the editor lost focus, which is too late for a shortcut triggered while it still has focus. Make the selection inclusive when a key is handed on as a Qt Creator shortcut, so its action sees the whole visual selection. Fixes: QTCREATORBUG-27442 Assisted-by: Claude Code Change-Id: I08350a8d07d4eb33c634560a645994e0945a9e08 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c75fa4b8a21de966e35b3e7c8a1cfbbe5f66d13d Git commit 0a073f9286fa9145caa2b7096c5a579cee9e53d8 by hjk on 21/07/2026 at 06:48.. FakeVim: Extend CTRL-O/CTRL-I jumps across files The jump list is stored per buffer, so after a jump that switched files (such as Follow Symbol Under Cursor) CTRL-O could not return to the previous file: the newly entered buffer starts with an empty jump list. Once the buffer-local jump list is exhausted, continue in Qt Creator's global navigation history, so CTRL-O goes back and CTRL-I forward across files. Fixes: QTCREATORBUG-12114 Assisted-by: Claude Code Change-Id: Iad1c42020946dfb718747f1fae2a1c9cc481ce9c Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0a073f9286fa9145caa2b7096c5a579cee9e53d8 Git commit dbb17df4f170df533d95bb948e20597545d6ee4c by Jarek Kobus on 21/07/2026 at 07:22.. Debugger: Fix QML stack truncation in fetchStack's extraqml path fetchStack()'s passive "extraqml" stack extraction calls qt_v4StackTraceForEngine() via an inferior call and converts the returned QString with str(gdb.parse_and_eval(...)). That goes through gdb's own value printer, which truncates at "print elements" (200 by default), silently corrupting the embedded "stack=[...]" MI text for any non-trivial QML call chain. Lift the print-elements limit for the duration of that call and restore it afterward. This is shared code: both GdbEngine::loadAdditionalQmlStack() and GdbImpl's QmlStack refresh call into this same fetchStack() path, so both are affected and both are fixed by this one change. Change-Id: I540fbf8c44bbd1235c82d35de96b7283d970610b Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/dbb17df4f170df533d95bb948e20597545d6ee4c Git commit 2b1ede4718850c8e00aa3a1a095a2464b5666bbb by Jarek Kobus on 21/07/2026 at 07:22.. Debugger: Remove the dead languageContext() languageContext() was a virtual returning a per-subclass Context constant (CppDebuggerEngine/QmlEngine were the only overriders). No action/Command anywhere is registered against Context(C_CPPDEBUGGER)/Context(C_QMLDEBUGGER), so its one reader, EngineManagerPrivate::activateEngineItem(), may be dropped safely along with the method itself. Also drops the now-unused C_CPPDEBUGGER/C_QMLDEBUGGER constants. Amends 3b5ecac238b87615b44b27375cef0b4f1d4637e4. Change-Id: I4ff4e84bbde78466dc908ce2bdbf90ff2122c6ad Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2b1ede4718850c8e00aa3a1a095a2464b5666bbb Git commit a2f9d53648b7bcc0444b773759f8bf46caf06e34 by David Schulz on 21/07/2026 at 07:22.. QtSupport: fix memory leak Created Qt versions that have an identical mkspec to an already found Qt version were not handled further. Change-Id: Ia814ac2b88ebea7da8542eda9a93664756fdec7a Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a2f9d53648b7bcc0444b773759f8bf46caf06e34 Git commit c5b013116b4c015ed61e5eeeecafeb3ca81a06de by David Schulz on 21/07/2026 at 07:22.. QtSupport: Allow Qt auto-detection without a target kit QtKitAspectFactory::autoDetect() registers the Qt versions it finds and attaches them to the passed kit. Guard the attach with a null check so callers can pass a null kit to only detect and register the Qt versions, without binding them to a specific kit. Change-Id: I474cf0082a44c8c5b6ceb18372b84ffd488af875 Reviewed-by: Marcus Tillmanns <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/c5b013116b4c015ed61e5eeeecafeb3ca81a06de Git commit 44895221fa933534f9bb3f41444512174a540896 by Jarek Kobus on 21/07/2026 at 07:35.. Debugger: Devirtualize validateRunParameters() validateRunParameters() was a virtual with exactly one override (CppDebuggerEngine) and an empty base body - unlike languageContext(), this one is genuinely called for every engine from DebuggerEngine::setDevice(), just a no-op for non-C++ ones. Moved CppDebuggerEngine's body into the base method itself, gated by a new setRunParametersValidationEnabled() flag. Defaults to true, since C++/ELF/PE validation is the common case; QmlEngine, PdbEngine, and DapEngine (covering all its DAP variants) disable it explicitly in their own constructors to preserve their previous no-op behavior. Change-Id: I053cd46254093b11e4554c3a971d5a0af5947a03 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/44895221fa933534f9bb3f41444512174a540896 Git commit a657bc238d7e108a834e9d44951b8e5c47401d14 by Jarek Kobus on 21/07/2026 at 07:38.. Debugger: Get rid of CppDebuggerEngine Move initDebugHelper() and other private methods to the base DebuggerEngine. Change-Id: I1270f3875e8e11160658af2985196f9f5f44a9d2 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/a657bc238d7e108a834e9d44951b8e5c47401d14 Git commit 22a1fb886e8fdec5e7b3fa47050f8499f59d1715 by Ahmed El Khazari on 21/07/2026 at 08:40.. Android: Add Logcat tab via Tools > Android > Logcat Add a Tools > Android > Logcat submenu listing ready devices; triggering an entry opens (or raises) that device's Logcat tab in the App Output pane. The submenu is rebuilt from DeviceManager each time it is shown, so device connects and disconnects are reflected without a restart. A device's output comes from a LogcatStream owning a single live 'adb logcat' tail. Streams live in a per-device registry so every consumer (the menu now, the runner's auto-bind later) shares one adb process rather than spawning duplicate tails. The tab is backed by a stub RunControl so the App Output pane shows it as a running tab, and the stream's lifetime follows that tab. The submenu is assembled in setupAndroidToolsMenu() by addLogcatMenu(), which lists the ready devices (filtered with AndroidDevice::asReady() and labelled with AndroidDevice::displayNameWithSerial()) and opens their tabs through showLogcatTab(), exported from androidlogcat.cpp. The stream captures the device's serial when it starts; the tail's relaunches reuse it instead of asking the device again. Task-number: QTCREATORBUG-34397 Task-number: QTCREATORBUG-33853 Change-Id: Id3cddfeafc8228921a0d2e189502bed23759e93c Reviewed-by: Assam Boudjelthia <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/22a1fb886e8fdec5e7b3fa47050f8499f59d1715 Git commit e09c9e87f17c0bb3d4387beed26a3e7844d530c2 by Christian Stenger on 21/07/2026 at 09:06.. SquishTests: Fix tab bar size computation Depending on display, system config, and maybe more the default size of the tab bar may not be sufficient to display all modes when using a default Qt Creator. In that case the size of each tab gets internally adjusted to be able to display all. The originally estimated value is now computed when needed to handle such cases. Change-Id: I12e0975b7061b06af814066cce37e1484889fee5 Reviewed-by: Jukka Nokso <[email protected]> Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e09c9e87f17c0bb3d4387beed26a3e7844d530c2 Git commit 6b6d60b1ec47918bf4d85447e058cea739cba1fa by hjk on 21/07/2026 at 09:07.. Remote: Attach a Qt version to the remote Windows kit After creating the kit for the device, look for an MSVC Qt installed under C:\Qt that matches the kit's target ABI and attach it. The match is the highest-version build whose toolchain directory name carries "msvc" and the right architecture (x64 vs arm64). The attachment goes through the generic ProjectExplorer kit-aspect auto-detection (only the Qt aspect, matched by its stable id), driven by GlobalTaskTree as LinuxDevice does. This keeps the Qt creation inside QtSupport, so the plugin needs no QtSupport dependency. Running every aspect was avoided on purpose: the toolchain aspect would re-run MSVC detection and overwrite the bundle just set on the kit. The integration test now also verifies that a Qt version is attached, checked via the generic kit value to keep the test free of a QtSupport dependency. Assisted-by: Claude Code Change-Id: Ide30424491ffe2a38760117c19bf2276f42caaf7 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/6b6d60b1ec47918bf4d85447e058cea739cba1fa Git commit e92d8318afa0c6022df995b9eaac45c105bcf72f by hjk on 21/07/2026 at 09:07.. TextEditor: Hold built-in code styles as factory members Now that styles unregister themselves from their pool on destruction, the built-in styles no longer need to be heap-allocated and swept up by the factory destructor. Make them value members of the concrete factories (CppEditor, QmlJSTools, Nim) instead, configured in the setBuiltInCodeStyles() callback through a captured this. With the built-ins owned as members and the custom styles owned by the pool (parented to it), ICodeStylePreferencesFactory only needs to delete the global style it created and the pool; its destructor collapses from the qDeleteAll() sweep to "delete m_globalCodeStyle; delete m_pool;". A built-in member destroyed before the base destructor detaches itself cleanly, and any style delegating to it drops it through the existing codeStyleRemoved wiring. Also convert the ModelTestCodeStyleFactory built-in in the unit test. Assisted-by: Claude Code Change-Id: I262dc53e12246b6534dd35baa9ea8d9bb84529d4 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/e92d8318afa0c6022df995b9eaac45c105bcf72f Git commit 4c43b332dac9de4b8b43ce2f8daa035e584b2963 by hjk on 21/07/2026 at 09:08.. Utils: Match the executable suffix when searching directories FilePath::searchInDirectories() and searchAllInDirectories() derived the candidate executable names from the search term's own OS via appendExeExtensions(). For a bare name like "cmake" that OS is the host, so searching a Windows device from a non-Windows host never matched cmake.exe. Derive the suffix from the directory being searched instead, so the target device's OS decides the suffix. Also fall back to the conventional Windows executable extensions when the host PATHEXT is empty (it is only populated on a Windows host), so WithAnySuffix works for a Windows target reached from another host. Assisted-by: Claude Code Change-Id: I4c39bc498d56355a8ec8b47f6381c4d21990b620 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/4c43b332dac9de4b8b43ce2f8daa035e584b2963 Git commit b691b1738a1c606ab0146288558cf75edcc7ccee by hjk on 21/07/2026 at 09:31.. Debugger: Guard QML inspector inserts against a missing parent The QML inspector attached a child object to a parent as soon as m_debugIdToIname named that parent, without checking the parent's WatchItem still existed in the Locals tree. When it did not (never inserted, or dropped by a tree rebuild), WatchHandler::insertItem hit its parent assertion, once per object -- flooding the log and making the IDE unresponsive during QML debugging. Only take the direct-insert path when the parent is actually present; otherwise defer the object and re-fetch the parent, as already done for parents unknown to m_debugIdToIname. Verified with a churning Qt Quick app under the debugger: the assert burst at watchhandler.cpp:2245 disappears with the guard. Fixes: QTCREATORBUG-34790 Assisted-by: Claude Code Change-Id: I07a40640b5767b9adb9ce9f0d8406479db5d216b Reviewed-by: Ulf Hermann <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b691b1738a1c606ab0146288558cf75edcc7ccee Git commit 435e318222d6309a20093693704107f1dbddb434 by Jarek Kobus on 21/07/2026 at 09:50.. Debugger: Add DebuggerRunParameters::isElfTarget() Dedupes the isElf check duplicated in setLinuxOsAbi() and an upcoming GdbImpl caller. Change-Id: I18b3ab423d02bfcefd48156df613c34f94c6c95a Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/435e318222d6309a20093693704107f1dbddb434 Git commit 202ff05e3dc6ea90a92cbe5785e297aa62c4c2d0 by Eike Ziller on 21/07/2026 at 10:12.. ACP: Fix tab title after closing session It was still showing the old working directory. Change-Id: Id47547aeadcac9000bb56b2e3cf38fbec5518110 Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/202ff05e3dc6ea90a92cbe5785e297aa62c4c2d0 Git commit d8d2ed83dd5c43cf952bb82dc641471d8a2a2456 by hjk on 21/07/2026 at 10:32.. TextEditor: Let CodeStyleAspect host language value editors Add a value-editor hook to ICodeStylePreferencesFactory (setValueEditorCreator) returning just the language's value-editing widget, which edits the code style live. When a language provides one, CodeStyleAspect builds the common selector and preview around it and owns the deferred apply/cancel and dirtiness against the real style via its page-local pool, instead of the language supplying a whole CodeStyleEditor through createSettingsEditor. The snippet preview building is factored into a reusable helper. The existing createSettingsEditor path is kept for languages not yet converted. Assisted-by: Claude Code Change-Id: Ia5a3d10fecd703c9153758b8682a26e23c149800 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d8d2ed83dd5c43cf952bb82dc641471d8a2a2456 Git commit 2ff37e3ca766d85d89c2803eab5c3e07258f61c3 by Christian Kandeler on 21/07/2026 at 10:50.. Utils: Remove unused TextDisplay parameter Change-Id: I03a6ad1b14a054b822842b9aa0d1fffb089904fa Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2ff37e3ca766d85d89c2803eab5c3e07258f61c3 Git commit 2b08d41b0c682c8ad04dbba9b66420f6af77ed36 by Christian Stenger on 21/07/2026 at 10:52.. AutoTest: Work around failing options handling ..on iOS devices. For running an app on iOS devicectl is used. Passing application options starting with dash may interfer with devicectl itself as it fails to distinguish between own options and options for the app. Disable arguments processing if it makes it possible to run the tests for such cases. This does not work for boost or gtest as there anything is passed on with options starting with a dash. Catch does work limited, as we normally turn the reporter to print XML, so visual test output will fail as the parser only handles XML, but the text output produced instead is still available inside the test results pane. Task-number: QTCREATORBUG-34802 Change-Id: I85187516b096d80905578120c6d53272626f909a Reviewed-by: Christian Stenger <[email protected]> Reviewed-by: Eike Ziller <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2b08d41b0c682c8ad04dbba9b66420f6af77ed36 Git commit 35f3fb8b8a6c09166a9007d012b05ca482fd71ef by Christian Kandeler on 21/07/2026 at 10:56.. Utils: Remove some unneeded includes from aspects.h Aspects are widely used in Qt Creator and are often held by value as public class members, which means this header file creeps pretty much everywhere. It is therefore essential to keep the number of header files it includes as small as possible, as not to kill incremental builds completely. This patch starts that effort. Change-Id: Ice4ad4e28d2166187f80cc50dc230e7e9e4bfd17 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/35f3fb8b8a6c09166a9007d012b05ca482fd71ef Git commit 37a7d3b5f018ae71de11fe52166e11e1a3b52c7f by Joerg Bornemann on 21/07/2026 at 11:30.. HarmonyOS: Sign the .hap during deployment Two additions let the deploy step build and sign an installable package without manual environment setup: - Set QT_HARMONYOS_HVIGOR in the build environment (Sdk::hvigorCommand). harmonydeployqt does not search PATH for hvigor, so without this its hvigor step is skipped and no package is produced. - The make_hap step reads the signing configuration that DevEco Studio's automatic signing writes into the project's harmonyos-build build-profile.json5 and passes it via QT_HARMONYOS_SIGNING_*. harmonydeployqt regenerates that file on each run and clears the signing configuration, so the step caches the material and re-applies it on every build, keeping deployment signed even after a run, or another tool, has cleared the file. The key and store passwords are secrets and are not written to the project .user file; they are re-read from build-profile.json5 each session, and the step warns when they are missing. When no configuration is available, the step notes that the package will be unsigned and points to DevEco Studio to set up automatic signing. Change-Id: I10a7399ddc2a9c08db9cdd403a51128f580aade1 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/37a7d3b5f018ae71de11fe52166e11e1a3b52c7f Git commit d4a634e5916c8211e0182c22cd0768296923dc60 by hjk on 21/07/2026 at 12:03.. Remote: Attach a CMake tool to the remote Windows kit Find the CMake bundled with Qt under C:\Qt\Tools on the device and attach it to the kit, so the kit can configure CMake projects. This reuses the generic kit-tool attachment (now generalized to run several kit aspects, each over its own device search paths), so the Qt and CMake tools are created by their owning plugins, reached polymorphically - the plugin still needs no QtSupport or CMakeProjectManager dependency. The integration test now also checks that a CMake tool is attached. Both the Qt and CMake checks are guarded on their kit aspect being registered, because a -test run may not load those plugins (the full GUI always does); run with "-load QtSupport -load CMakeProjectManager" to exercise them. Assisted-by: Claude Code Change-Id: I7a6927e97929ed8b7e522aeaac2176fbf1d8f4cf Reviewed-by: David Schulz <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/d4a634e5916c8211e0182c22cd0768296923dc60 Git commit 922c8b964524df5e6b549659777a41b58b9544f5 by Orgad Shaneh on 21/07/2026 at 12:23.. Build: Regroup plugins by dependency level in CMakeLists Assign each plugin to its correct level, where a plugin's level is the longest chain of plugin edges leading to it. Both PLUGIN_DEPENDS and PLUGIN_RECOMMENDS require the referenced plugin's target to exist when add_qtc_plugin runs (each reads its QTC_PLUGIN_VERSION property), so both constrain the build order. clangcodemodel also gains a QtSupport edge because, with WITH_TESTS, its TEST_LINK_DEPENDS expands to QtSupport inside PLUGIN_DEPENDS. Only the level grouping changes here; the order within each level is left as-is and alphabetized in a follow-up commit. vcsbase is kept at level 4 rather than its minimal level 3 to keep the diff small. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Change-Id: I37a01337f632bcf06dea95114392900e442a467a Reviewed-by: hjk <[email protected]> Reviewed-by: Eike Ziller <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/922c8b964524df5e6b549659777a41b58b9544f5 Git commit 18811a3d1337bc8358946eb2c5b3c1721f402e0c by Orgad Shaneh on 21/07/2026 at 12:23.. Build: Sort plugins within levels in CMakeLists Sort the plugins alphabetically within each dependency level. This is a pure reordering; the level grouping is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Change-Id: I48939273493033d024cac0893b5ef266f928d1c9 Reviewed-by: Eike Ziller <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/18811a3d1337bc8358946eb2c5b3c1721f402e0c Git commit b7a857adad71977df3e8f939e9e702cd94640a74 by hjk on 21/07/2026 at 12:44.. Utils: Match wildcard name filters in FileDialog The file open dialog filtered entries by a file suffix parsed from the name filter, so glob patterns without an extension (e.g. "qmake*") never matched. An extensionless file such as a HarmonyOS "qmake" wrapper was shown grayed out and could not be selected, although typing its full path still worked. Match the file name against the filter's glob patterns instead, via precompiled QRegularExpression::fromWildcard. This also covers the existing "*.ext" and literal-name cases, and makes matching case-insensitive. Assisted-by: Claude Code Change-Id: I2d1ae00d98e431106db6aa223dc0d5a355ef3b87 Reviewed-by: Cristian Adam <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/b7a857adad71977df3e8f939e9e702cd94640a74 Git commit 2e65d39b248ba9429bf279792be967b18e52c46c by Jeff Heller on 21/07/2026 at 14:09.. Autotest: Make CTest tests work with the MCP test tools The MCP run_tests and get_test_details tools did not work for CTest tests (which are discovered by the build system, not the C++ parser): - run_tests deferred until the C++ TestCodeParser settled, but that parser is gated on the code model and can stay scheduled forever on a CTest-only project, so the run never started. It now resolves the requested tests up front and only waits for the parser when nothing resolves yet. - testItemsByName() only searched framework roots, so named CTest runs and "Run Test by name" could not find tool tests. It now also matches test-tool roots. - CTest results had no name-addressable output string, so summary failures and get_test_details could not reference them. Test outcomes now report the test name for the compact form and the name plus the ctest output for the detailed form; other messages keep their own text. - testDetails() emitted null for absent file/line, violating the output schema for CTest results (which carry neither); those keys are now omitted when absent. get_test_details also returned the entire test log on every call. A single CTest test can dump many KB, flooding the caller. It now returns only small, extracted fields by default -- the failure assertion (or skip reason) and any warning lines -- and gates the full log behind include:["log"] / ["messages"]. All text fields are tail-capped with a truncated flag; the untruncated log stays in the Test Results pane. Co-Authored-By: Claude Opus 4.8 <[email protected]> Change-Id: I64d01b9a3351c8dc5c46ebfc7263f36767966a28 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/2e65d39b248ba9429bf279792be967b18e52c46c Git commit 71e8865933652961dc2960e67cef5a4e8ae54ba4 by Jeff Heller on 21/07/2026 at 14:12.. Autotest: Let roots build configurations for a set of items run_tests({scope:"named"}) turned each resolved item into its own configuration. That is correct for frameworks, where one item is one executable, but CTest runs the whole suite in a single ctest process that takes a selection. One config per name therefore spawned one ctest per test, adding a "Running tests for" node and two info rows each, and the Test Results summary reported only the last invocation's counts (resultTypeCount() prefers m_reportedSummary, and the per-config summaries collide on an empty reader id). Add ITestTreeItem::getTestConfigurationsForItems(), which asks each root how to turn a set of its items into configurations, next to the existing getAll/getSelected/getFailedTestConfigurations(). The default keeps the per-item behaviour; CTestTreeItem coalesces the names into a single testConfigurationsFor() call. It takes items rather than names, as floated on 753310, because the caller already resolves names to items -- including the Class::function form -- so passing items keeps that resolution in one place and asks each root only what it alone knows. Co-Authored-By: Claude Opus 4.8 <[email protected]> Change-Id: Ie383d3282e21b4d1c722b45ce251bc66e3827ae0 Reviewed-by: Christian Stenger <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/71e8865933652961dc2960e67cef5a4e8ae54ba4 Git commit 0e254d40f927775bf451234d15fb2eb1e6557c6e by Christian Kandeler on 21/07/2026 at 14:55.. Utils: Move InfoLabel::Type into namespace scope Otherwise it cannot be forward-declared. Change-Id: I2f91ebb7e543c5ecc5e13a33545408b360bd2b13 Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/0e254d40f927775bf451234d15fb2eb1e6557c6e Git commit 25fe8139927d8ede033f8570010d6fe66a805690 by Christian Kandeler on 21/07/2026 at 16:59.. Libs: Clean up includes Resulting from a run of clang-include-cleaner, followed by manual corrections. Change-Id: If7d9bfe07cda798885296b0fcdfbd6df5f0cf11c Reviewed-by: hjk <[email protected]> https://invent.kde.org/qt/qt-creator/qt-creator/-/commit/25fe8139927d8ede033f8570010d6fe66a805690