summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager/projecttreehelper.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CMakePM: Display presets as part of the project outlineCristian Adam2023-05-121-0/+30
| | | | | | | | Fixes: QTCREATORBUG-28966 Change-Id: Iae0f77956bf6f4682ea8a25e08d05de3331c7420 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* Avoid creation of temporary lists of ProjectNodeshjk2023-04-171-2/+1
| | | | | Change-Id: Iac84f7f95291fb3b12a071a066d358aaab309c52 Reviewed-by: Christian Kandeler <christian.kandeler@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>
* CMake: Move to Tr::trhjk2022-09-301-11/+8
| | | | | | Change-Id: I169da93b5184351cb915d4c198fd33318fcfe06f Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@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>
* filesystem: Add QFSEngine for filepathsMarcus Tillmanns2022-07-211-1/+1
| | | | | Change-Id: Ibd0c88c69863c0877138d8cc45541530c359bd9c Reviewed-by: hjk <hjk@qt.io>
* CMakePM: Remove <Headers> virtual project nodeCristian Adam2021-09-271-33/+0
| | | | | | | | | | | | | | | | | CMake projects need to add the headers as source files in order to get exported from the CMake file-api json export. Having header files that are not part of the project displayed in the <Headers> node is error prone and confusing. This also means that you won't get bogus files when doing git commit for example. Fixes: QTCREATORBUG-18206 Fixes: QTCREATORBUG-24609 Fixes: QTCREATORBUG-25407 Change-Id: I89ac4f8a80f452119f8a991b9e4ef14efb7a86b9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectTree: Add an option to hide Source and Headers file groupsWojciech Smigaj2021-06-241-0/+2
| | | | | | | | | | | | | A new checkbox "Show Source and Header Groups" is added to the filter menu in the project tree. It is checked by default. Unchecking it removes the extra level of virtual folders containing sources and headers. Change-Id: I25f4514e7f1f6cdfcb531a911e54cc6e7e42a3e2 Fixes: QTCREATORBUG-25313 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Do not create file system node in main threadEike Ziller2021-06-231-14/+24
| | | | | | | | | | | | | The file system scanning was already in a thread, but creating a tree from the flat list of file nodes was still done in the main thread. Creating the tree looks for and creates folder nodes as needed for each file node, which is not that big of a deal but still takes 1/3 of a second for the Qt Creator source tree. Task-number: QTCREATORBUG-25783 Change-Id: I28948ed3ff5233f6fc4b86e93da94d882b81e231 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Projects: Create QIcons in the UI threadEike Ziller2021-04-091-6/+2
| | | | | | | | | Creating QIcons elsewhere is not safe because of image reader plugin loading and the pixmap cache. Fixes: QTCREATORBUG-25301 Change-Id: Ia22a0cd571f808d7f5c639353fdf2e548743f8ca Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* CMake: Make sure file node from project is selectedEike Ziller2021-03-181-1/+2
| | | | | | | | | | instead of node in file system tree, if it is available in the project. For that, the nodes in the file system tree must have a higher priority value than also the project file node. Fixes: QTCREATORBUG-25493 Change-Id: I984adc0d205b2bac27782135772e49a6df2bbd0f Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix that file from project is selected in file system nodeEike Ziller2021-01-121-1/+5
| | | | | | | | | | | | | | | | | | The new file system node in CMake projects leads to funny selections in the project tree when "Synchronize with Editor" is turned on. Since the file system items are less deep in the tree than the files in the "regular" CMake project tree, they were selected instead of the regular project nodes. Reduce the selection priority for the nodes in the file system sub-tree. For this remove the hard-coded priorities when selecting nodes for "Synchronize with Editor" and use the existing node priorities. Amends 53115259baa522d0d2d8f05aaa058693b1de62a8 Fixes: QTCREATORBUG-25208 Change-Id: I69c08c4f0e7afa305141a0c475af515d9db1363b Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMakeProjectManager: Add File System virtual folderDmitriy Purgin2020-11-091-0/+26
| | | | | | | | | | | | | If a CMake project cannot be parsed by CMake, it is practically unusable in Qt Creator. According to discussion in QTCREATORBUG-24677, a virtual folder with the project's file system view is added to the project manager as a convenience feature. Fixes: QTCREATORBUG-24677 Change-Id: I48775bb89c704d3f7e5bb21ec6481bd5cc0f4b6c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Remove servermode supportTobias Hunger2020-04-291-3/+4
| | | | | | | | | Task-number: QTCREATORBUG-23915 Change-Id: I2a58e1d6d95c28e25787722fa37448d86c4aebc9 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake: Fix race/crash on project openTobias Hunger2019-08-091-0/+2
| | | | | | | | | | | When the filesystem scan takes longer than the cmake parsing, then resetData() was called on BuildDirManager by the CMakeBuildConfiguration before the CMakeProject had requested its data. Move some code back into CMakeProject to resolve this issue. Change-Id: Ib21bdd63fdca79c2ad39a7e060df438b456700b4 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CmakeProjectManager: Fix warning about redundant std::move()Christian Kandeler2019-07-251-2/+2
| | | | | Change-Id: If456698d62c0bdcd51992d62510e07d00a4b3fdf Reviewed-by: hjk <hjk@qt.io>
* CMake: Simplify buildkey generationTobias Hunger2019-06-201-1/+1
| | | | | | | | | | | | | Just use the target name as buildkey. This is unique in cmake projects, so there is no need to mangle the source directory into the whole thing. This is a problem since different readers might report different source directories. That will then result in RunConfigurations getting duplicated after switching the reader types. Task-number: QTCREATORBUG-22129 Change-Id: I849ab68f221d732341e98faa9a4e757d3a495b2a Reviewed-by: hjk <hjk@qt.io>
* CMake: Avoid a bit of useless processing when updating the project treeTobias Hunger2019-06-201-4/+1
| | | | | | | | | | | Do not pass around a list of filenodes with all the known header files. That list gets converted into a QSet<FilePath> and then that is used. Just generate the QSet<FilePath> directly and avoid that conversion. Change-Id: I2444a2a6b4a1600fe476e66673a1a2e9c8900764 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: hjk <hjk@qt.io>
* CMake: Add initial fileapireader classTobias Hunger2019-06-201-4/+12
| | | | | Change-Id: I620cba7cc1c2a5ac56789fa9770dce573c6b19cd Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Move some code out of the ServerModeReaderTobias Hunger2019-06-131-0/+204
... so that it can get re-used in the to-be-written fileapi reader. Change-Id: I2693e6bb102d910eb505882bf3468c34272a5d04 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>