aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ProjectExplorer: Introduce executionTypeHEADmasterMarcus Tillmanns49 min.36-40/+141
| | | | | | | | | | | ExecutionType links the way that an executable can be started with a factory that implements the way to start it. The Type is set by the factory of the run device since it can tell how an executable can be started on it. Change-Id: I84d626679337f327444f4f4a654bd832a2f2ff6c Reviewed-by: Christian Kandeler <[email protected]> Reviewed-by: hjk <[email protected]>
* Devcontainer: Implement more setup parametersMarcus Tillmanns49 min.3-15/+30
| | | | | Change-Id: I20e7c493bba9917498528b11feb59a518b319176 Reviewed-by: hjk <[email protected]>
* Terminal: Use TaskTree for shell finderJarek Kobus3 hours2-23/+24
| | | | | Change-Id: I3865331821021f8aca2837f7fcaa8a099c1ee6f8 Reviewed-by: Marcus Tillmanns <[email protected]>
* QmlJsEditor: QmlTaskManager cleanupJarek Kobus4 hours2-28/+23
| | | | | Change-Id: Ifae70aff80e25e9e3fd25513b1c921572d4754cf Reviewed-by: Sami Shalayel <[email protected]>
* qmljshoverhandler: hide diagnostic when qmlls is runningSami Shalayel4 hours1-0/+6
| | | | | | | | | | | Don't report tooltips with warnings from the embedded code model when qmlls is running. Fixes: QTCREATORBUG-31420 Change-Id: Ic97267a6e280732adb1ad390528406f250cac8a5 Reviewed-by: David Schulz <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
* Learning: Add recommendations dataAlessandro Portale5 hours46-0/+622
| | | | | | | | | recommendations.json lists the items. The screenshots are in src/plugins/learning/overview/ The thumbnails are generated via src/plugins/learning/scripts/updatethumbnails.py Change-Id: I82d237d8e0ffda87918a5944867062ad85de0771 Reviewed-by: hjk <[email protected]>
* Learning: Add an Overview pageAlessandro Portale5 hours10-2/+1143
| | | | | | | | | | With an initial onboarding wizard, with just the recommendation options. Task-number: QTCREATORBUG-33051 Task-number: QTCREATORBUG-32579 Change-Id: Ia962c824f0c2cef65d55be753c5209be6fffb7ef Reviewed-by: hjk <[email protected]>
* Android: rename the manifest "General" tab to "Graphical Editor"Assam Boudjelthia5 hours1-1/+1
| | | | | | | | that's more representative and clear. Change-Id: If0e3fc69c0e91febf3ba3366662d6aa5a9ebbc6d Reviewed-by: hjk <[email protected]> Reviewed-by: Sheree Morphett <[email protected]>
* Android: make kit names consistent with other platformsAssam Boudjelthia5 hours1-1/+2
| | | | | | | | | | | The Android kits names start with Android, that's a pattern not used by other Qt Creator kits. This makes the name in line with other kits by using the pattern "Qt <version> for <target>" with <target> being "Android <abi>". Change-Id: I513b08eace3d9ba601b7201b44a8e2ae95c45af4 Reviewed-by: Alessandro Portale <[email protected]> Reviewed-by: hjk <[email protected]>
* Android: name generated manual kits similar to auto-detected onesAssam Boudjelthia5 hours1-4/+1
| | | | | | | | | | | | | | | Currently, let's say I have a manual Android Qt version and I name it "Qt %{Qt:Version} for Android ARM64-v8a" (the same name as the auto detected versions), QC then will generate a kit for this and use the name "Android Qt 6.11.0 for Android ARM64-v8a arm64-v8a". That's clearly wrong. Since QC is already trying to generate kits for manually added Android versions, let's keep the name the same for all Android kits. Change-Id: I96d452ddacd9a748ba2a6f3bb7f9490d06fba9a2 Reviewed-by: hjk <[email protected]> Reviewed-by: Alessandro Portale <[email protected]>
* Python: Use TaskTree for PySideInstallerJarek Kobus5 hours2-53/+30
| | | | | | | | Don't blocking run Process in separate thread. Instead, run Process asynchronously from the main thread. Change-Id: Ie0647dca775238772644575f59df411a4afcec84 Reviewed-by: David Schulz <[email protected]>
* QMakeProjectManager: Use TaskTree for async evaluateJarek Kobus6 hours2-39/+35
| | | | | Change-Id: I955b3006a064dcbb6968fcc49c781290922be3c3 Reviewed-by: Christian Kandeler <[email protected]>
* QMakeProjectManager: Remove fixme commentJarek Kobus6 hours1-1/+1
| | | | | | | | The std::shared_ptr<> is the best pointer type to exchange results between threads. Change-Id: I7664bdeb4dd885d427fff911da8fbc0660b4657a Reviewed-by: Christian Kandeler <[email protected]>
* QMakeProjectManager: Add promise to evaluate and check for cancelJarek Kobus6 hours2-20/+56
| | | | | | | | | In order to quickly finish the canceled thread execution. Remove asyncEvaluate() indirection. Change-Id: I48525e983ab80cc048d4e7ae4cf9cda338a7b9f5 Reviewed-by: Christian Kandeler <[email protected]>
* TaskTree: Simplify internalsJarek Kobus6 hours1-19/+13
| | | | | | | | Avoid code repetition. Avoid creating / deleting empty iterator body. Change-Id: I0c7cb491bf7a972e86c0d84f2a7be5b9435bc081 Reviewed-by: hjk <[email protected]>
* Devcontainer: Add git and enable debug flagsMarcus Tillmanns6 hours4-2/+14
| | | | | Change-Id: Ib38f10c73f2137f62a4f34df6f1b3267ce1ecb50 Reviewed-by: hjk <[email protected]>
* PE: Make some cleanup in SelectableFilesModelJarek Kobus6 hours5-69/+61
| | | | | Change-Id: Id9940a9bd834ec8777fcf4956641f4e0c181466a Reviewed-by: Christian Kandeler <[email protected]>
* PE: Use TaskTree for SelectableFilesFromDirModel::startParsing()Jarek Kobus6 hours2-35/+26
| | | | | | | | | Since buildTreeRoot() doesn't operate on SelectableFilesModel's data anymore, it's fine to use global FutureSynchronizer for the possibly running buildTreeRoot(). Change-Id: I1b6f5f3263cd605ac6bbf8510adfae34df2f5d05 Reviewed-by: Christian Kandeler <[email protected]>
* PE: Refactor SelectableFilesFromDirModel::startParsing()Jarek Kobus6 hours4-102/+106
| | | | | | | | | | | | | | | | | | | Make the buildTree() static, to make it clear that it operates only on passed arguments. Before, it used SelectableFilesModel::filter() method that operates on private fields of SelectableFilesModel, like m_files, m_selectFilesFilter, and m_hideFilesFilter, what wasn't thread safe. Introduce static filter() overload, taking additional FilterData arg. Return shared pointer to Tree from funtion executing in separate thread. Change-Id: I6661b55e227a0018fff4afeba96e70bddf0f2254 Reviewed-by: Christian Kandeler <[email protected]>
* LanguageClient: Fix loading the settings type idDavid Schulz7 hours1-0/+1
| | | | | Change-Id: Ibad56242f2fd46ba35c0cae9b678be58e4b839bd Reviewed-by: hjk <[email protected]>
* Utils: mark static Id functions with [[nodiscard]]David Schulz7 hours1-5/+5
| | | | | Change-Id: I310137cf6e65f4d15afc3b3a2d33f5aa67a9af33 Reviewed-by: hjk <[email protected]>
* Utils: remove unused functionDavid Schulz7 hours1-15/+0
| | | | | Change-Id: I2de44e304a3fdeb4b6189b6e943d2f28673b19b3 Reviewed-by: hjk <[email protected]>
* Add devcontainersMarcus Tillmanns8 hours12-20/+206
| | | | | Change-Id: Iec95395ce395e451ae4f79e88a0a248293bf077e Reviewed-by: hjk <[email protected]>
* QmllsClientSettings: remove unused boolSami Shalayel8 hours1-1/+0
| | | | | | | | | | Amends 528607158a559633c14d0d121d414030654dca1f that replaced m_useLatestQmlls with m_executableSelection, but didn't remove the m_useLatestQmlls member. Change-Id: Id84aaabdcdbfafa832724845ce4222e9d33fa71d Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: hjk <[email protected]>
* qmlls: remove unused static QHashSami Shalayel8 hours1-10/+1
| | | | | | | | | It seems that the static QHash is unused, now that we use LanguageClientManager to manage qmlls. Change-Id: I8735a1c7f335b38aba3e85112ef6ab8d347e745e Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: hjk <[email protected]>
* qmllsclientsettings: replace lambda from connect with slotsSami Shalayel8 hours1-4/+2
| | | | | | | | Replace the lambda from a connect calls with a slot. Change-Id: I91aa956681ff26cf1f165aa57ebe2535bf1c38e1 Reviewed-by: hjk <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
* FileSystemWatcher: Fetch lastModified() only for WatchModifiedDate modehjk8 hours1-2/+10
| | | | | | | | The value is only used in this context, and retrieving it costs some time. Change-Id: I3094eba0399a42919b6aaa01ff774837bac95b99 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Eike Ziller <[email protected]>
* CMake: Serialize install steps of wininterrupt and qtcreatorcdbextAlexandru Croitor9 hours2-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | A CI precheck shows a failure during the wininterrupt external project win32-bld install step. It fails while importing the 3rd party python dependency 'spdx_tools\spdx\parser\tagvalue\parsetab.py' claiming a python syntax error. It's unclear why this happens, given that the file is installed during provisioning and is just executed during the Creator build. One guess is that the spdx_tools scripts can't handle to be called in parallel, which can happen when the external projects are installed by ninja in parallel. Add the USES_TERMINAL_INSTALL option to the external projects, to serialize the install steps when using the Ninja generator. Usually all CMake projects are installed serially by default, but because we use ExternalProject_Add with custom installation steps, we need to be explicit about it. This is a speculative fix. Change-Id: I2ba6686ac479d88f5c5281a6cc5e222a90195f11 Reviewed-by: Eike Ziller <[email protected]>
* Utils: Add Utils::cleanJsonMarcus Tillmanns9 hours3-0/+150
| | | | | | | cleanJson removes all comments and superflous commas from the Input. Change-Id: Ib252f5c402c30305abd13ff9022ec3a0c480eac9 Reviewed-by: hjk <[email protected]>
* Utils: Un-protect TypedAspect::isDirty()hjk9 hours1-1/+1
| | | | | | | | | Will be needed while aspectification of language client settings, and the other isDirty() implementations are public, too. Change-Id: I99791d6d98d96ed01da0459aefe4c7d43031f5f2 Reviewed-by: Marcus Tillmanns <[email protected]>
* Git: Use TaskTree for fetchCommitData()Jarek Kobus19 hours2-34/+40
| | | | | Change-Id: Ieab3fd45ae1c7049d8de4549c48de1012965e161 Reviewed-by: AndrĂ© Hartmann <[email protected]>
* CPlusPlus: Create declarations for conceptsChristian Kandeler23 hours3-0/+16
| | | | | | | So that symbol look-up will work on them. Change-Id: I2cd598a46156c22313588ccfe33dbf5d000168f5 Reviewed-by: hjk <[email protected]>
* Merge the core zoom actions and text editor font size actionsEike Ziller26 hours6-47/+31
| | | | | | | | | | | | | | | | | | | We have central actions for zomm in/out/reset that were used by the output panes, model editor, and image viewer, and then there were font size actions from the text editor plugin that also actually changed the zoom factor for the text editor font. These latter ones also had the wrong shortcut for resetting on macOS and missed the additional shortcut for zooming out. Remove the duplicate ones from text editor, but add the core ones to the Edit>Advanced menu which the text editor ones were added to. Api: TextEditor::Constants::INCREASE|DECREASE|RESET_FONT_SIZE were removed in favor of Core::Constants::ZOOM_IN|OUT|RESET Fixes: QTCREATORBUG-33315 Change-Id: I52096001bba8b587a0012d8238cdfea6377d4553 Reviewed-by: David Schulz <[email protected]>
* PE: Move cmakePresetsUpdated signal to CMakePMCristian Adam26 hours5-23/+12
| | | | | | | | The refactored project settings doesn't need the signal in ProjectImporter. Change-Id: I30e694326c6af288ff1b1495de05d750d0f789c3 Reviewed-by: Christian Kandeler <[email protected]>
* qmlls: use radiobuttons for executable selectionsSami Shalayel26 hours2-33/+67
| | | | | | | | | | | | | | | Now that the user can choose the qmlls executable, change the qmlls binary selection to use a radio button. This simplifies the UI, as we don't have the weird combination of "use latest qmlls" and "use custom qmlls" that can be valid at the same time, and will be upgraded with a fourth radiobutton that allows to use (and download) standalone versions of qmlls. Task-number: QTCREATORBUG-32749 Task-number: QTCREATORBUG-33313 Change-Id: Icf6f81e0ae11ee9a723b2083ea3ef3caf866ada7 Reviewed-by: hjk <[email protected]> Reviewed-by: David Schulz <[email protected]>
* Qnx: Add DeviceToolAspect for sdpenv fileshjk27 hours2-2/+33
| | | | | | | | | They are the entry point into QNX toolchain setup. Fixed paths for the versions supported by Qt for now. Change-Id: Icfa7182922c612dc66a796320bb55427f4f9b5a5 Reviewed-by: Christian Kandeler <[email protected]>
* Return size_t from qHash overloadshjk27 hours24-38/+36
| | | | | | | | | | | | The 'auto' trick was only needed for the Qt 5 -> Qt 6 transition, and it's unlikely that we will need it again. There's still quite some variety in implementation patterns, especially when it comes to Qt namespace and seed handling. Change-Id: I4eaadccc0f3172be793007652f35b1755cf3600e Reviewed-by: Marco Bubke <[email protected]> Reviewed-by: Eike Ziller <[email protected]>
* ProjectExplorer: Add device argument to DeviceTool checkerhjk27 hours4-15/+26
| | | | | | | | | More context to check the validity of results. The upcoming QNX SdpEnv file's suffix e.g. depends on the osType of the device. Change-Id: Ide5cabcfdfde7bbdb1656b42d2ad59f9de36d675 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Make file path alternative data user accessiblehjk27 hours8-17/+78
| | | | | | | | | Put into the PathChooser's line edit history, so "it's there", and add an (non-persistent) "Alternatives" button for better visibility if there are any alternatives. Change-Id: I7e3ff435b2dab334e6ceb8c9d6a85fc99f7274f6 Reviewed-by: Christian Kandeler <[email protected]>
* Use the Popup-style Info widgetAlessandro Portale30 hours16-24/+26
| | | | | | | | | | | | Qt Creator traditionally used banner-style info messages. This change changes the messages to the popup-style alternative. Users can use the Environment -> Interface setting "Prefer banner style info bars over pop-ups" in order to switch back to banner style. Fixes: QTCREATORBUG-32570 Change-Id: Ib728bfb19446d38eee5b85b531d176a4d8b4f366 Reviewed-by: Eike Ziller <[email protected]>
* Editors/Tabs: Fix closing document if single suspended tab remainsEike Ziller31 hours1-1/+1
| | | | | | | | | | | | | | | | | | | | | | - set "Auto-suspend unmodified files / Files to keep open" to 1 - enable tabs - open a.txt and b.txt (b.txt active) - split - in the new view close b.txt and open a.txt (the tab for a.txt in the first view is now suspended) - close a.txt in the new view (the document stays open, with only the suspended tab in the first view) - close a.txt in the first view Expected: The tab in the first view closes, the document is closed (check in Open Documents view) Without this patch a QTC_ASSERT is triggered and the document stays in Open Documents. Change-Id: Id0f2986f63ac13d927280e935cbedeb9efe5c677 Reviewed-by: David Schulz <[email protected]>
* TextEditor: Make Suggestion Actions Shortcut configurableMarcus Tillmanns31 hours3-30/+65
| | | | | Change-Id: Ic6ee9d6d67f596057859bd9b8cd08fc5c6f11ca3 Reviewed-by: David Schulz <[email protected]>
* DesktopDevice: Use TaskTree for updating extra dataJarek Kobus32 hours3-15/+19
| | | | | | | Ensure that we don't leak running future watcher on shutdown. Change-Id: Ic8a7a0e23de2b62251df6c1315b87d06d8e17f9f Reviewed-by: Marcus Tillmanns <[email protected]>
* Utils: Remove unneeded include from aspect.hhjk33 hours4-2/+4
| | | | | | | Add it where needed. Change-Id: Id01d7d18c74dcdc6bd67bd0675d1921e3bb211e6 Reviewed-by: Marcus Tillmanns <[email protected]>
* Utils: Modernize reloadpromptutils.hhjk33 hours3-36/+26
| | | | | | | | | | | Use FilePath in fileDeletedPrompt. Drop QWidget parent(), use dialogParent() internally. Api: Utils::fileDeletedPrompt(const QString &, QWidget *) -> Utils::fileDeletedPrompt(const FilePath &) etc Change-Id: I1e2b8ff108874d60468c3705f88165ed98c21d93 Reviewed-by: Alessandro Portale <[email protected]>
* PE: Remove settings target widgets when the target is removedCristian Adam47 hours1-0/+11
| | | | | | | | | | | | | | This can be reproduced with the CMake presets from QTCREATORBUG-33309, by issuing Build > Reload CMake Presets. The CMake preset kits will be recreated and the active target will be removed. The new project configuration will have had widgets belonging to the old target, and would cause use after free access issues ... Task-number: QTCREATORBUG-33309 Fixes: QTCREATORBUG-33330 Change-Id: Ib867b6b46430f9edf22a71eeec922ddbd9ca9470 Reviewed-by: Alessandro Portale <[email protected]>
* Debugger: Use TaskTree for updaterJarek Kobus48 hours1-21/+25
| | | | | Change-Id: I2c48b68044858a5ca360e87ec0f37a27b43abd56 Reviewed-by: hjk <[email protected]>
* Remove unused includes of QFuture/QFutureWatcherJarek Kobus48 hours9-11/+0
| | | | | Change-Id: Idf7e6186a684538ea1090a9d0a12ab28b02a3848 Reviewed-by: hjk <[email protected]>
* ProjectExplorer: Separate 'Source', 'Build' and 'Run' toolshjk2 days9-12/+64
| | | | | | | | | | | | | | | | | | | | | Tools, also such on "devices" like docker operate in different contexts, some work on the device directly when building on this device (qmake, ...), some when things are run on this device, and when (later) collecting e.g. (more) Qt versions it's necessary to distinguish between versions meant to run on a certain device or meant to be used for building for a (possibly different) device. I think it makes sense to separate these concepts also visually (and perhaps later also filter out e.g. build stuff from devices that will never used to build) I've included also "Source" as processing sources does not necessarily need a full build setup so it feels different, too, and was easy to add. Might be over-engineered. Change-Id: Ie6d86746b75274d82cef8f3378aadc8f9226f1a6 Reviewed-by: Christian Kandeler <[email protected]>
* CppEditor: Use TaskTree for findLinkHelper()Jarek Kobus2 days2-31/+27
| | | | | Change-Id: Iba86ade4b0336f397f48bcf590cf456e9f785c72 Reviewed-by: Christian Kandeler <[email protected]>