aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/python
Commit message (Collapse)AuthorAgeFilesLines
* Python: use DataFromProcess to fetch python version outputDavid Schulz14 hours5-50/+12
| | | | | | | and remove duplicated calls and caches Change-Id: I39f73354035f2ad427e7f2360ccba7143aeb2b84 Reviewed-by: hjk <hjk@qt.io>
* Python: Switch row/column order in settingshjk36 hours1-13/+13
| | | | | | | The details kind of belong to the list only. Change-Id: I71acb1c0477fd6152662700af586cda2bf4bc03e Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Use more direct child widget setup in settingshjk36 hours1-64/+59
| | | | | Change-Id: Ia6abe99d13974c7a448a0baa71503255bf0c7a7b Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Move interpreter access from option page to option page widgethjk5 days3-146/+141
| | | | | Change-Id: I70f893911e4ffae0485dda80ecea951f3ca7be33 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Add debugger kit aspect to python kitsDavid Schulz2025-11-253-2/+6
| | | | | | | This allows to configure and use a C++ Debugger for Python projects. Change-Id: I976cff8a3e45f1ed732ee71874459009c6fd24ef Reviewed-by: hjk <hjk@qt.io>
* Python: Unify the installation option from the issues viewEike Ziller2025-11-241-8/+2
| | | | | | | | | | | | Makes the style of the link for installing the missing package with pip similar to the new CMake package one in ac901e047bff7a86c709ddb78b6ac40056d87dc1 i.e. adapt the text, make the whole line a link, and use the Task API for setting that up. Change-Id: I1f7b82e0e95f633a3718ebdf44897671355ae7d6 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Python: fix visualizing default interpreter in settingsDavid Schulz2025-11-202-5/+10
| | | | | | | | This got lost in 79774519ccaa19fbee58c8a191281f286eb83be2 Fixes: QTCREATORBUG-33667 Change-Id: Id8405b42a6b7a4d83e6c669e8d811e4e18c89219 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use QString::size() instead QString::length()hjk2025-11-133-5/+5
| | | | | | | Minor gain in debug builds and when stepping. Change-Id: I2540d309661e4babfd7331b068c17657ded2a098 Reviewed-by: David Schulz <david.schulz@qt.io>
* Project management: Attach build system name to BuildSystem classesChristian Kandeler2025-11-053-2/+4
| | | | | Change-Id: I1b0b998fae7ce4ea5588c4d32a317dac7fe442b5 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: Remove unused createVenv()hjk2025-11-052-24/+0
| | | | | | | Flagged by Axivion. Change-Id: I23a69cd805371b76cfb584e37e2b4feb256cd505 Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Centralize setting the build directoryChristian Kandeler2025-11-041-0/+1
| | | | | | | ... for all build systems that respect the template. Change-Id: I8e9c32be0f8633bd0cfde981593ad5de40acc1ed Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* TaskTree: Switch to qt-ified QtTaskTreeJarek Kobus2025-10-3110-25/+27
| | | | | | | Remove the old Tasking lib. Change-Id: Iacb4939cc873e25d6039efae7dd23510a7baa5f9 Reviewed-by: hjk <hjk@qt.io>
* Python: fix crash when updating extra compilers in the pylsclientv18.0.0David Schulz2025-10-281-0/+1
| | | | | | | | | | | Before 3d6eeea5dc40702cb11afffa72a1a05b7f0dfe31 we took the extracompilers out of m_extraCompilers and readded the ones that are still relevant. After the change we only append, which potentially results in multiple compilers in that list, which in turn closes and deletes some to early. Change-Id: Ic3d199d84e49b54bcd15d2470c6276b6c500fd95 Reviewed-by: hjk <hjk@qt.io>
* qbs build: Suppress some compiler warnings in third-party codeChristian Kandeler2025-10-101-1/+7
| | | | | Change-Id: I22443f215bc108b251e7415c3dbd87bbdb642df4 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix various translatable stringsEike Ziller2025-10-061-3/+3
| | | | | | Change-Id: I9fccebbcbddda2e310f668d30ec803d7a859ec6c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Use Utils::FilePaths instead of QList<Utils::FilePath>Alessandro Portale2025-10-021-1/+1
| | | | | | | And remove unnecessary Utils:: for FilePath[s] in affected files. Change-Id: I3eba81519c22cded8a48a197c7b1a5d7835673f4 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Fix UI text 2Leena Miettinen2025-10-012-3/+3
| | | | | | | | | | | | - Fix capitalization - Fix punctuation - Replaced '%1' with \"%1\" - Fixed the path to Preferences > Extensions Change-Id: Ib202c9a65b7f8c37efa365ab8901e22709ed60ba Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Avoid including multiple Tr classesEike Ziller2025-09-262-4/+1
| | | | | | | | | | | | | | | | | | | | lupdate has issues finding the right translation context if there are both Tr::tr calls that should be resolved via a `namespace <name> {` scope, and another `using namespace <other>` with a namespace that has another Tr class. Many of the cases of this that we have were editor display names that were defined in the Core plugin for reasons unknown, and which would better be defined in the corresponding plugin anyway. For the other cases do not use Tr::tr from a different plugin, but instead introduce "msg<Something>" functions that do the Tr call plugin- internally. That is the "correct" way to do it anyway, since shared strings should be changeable centrally. Task-number: QTBUG-140548 Change-Id: Idacf62b400f50789b5e5957b690e16aa1ebe5a56 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* PySide: Fix installationEike Ziller2025-09-101-0/+2
| | | | | | | | | Amends b6c3c284daf9e115531880765e015bd1b89b416e that lost the working directory for the pip install process. Fixes: QTCREATORBUG-33477 Change-Id: I00346b2e68840b79ef647e2d514645a4b676830b Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Python: Use mapped task tree runner in openDocument()Jarek Kobus2025-09-091-27/+14
| | | | | Change-Id: I886b90ac7c01ca0160bed2e15b612b4060e149bc Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Use namespace TextEditorJarek Kobus2025-09-091-20/+20
| | | | | Change-Id: I5b71a43438d4940fc31b181cda6d73bdf415fd15 Reviewed-by: David Schulz <david.schulz@qt.io>
* PipSupport: Replace PipInstallTask class with pipInstallerTask() getterJarek Kobus2025-09-095-179/+121
| | | | | | | | | Introduce PipInstallerData struct. Use TaskTree for executing pip installer task. Change-Id: I4930f5a8699a5cca85375d9ffe39fa53c4e1571b Reviewed-by: David Schulz <david.schulz@qt.io>
* Avoid calling throwing functionsEike Ziller2025-09-012-8/+8
| | | | | | | | | | | | Result is a std::expected, so Result::value() throws. We don't use or handle exceptions and always explicitly check before accessing, so this is not useful, and static analyzers complain. Use the non-checking and non-throwing operator* and operator-> instead. Change-Id: I03cc9a97fa9f04da557837c2a5076828dcb7d0e0 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Avoid QtConcurrent module importsChristian Stenger2025-08-261-0/+1
| | | | | | | | | ...as module imports pull in all headers of the module including all headers of modules they depend on. See discussion around QTBUG-88831. Change-Id: Idef4ca1b6c3c5ce9c8085d469bf3942ad0d9b4f9 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Python: Reuse ProcessProgressJarek Kobus2025-08-252-20/+8
| | | | | | | Stop the kill timer on done. Change-Id: Id602615fa5e9a4fa1bb876e809bfc18e053af5e2 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: use a map for saving interpretersDavid Schulz2025-08-221-5/+19
| | | | | | | | | Keep the saving to a list for a few versions to allow graceful transitions between multiple versions of Qt Creator. Change-Id: Icceed5e033e20984b69a31d653a09d9d917ed17b Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Python: Use TaskTree for checkForPySide()Jarek Kobus2025-08-225-88/+33
| | | | | | | | Don't blocking run Process in separate thread. Instead, run Process asynchronously from the main thread. Change-Id: I181464b1fc4bfd6946daa76cdab509b9cc565074 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Use TaskTree for PySideInstallerJarek Kobus2025-08-212-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 <david.schulz@qt.io>
* TaskTree: Rename TaskTreeRunner into SingleTaskTreeRunnerJarek Kobus2025-08-121-1/+1
| | | | | | | | Introduce AbstractTaskTreeRunner base class. Add a test for SingleTaskTreeRunner. Change-Id: I344aa8545f62f9e2e8fbbb741205d61ebbfe2d35 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* TaskTree: Make usages more consistentJarek Kobus2025-08-081-7/+9
| | | | | | | | | | | | Mostly cosmetic changes. Name top level groups as "recipe". Make recipes const. Inline one-line recipes into TaskTreeRunner::start(). Remove unnecessary Group statements. Change-Id: I391702fc94af2929d3e6d9d3ba7f99c744bd09e1 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* ProjectExplorer: Change KitAspectFactory::autoDetect to use DetectionSourceMarcus Tillmanns2025-07-233-8/+5
| | | | | Change-Id: I6d1520d1d7b9ba4608aeb9b46a1f5d03fcc5e5b0 Reviewed-by: hjk <hjk@qt.io>
* Python: Don't save temporary InterpretersMarcus Tillmanns2025-07-231-0/+3
| | | | | Change-Id: If752942ad862da8ce36f48d301b0520859b8d84e Reviewed-by: hjk <hjk@qt.io>
* Python: Use DetectionSourceMarcus Tillmanns2025-07-232-18/+32
| | | | | | | | | Api: ProjectExplorer::Interpreter::autoDetected => ProjectExplorer::Interpreter::detectionSource.isAutoDetected() Api: ProjectExplorer::Interpreter::detectionSource => ProjectExplorer::Interpreter::detectionSource.id Change-Id: Ic1d1d1913b983337ad72fc0a3590667c8083bc9b Reviewed-by: hjk <hjk@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Use DetectionSource in KitMarcus Tillmanns2025-07-221-3/+4
| | | | | Change-Id: Ia57c0140a5173eecb27a1dab9ac8be145976e8fb Reviewed-by: hjk <hjk@qt.io>
* PE: Add convenience function for clearing and removing a TaskChristian Kandeler2025-07-181-4/+1
| | | | | Change-Id: I819cb6ae31bc6f83fffeb9f406108cc4a7b17025 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Python: Prefer issues pane to general messagesChristian Kandeler2025-07-182-8/+26
| | | | | Change-Id: I287cd73cca5c0e366a1e0a2cb39be2d5c69b5038 Reviewed-by: David Schulz <david.schulz@qt.io>
* Avoid QtTest module importsChristian Stenger2025-07-181-2/+2
| | | | | | | | | ...as module imports pull in all headers of the module including all headers of modules they depend on. See discussion around QTBUG-88831. Change-Id: I8aaffa74bf813031156d6e61d5bba9a0972b7ba0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Python: Move auto detection functions into SettingsMarcus Tillmanns2025-07-173-41/+56
| | | | | Change-Id: I2e99390ff9522c19e9db5a9383bf4a8febd31d74 Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Rename Project::id() to Project::type()hjk2025-07-171-1/+1
| | | | | | | | | | | id() gives the (wrong) impression that this is something specific to a particulart project instance. Api: Project::id() -> Project::type() Project::setId() -> Project::setType() Change-Id: If19da9f3d49846818e635fb9a694771d9fa724a5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Python: Remove old fallback code for Interpreter list and add detectionSourceMarcus Tillmanns2025-07-171-28/+22
| | | | | Change-Id: I9e07a33b9750009e559a16c4d3d052dbea5deab5 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Store Interpreter detectionSourceMarcus Tillmanns2025-07-161-2/+4
| | | | | Change-Id: If38a58dfb14852bdd4771a90fcc9ce52fde32bf0 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Implement KitAspectFactory auto detectionMarcus Tillmanns2025-07-163-44/+92
| | | | | Change-Id: I4f77b9312899ec3ff2f09360837e8f43ccf3b246 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Connect auto detected kits to their deviceMarcus Tillmanns2025-07-161-1/+2
| | | | | Change-Id: Ic6f08c761cc427c5e5cbcc0ff9e1cec0051d44cb Reviewed-by: hjk <hjk@qt.io>
* Utils: Return QString from FilePath::relativePathFromDir()hjk2025-07-151-3/+3
| | | | | | | | | | | | | | | | | | FilePathification went a bit too far there: The result here can only be used in connection to another "anchor" path, and almost all users immediately converted it to a string, one way or the other. So paddle back, and adjust callers. For the few places that wanted to use the native separators in the result, provide FilePath::relativeNativePathFromDir() as the OS cannot be determined from the string alone. Api: Utils::FilePath::relativePathFromDir() returns now QString instead of Utils::FilePath Change-Id: Ide9683989930f960fa19f8e778036abde6801e89 Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Better separation between project managers and QmlJShjk2025-07-114-17/+11
| | | | | | | | | | | | | | | | | | | | | Previously, individual project managers depended on QmlJS, and for updates they pulled a pre-filled ProjectInfo struct from QmlJS, amended it, and pushed it back. In the new approach, indvidual project managers can add to a similar pre-filled structure from the buildsystem base implementation, after which the base implementation emits a signal containing the data, which is caught by QmlJSTool::ModelManager and there translated into QmlJS's own ProjectInfo struct. Advantage here is that the more of the necessary amending can be done centrally in the new BuildSystem::updateQmlCodeModel() and the indvidual project managers do not have to depend on QmlJS anymore. Change-Id: Ic3fbc55b9e3d980c55ac478bdf5672391214fa7b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* ProjectExplorer: Use Result<...> in JsonWizardhjk2025-07-091-14/+9
| | | | | Change-Id: I6db8d64d1c9772683d6633685f6abc31fe459f75 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: improve missing pyside handlingDavid Schulz2025-06-303-51/+125
| | | | | | Fixes: QTCREATORBUG-33057 Change-Id: I41fca7728c10fbf512b383cf04c4b3dacdb536ac Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Make Task members privateChristian Kandeler2025-06-261-3/+4
| | | | | | | We want to have more control over the usages, especially write accesses. Change-Id: Ib3ae94f9b184cdb75c83a93408f6dfc2effd5a2b Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Add convenience overload to TaskHubChristian Kandeler2025-06-251-2/+2
| | | | | Change-Id: I6ad3c6b4b923eaf22458e167554f3b6027e196e2 Reviewed-by: hjk <hjk@qt.io>
* Python: use static QRegularExpressionDavid Schulz2025-06-231-5/+8
| | | | | Change-Id: I91662f3922c7bf730164de205cf41efa5b12099e Reviewed-by: Christian Stenger <christian.stenger@qt.io>