aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer
Commit message (Collapse)AuthorAgeFilesLines
* Utils: Centralize aspect macro expansion setup and handlinghjk36 hours8-25/+5
| | | | | | | | Let each aspect have a macro expander, and let aspect-owned lineedits use this for expansion. Change-Id: Ifa6f5a678cf81c169643e4145f41e69eafedeb93 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* ProjectExplorer: Add macro expansion for CopyStephjk4 days1-2/+4
| | | | | | Fixes: QTCREATORBUG-30821 Change-Id: I8cde8d93ca41fa320113d95c25d42f0f277025eb Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Utils: Allow FilePaths to be compared case-sensitivelyChristian Kandeler4 days2-2/+3
| | | | | | | | | ... and make use of that when renaming. Fixes: QTCREATORBUG-30846 Change-Id: Id06a6df5db13325d17dcd69270604e754d7dee2a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Workspace projects were missing from recent projectsEike Ziller6 days1-1/+1
| | | | | | | | | When we checked for validity of recent projects, we used `isFile`, but the path that is used for opening a workspace project is a directory. Change-Id: Ie22c13c06c22d4584d1e198d5ab133025ea536c8 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Fix recent projects menu directly after startupEike Ziller6 days1-0/+1
| | | | | | | | | We missed to initialize the recent projects menu when initializing. Amends 77d7106b3a889079cc8338d8d6474830799e8f3d Change-Id: Icd394d8500c5853a6195ab1868e20caed3f5f323 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* ProjectExplorer: Merge CustomExecutableRunConfiguration::runnable()Christian Kandeler6 days3-16/+7
| | | | | | | | | | ... into parent class implementation. This way, the executable expansion will be done for all sub-classes, the remote custom run configurations being the most relevant ones. Task-number: QTCREATORBUG-30925 Change-Id: Id7715d9f60338767c0623fa33749ef18338ae479 Reviewed-by: hjk <hjk@qt.io>
* PE: Remove left-over connectChristian Stenger6 days1-4/+1
| | | | | | | | | | The item view was made read-only and this connect only results in a warning on the command line when double clicking an item. Amends 8ef85e481aa3095667be33b5db34d180cd18be07. Change-Id: I32d6b9d38e2c554fb91f5cbd1f1f5fd1e6c1a394 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Allow comments in environment itemsChristian Stenger6 days1-1/+6
| | | | | | | | | | | | | | | | | | This patch allows commenting environment changes or adding comments to the batch edit widget. To mark a line as comment prefix it with '##'. Modifying the environment by using the batch edit mode allows using '#' to disable variables. Mis-using this to disable statements of the environment items widget is tempting and other tools explicitly allow it this way. But when doing so, the environment may get some unforeseen modifications. So, explicitly provide a mechanism for comments and be more clear about this inside the documentation. Change-Id: I6a58d0d00e996a3f886ec30e826cade324321818 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Add WorkspaceProjectRunConfigMarcus Tillmanns7 days1-1/+128
| | | | | Change-Id: I66f25165f652f371130555279eddc0437b011887 Reviewed-by: hjk <hjk@qt.io>
* Utils: Make contents margins handling less specialhjk7 days1-4/+4
| | | | | Change-Id: I985419bbb213aba899c83efb49b376e0f3338bd5 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Utils: Make LayoutBuilder setter setup less repetitivehjk7 days4-4/+4
| | | | | Change-Id: I9113f7a97566c21cf83dcb95ce8e75e9707360b4 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* ProjectExplorer: Add projectnodeshelper.h into projectJarek Kobus7 days2-0/+2
| | | | | | | Otherwise this file is exlcuded from project search results. Change-Id: I65ce5121ac105f5565c46e4b5a5fbd74bee966d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Add readOnly handling to runconfig aspectsMarcus Tillmanns7 days1-0/+7
| | | | | Change-Id: If8ebd2d13c22bf60f50bb55a7b61f15ba81e481b Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: avoid scanning file contents to detect the node typeDavid Schulz8 days1-1/+1
| | | | | Change-Id: I735464bed8d546475036e0d5ea61dc7cbbe78975 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Find: Avoid saving default values for advanced searchEike Ziller8 days3-9/+15
| | | | | Change-Id: I69454675c15a9eb92d0665ea6f88f0969a532eb8 Reviewed-by: David Schulz <david.schulz@qt.io>
* FindFilter: Move settings saving to StoreEike Ziller8 days5-30/+49
| | | | | | | | This makes it possible to save it for the session instead/in addition. Task-number: QTCREATORBUG-793 Change-Id: I95bc20f4912a97863cb88849e32699a689ba6f3f Reviewed-by: David Schulz <david.schulz@qt.io>
* ProjectExplorer: Support column numbers in file path linkificationChristian Kandeler11 days10-41/+48
| | | | | | | | | | ... for task details. As a result, clicking on a linkified file path inside a task in the issues pane will now open the editor at the column specified in the compiler output, if there is one. We used to consider only the line. Change-Id: Idccba33b5b33029abfa8f29c7888af6c7f2e1622 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Handle files with no line number in GCC output parserChristian Kandeler11 days4-71/+100
| | | | | | | | | | | | This necessitated changes in the LdParser, as it turned out that a lot of linker messages were not actually caught there, but by accident in the GccParser (mostly by a now-superfluous regex). Note that the LdParser is still pretty awful; we just did the minimum that was necessary to keep the tests passing. Fixes: QTCREATORBUG-30806 Change-Id: I97ef08ca2bb8990841a95621f07368e879734856 Reviewed-by: hjk <hjk@qt.io>
* Wizards: Allow showing and hiding for VCS elementsChristian Stenger12 days2-6/+8
| | | | | | | | | Preparation for being able to hide the VCS UI elements for sub projects as they derive anything related from the parent project. Change-Id: Id0cc951f313335d022b3370b24f10abfd6f7532a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Introduce a convenience function creatorColor()hjk13 days10-24/+17
| | | | | | | ... forwarding to creatorTheme()->color(...) Change-Id: Iefaa043495127b3e500ed225584481d3ec0f8c1f Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Wizards: Let wizard know its supported project typesChristian Stenger13 days1-0/+1
| | | | | | | | Preparation for later to make sub projects aware of the projects they may be added to. Change-Id: I95630adca6f756377d939b6c3169ada2c5a93236 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* PluginSpecs: Change URLs from http:// to https://Alessandro Portale14 days1-1/+1
| | | | | | | | | | Avoid the redirect that is inevitable nowerdays. Also, change necessitas.kde.org to www.qt.io, since the orgininal page is offline. Change-Id: Ib1823f0df97d2df87822fd2bb7552e2f2c7e971e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ProjectExplorer: Fix tracing scope nameEike Ziller2024-05-281-1/+1
| | | | | Change-Id: I7a47e86b7fe2451ab418f094a5e65a63f9844d25 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Save environment id after creationhjk2024-05-281-1/+3
| | | | | Change-Id: I15e5515aa239d5cd6241444f9647869d9ea98a39 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Generalize output parser multi-line Task handlingChristian Kandeler2024-05-2710-277/+272
| | | | | | | | | There were various parsers that had logic for accumulating lines in a single Task. This is now done centrally, which not only saves code, but also unifies the behavior. Change-Id: Icea389ce5ff4ed6e131d30cbc06cc5dadfcc490e Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Log regex matching in GCC output parserChristian Kandeler2024-05-271-1/+16
| | | | | Change-Id: I588125a4141cf4ee6b092f81bc85f2b4f2dbb890 Reviewed-by: hjk <hjk@qt.io>
* Use LayoutBuilder V2hjk2024-05-2717-39/+46
| | | | | | | | | | | | This puts the implementation introduced in acf1ecb47fdf into use, after significant simplifications in the class hierarchy. CRTP is not used anymore, and the new tag based dispatch is also used for Layout::addItem, effectively reducing the number of different code paths. The Lua based settings access is disabled for now. Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* ProjectExplorer: Refactor main regex pattern in GCC output parserChristian Kandeler2024-05-271-10/+18
| | | | | | | | - Construct from named parts. - Use named capturing groups. Change-Id: Ib4d0e1fc2a66ea5336a0060324241be56cda4dba Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Refactor file pattern in GCC output parserChristian Kandeler2024-05-271-27/+36
| | | | | | | | | - Build up from named parts for more transparency. - Use named capture group. - Use non-capturing group for the drive letter, which we don't use. Change-Id: Ibd00db500a39e067a57767d1e2bdefb14127ef3d Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Wrap gcc output parser regex in a dedicated classChristian Kandeler2024-05-272-24/+68
| | | | | | | | | We want to refactor the regular expression in such a way that it can be understood by humans. Step one is to abstract away the pattern matching code. Change-Id: I84cf376e3ea6144348f82977bfb1636fbde732e5 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: filepathify recursive scan for filesDavid Schulz2024-05-241-15/+11
| | | | | | | | | This allows using the scanner on remote paths and avoids some unneeded FilePath::fromString and FilePath::toString calls. Change-Id: I4871613a9d36daf78607b196f4dfb6e165be8305 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Fix QMetaType::type() related deprecation warningshjk2024-05-2311-52/+52
| | | | | | | Not in sdktool, which still builds with Qt 5.15 Change-Id: I6e6f4331127b821e471e2840e7959cd65e6419e9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* RunControl: Add missing code migration to std::shared_ptrJiajie Chen2024-05-231-1/+1
| | | | | | | | | | | | | | | In `IDevice: Replace QSharedPointer with std::shared_ptr' (#536681), the type of IDeviceConstPtr has changed to use std::shared_ptr, but the code in RunControl was not updated, leading to compilation error: error: no member named 'isNull' in 'IDeviceConstPtr' 421 | if (!device.isNull() && device->type() == ... | ~~~~~~ ^ 1 error generated. Change-Id: I812034f37b14c9c62040f09e039a68eb4edfd4d6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* CommandLine: Reuse new c'torJarek Kobus2024-05-222-6/+2
| | | | | | Change-Id: Id154881b4f5d8c488e5c1f5e0f843d36bf838759 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Remove PluginManager::futureSynchronizer()Eike Ziller2024-05-211-1/+1
| | | | | | | Use the global synchronizer from Utils::futureSynchronizer() directly Change-Id: Ic8843bc1ff7951c041529a258f36117f08ec4b35 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Fix qbs buildChristian Kandeler2024-05-211-0/+1
| | | | | Change-Id: I22ac5e5ece2c0424942f04ae65d3b02ef89c5a31 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* AsyncTask: Centralize setting global future synchronizerEike Ziller2024-05-211-3/+0
| | | | | | | | | | | Move the global FutureSynchronizer to Utils and use it by default for AsyncTask (if that is in the main thread). This way setting a synchronizer is less prone to be forgotten. Individual uses can still override this. Change-Id: I1a12bf4d7f4cb5be99668bf0a4797108c2fe6448 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* ProjectExplorer: introduce workspace projectDavid Schulz2024-05-217-6/+283
| | | | | | | | | | | | | | | A workspace project can be utilized to open projects that either do not have a project manager or which uses a project manager we do not support natively. The workspace project basically scans the folder recursively and adds all files and folders to the project tree. The user can provide a project name in the .qtcreator/project.json project file. It is also possible to exclude files and subdirectories from the project via the project trees context menu. Change-Id: If84a4d96c6217ae024af4e2869eb600e1faad372 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* ProjectExplorer: allow defining a dir filter in TreeScannerDavid Schulz2024-05-213-28/+46
| | | | | | | | | This is going to be used to include hidden files in the result list of the scanner. Change-Id: I512465eba4c38c6d26107ae4022319f1c700b60c Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* CommandLine: Use more 1-arg c'torJarek Kobus2024-05-162-6/+4
| | | | | Change-Id: If52c4094f94859d51e31862d913b1756e333e512 Reviewed-by: hjk <hjk@qt.io>
* Appstatisticsmonitor: Add statistics monitor pluginArtem Sokolovskii2024-05-152-1/+8
| | | | | | | | | | | The plugin adds a new tab to Navigation Widget. The tab contains two charts CPU consumption and Memory consumption for started applications in QtC. There is a combobox by which a monitored application can be chosen. Change-Id: I0747c90e73a289d65aabd31672f3accf74f00749 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Introduce "Show All Kits" option to Kits viewArtem Sokolovskii2024-05-134-6/+100
| | | | | | | | | | By default, the kits view now displays only active kits relevant to the current project. To access additional kits, users can now use the "Show All Kits" option. Change-Id: I41ecd7cbe7e220d564692b3cb16ea176add2b201 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* PE: Fix ProjectTreeWidget::expandedCount not to use 0 for error casesCristian Adam2024-05-081-2/+2
| | | | | | | | | | | | | | This would make ProjectTreeWidget::nodeForFile pick the wrong node due to nodeExpandCount having a lower count. In case of qml files there is the source file node and the resource file node pointing to the same file name, but the resource name has an invalid index (not visible in the project view) and shouldn't be preffered! Fixes: QTCREATORBUG-30571 Change-Id: I2aff7da9dd6d83222e341b5cbcb78db5cd6a9224 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* ExtensionSystem: FilePath'ifyMarcus Tillmanns2024-05-081-1/+1
| | | | | | | | Change IPlugin::fileName() and IPlugin::location to use FilePath instead of QString. Change-Id: If473ab1e258951735f93221cbd62c505f0727eb2 Reviewed-by: hjk <hjk@qt.io>
* RunControl: Add more helper functions to SimpleTargetRunnerDominik Holland2024-05-082-0/+20
| | | | | | | | | | | Allow to disable the forwarding of stdout and stderr and provide access to the underlying Process. This can be used when stdout and stderr need to be forwarded to other RunWorkers. Change-Id: I7fb789defe8a57831fcaf312fc7b500affdf2f61 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Make it possible to add wizards paths via plugin meta dataEike Ziller2024-05-063-3/+31
| | | | | | | | | | That makes it easy with Lua plugins, and is useful on the C++ side as well. Change-Id: I660956bed47e4c1e27a001ad8999d6701cda86ee Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Merge remote-tracking branch 'origin/13.0'Eike Ziller2024-05-061-55/+54
|\ | | | | | | Change-Id: I77d3656aec10063a90095d5299b85304692d8b32
| * Welcome: Restore legibilityAlessandro Portale2024-05-021-55/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the release of Qt Creator 13.0.0, a couple of bug reports and comments regarding reduced legibility appeared. They boil down to: 1) Text appears blurry 2) Text is too small 3) Text contrast is too low This change fixes the blurryness by setting less custom font weights for non-HighDpi systems in StyleHelper::uiFont(). Bigger texts are used for the "Session" and "Recent Project" delegates. The text contrast is being increased by making Token_Text_Accent darker for light themes and brighter for dark themes. Token_Background_Muted, which is used as background color is made a bit brighter for light themes. Fixes: QTCREATORBUG-30579 Fixes: QTCREATORBUG-30637 Fixes: QTCREATORBUG-30650 Change-Id: I8eeb9db6854a19b0de0bcee14b10e2ef66234e06 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: hjk <hjk@qt.io>
* | PE: Add tooltip mentioning QTC_DEFAULT_BUILD_DIRECTORY_TEMPLATECristian Adam2024-05-031-0/+5
| | | | | | | | | | | | | | | | | | The tooltip mentions QTC_DEFAULT_BUILD_DIRECTORY_TEMPLATE so that the users know about this environment variable. Task-number: QTCREATORBUG-30557 Change-Id: Ife221b7cfe88f9a6015bd5fb61270d335f65cb79 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Core,PE,TE: Add "build" to find in files exclusion listCristian Adam2024-05-031-1/+1
| | | | | | | | | | | | | | | | | | Now that we have the "build" directory in the source directory we need to exclude it from the find in files search list. Change-Id: I74b20f828ffed51b5d7be98efa662bcc4b420523 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>