aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/python/pythonrunconfiguration.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Use QString::size() instead QString::length()hjk2025-11-131-2/+2
| | | | | | | Minor gain in debug builds and when stepping. Change-Id: I2540d309661e4babfd7331b068c17657ded2a098 Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: improve missing pyside handlingDavid Schulz2025-06-301-48/+91
| | | | | | 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>
* Python: use static QRegularExpressionDavid Schulz2025-06-231-5/+8
| | | | | Change-Id: I91662f3922c7bf730164de205cf41efa5b12099e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Add pyproject.toml support for Python projectsJaime Resano2025-03-111-2/+5
| | | | | | | | | | | This patch adds support for the standard Python project configuration file: pyproject.toml. It is intended to replace *.pyproject files. Task-number: QTCREATORBUG-22492 Task-number: PYSIDE-2714 Change-Id: I783ee7b49be23c61b0a501ef9bbd722cc652ad14 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Jaime Resano <Jaime.RESANO-AISA@qt.io>
* ProjectExplorer: Make run configurations per build configurationChristian Kandeler2025-03-061-5/+3
| | | | | | | | Fixes: QTCREATORBUG-20986 Task-number: QTCREATORBUG-32380 Change-Id: Id5bcb8fcc6d97375f15a1266ae040ea637df9683 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Merge remote-tracking branch 'origin/15.0'Eike Ziller2025-01-101-1/+1
|\ | | | | | | Change-Id: Ia9b2ce1abe8c34747b3ee27e1e89b5f4a2fdc2b0
| * Python: initialize output parser exception stateDavid Schulz2025-01-091-1/+1
| | | | | | | | | | | | Fixes: QTCREATORBUG-32214 Change-Id: Ied5aafad78b767b7cb5e2c9414de1cfa72d53358 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | PE: Rename SimpleTargetRunner into ProcessRunnerJarek Kobus2025-01-061-1/+1
|/ | | | | Change-Id: Ie666fe0811aa63c54edf12934c6db4e17b26c252 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Display build configuration specific variables againhjk2024-10-181-5/+0
| | | | | | | | Continues d308b86847abad8. Task-number: QTCREATORBUG-31614 Change-Id: I408d96ccd6854b7bb62e13252c00ed3a29788b4c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Python: Add missing includeJarek Kobus2024-05-221-0/+1
| | | | | | | | | | | Otherwise getting: invalid application of ‘sizeof’ to incomplete type ‘ProjectExplorer::BuildSystem’ Amends 85cb3f7651e0377e8f50f1fe536872b6e05fa9bb Change-Id: Ie423bfb05dd852735fb5fa64a19cc1c4f9780e0b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* PythonRunConfiguration: Clean up includesEike Ziller2024-05-221-22/+0
| | | | | | Change-Id: I2cfef759e4b3fc773184691a9b19fc132cf3be03 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Python: Use setup functions for run related itemshjk2024-02-011-3/+31
| | | | | Change-Id: Iefbeda433b0f7eaaf3c429dbc853e0c8578ceb3a Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Remove OutputFormatterFactory hierarchyhjk2024-02-011-4/+4
| | | | | | | | | | | It never gained traction, was only used in thee places, and the class(-hierarchy) is not really needed and only complicates the code when the formatter creation is handled in free functions. Also adapt the users. Change-Id: Ieef7199f5a36f244b2f38cffef71a5fe0606065c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Python: use kits page in python wizardsDavid Schulz2023-11-281-234/+15
| | | | | Change-Id: I1f7aaf145443481546abb868c8c167186600b848 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Merge remote-tracking branch 'origin/12.0'Eike Ziller2023-11-031-4/+6
|\ | | | | | | Change-Id: Ice9c78147917fc13b6cf81ba781a37bdcd870e17
| * Python: Avoid warning in QFutureWatcherChristian Stenger2023-11-011-4/+6
| | | | | | | | | | | | | | | | | | Re-using a watcher will trigger the warning as the future had been set on the "old" watcher even though it may have finished or disconnected. Change-Id: I32d937b1d73d8bba9ec5639c62393da84638099e Reviewed-by: David Schulz <david.schulz@qt.io>
* | Python: initialize run configuration with kit pythonDavid Schulz2023-11-031-0/+4
|/ | | | | | Change-Id: I85ebe906bee2d9bc88c443f0189a685ac97ee30d Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: improve pyside tool detectionDavid Schulz2023-09-291-25/+37
| | | | | | | | | Look right next to the used python. For virtual env setups this should be a lot faster than asking pip for the installed files. Additionally this should work for pyside devenvs. Change-Id: I2a8cf6877636785453426c348cfac252645aa4e1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: fix Interpreter::changed emitsDavid Schulz2023-08-151-1/+0
| | | | | | | | | | | Only emit changed if the current interpreter changes. This is more in line with the other aspects. This fixes the pyside detection since the changed signal was not emitted in all relevant code paths. Change-Id: I53409b17f260b35914e39de894b48d7bd1ce27c0 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Rename kitinformation.{h,cpp} to kitaspects.{h,cpp}hjk2023-08-151-1/+1
| | | | | Change-Id: I069bddeb457366210d339edcbb8ffb359a40fab8 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Python: Base MainScriptAspect on FilePathAspecthjk2023-07-131-5/+4
| | | | | | | Instead of StringAspect. Change-Id: Idc5cbe4a28ece5b053eee9f260be9a5f22912f81 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: Use aspects more directly in PythonRunConfigurationhjk2023-07-111-78/+79
| | | | | Change-Id: Id85348473236bc01ddcc65ec5302c0537c98c526 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: Centralize interpreter specific function in the aspecthjk2023-07-071-32/+47
| | | | | | | | | | ... and expose that instead of the PythonRunConfiguration. This makes the PythonRunConfiguration more the container of aspects, similar to where the other runconfigs move. Change-Id: Ibc76b706f2d4d334640ea8f3b91343f9e7c0f566 Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Make more aspects directly usable in AspectContainershjk2023-07-061-2/+4
| | | | | Change-Id: I6634c27c8d516411ad84e6cb7c361262ead53124 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Remove unusual {Arguments,WorkingDir}Aspecthjk2023-07-051-2/+5
| | | | | | | | | | Follows suite to 2cc4967 to have the user side code more uniform. Most of the extra verbosity (setMacroExpander) can go away again when distributing the expander via the "owning" AspectContainer. Change-Id: I9e80cb235f0a4a9ebee601dd638aefbaa41efc1b Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Python: Use a separate PythonInterpreterAspecthjk2023-07-041-32/+30
| | | | | | | ... and move interpreter related code there. Change-Id: I108a4bdfa7c3f2078da164ce13e897a18ebdadde Reviewed-by: David Schulz <david.schulz@qt.io>
* Python: Hide some internals from PythonRunConfiguration APIhjk2023-06-271-8/+9
| | | | | | Change-Id: Ibed21265bf7099b06ea61751fb487b78e8071f34 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer/RemoteLinux: Consolidate X11ForwardingAspect handlinghjk2023-06-261-5/+0
| | | | | | Change-Id: I7e74f58ab50c84c74ba65f9f64aaa4d0ea73bbb6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* ProjectExplorer: always map working directory path to command deviceDavid Schulz2023-06-231-4/+0
| | | | | Change-Id: I0d2d54df118b70c2874b77b4ec2792fb8e114416 Reviewed-by: hjk <hjk@qt.io>
* Python: Allow redirecting the display for remote setupshjk2023-06-231-0/+8
| | | | | Change-Id: I83baa9c74a1586590147668c9fea661018101776 Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Merge LocalEnvironmentAspect into EnvironmentAspecthjk2023-05-251-2/+2
| | | | | | | | | | This still has some not quite orthogonal features in one blob function, but at least it's not a separate class anymore. A step forward to remote support in places where it could make sense. Change-Id: Ia02003e4340eb2b5ee92bd48c00006a487527828 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* All Plugins: Use global future synchronizerJarek Kobus2023-04-251-2/+3
| | | | | | | | | | Instead of using plugin's own synchronizers. The global synchronizer does the synchronization just before all the plugins' destructors run (in sync), so this should be the right equivalent. Change-Id: I8d09c9ea4a11b7a703684ad5319191ce310d992e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/10.0'Eike Ziller2023-04-131-9/+8
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/python/pipsupport.cpp src/plugins/qtsupport/exampleslistmodel.cpp src/plugins/qtsupport/examplesparser.cpp tests/auto/examples/tst_examples.cpp Change-Id: I00273622423fa99d41621969f6ecbbdaa0e18664
| * Python: Don't leak running futures on shutdownJarek Kobus2023-04-041-9/+8
| | | | | | | | | | | | | | | | | | This patch fixes the following assert on shutdown: "Shutting down while process /testenv/bin/python is running\"\n". Change-Id: I4c32ead5e4952b69ffc6037739fd417a632eda1a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* | Utils: Replace FilePath::onDevice() by new FilePath::withMappedPath()hjk2023-04-041-3/+3
|/ | | | | | | | | | | | | | Basically a.onDevice(b) == b.withNewMappedPath(a), matching the order of b.withNewPath(a). Whether the (curretly docker-specific) path mapping is useful /there/, and whether some of the calls are needed at all is dubious. I added some FIXME and changed a few cases directly. Change-Id: I7514736ce922f632f1f737bc496f6783389a42b6 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Python: collect pip package info in another threadDavid Schulz2023-01-271-24/+76
| | | | | Change-Id: I70a9066fddf812ce9bde5467913bb2bad98e2d0e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: Fix crash on switching interpreters in run configurationDavid Schulz2023-01-161-3/+4
| | | | | | | | | This happens if the project contains ui files, pyside with pyside uic and the python language server is installed. It is caused by pointers to already deleted extra compilers in the pyls language client. Change-Id: I877f20292c9c850c151fa94149b5a46d4836c3de Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove unused includes of QBoxLayoutJarek Kobus2022-11-181-1/+0
| | | | | | | Change-Id: I74204eaf70dbcb31a8bd13609bef35459c8c6b5f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* Remove unused includes of QFormLayoutJarek Kobus2022-11-181-1/+0
| | | | | | | Change-Id: Ia877cb57037342f2a7b332b29d9cb45e9b01c4bc Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* Python: fix PySide project tool detectionDavid Schulz2022-10-241-34/+39
| | | | | | | The tool moved to the PySide6-Essentials module. Change-Id: I204d2025bc51b6c5cffe82cba66878d077f03b72 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: try to find interpreter on device for run configurationDavid Schulz2022-10-201-1/+13
| | | | | | | | | If the default interpreter is not on the run device of the kit try to find any interpreter on that device and use it as the default interpreter for this run configuration. Change-Id: I52985281f0f1d2ac88759169400d64121299f95d Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Python: Convert to Tr::trhjk2022-07-211-12/+12
| | | | | | Change-Id: I0241053b0d51dbb1a60c43351cbff543fd52573d Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Python: check for pyside tools after installationDavid Schulz2022-06-201-2/+13
| | | | | Change-Id: Icf9ae0ec08a78efc51216daa3304e76f8e812d5f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: Fix scripts path to global/venv pyside installationsDavid Schulz2022-06-201-1/+6
| | | | | | | ... when checking for pyside tools. Change-Id: I1aaac9dd9da76f08ada031cc88761dba36c4e3b6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Python: make sure working dir is on python deviceDavid Schulz2022-06-151-0/+4
| | | | | | Task-number: QTCREATORBUG-27536 Change-Id: If9c8f88f2a871ec71b200020689a4ae9df1e8a6a Reviewed-by: hjk <hjk@qt.io>