aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprojectmanager
Commit message (Collapse)AuthorAgeFilesLines
* More Utils::toSet/toListhjk2019-07-042-5/+6
| | | | | | | ... and unrelated cosmetic changes. Change-Id: I591b17fd5289831e701b683f8fb47816efd1fa67 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-286-25/+25
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce a alias for QList<Tasks>hjk2019-05-282-3/+3
| | | | | Change-Id: I91391ad22b420926b0f512cac23cfe009048b218 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Add executable() accessor to RunConfigurationChristian Kandeler2019-05-242-6/+7
| | | | | | | Amends f6c276daf0, which was a quick fix for 4.9. Change-Id: I94281af6a9a0d0bfe197ce836488f708d5bd677d Reviewed-by: hjk <hjk@qt.io>
* Qt Creator CMake portCristian Adam2019-05-171-0/+16
| | | | | | | | | | | | | | Based on Tobias Hunger's work from a few months ago. The CMake configuration needs libclang and Qt paths specified as CMAKE_PREFIX_PATH. Auto tests are run with "ctest". At the moment the pass rate is 87%. Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/4.9'Eike Ziller2019-05-081-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/howto/creator-sidebar-views.qdoc doc/src/howto/creator-ui.qdoc qbs/modules/qtc/qtc.qbs qtcreator.pri src/plugins/autotest/testresultmodel.cpp src/plugins/autotest/testresultmodel.h Change-Id: I24cc585ca7782cb1d9cb0b8b73b46892b41937fd
| * QmlProjectManager: Fix using history completerChristian Stenger2019-05-061-0/+1
| | | | | | | | | | | | | | | | Avoid a soft assert and allow using the history completer when specifying the QmlScene or qmlviewer. Change-Id: Ibf1ff7f07b9280d211902f6510505fff2bc63abf Reviewed-by: hjk <hjk@qt.io>
* | QmlProject: Implement basic support for QmlFileSelectorThomas Hartmann2019-04-257-0/+38
| | | | | | | | | | | | | | | | | | This patch adds support for QmlFileSelector for QmlProject and Qt Quick Designer. Task-number: QDS-590 Change-Id: I0cc043d3ec9578008ec879b36fe834b70fb8c5ad Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | RemoteLinux: Retrieve deployment info from local install rootChristian Kandeler2019-04-232-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides correct deployment information as seen by the build system when Qt Creator cannot retrieve it directly. It's most useful for autotools and cmake projects, but can also help with qmake in certain edge cases. [ChangeLog] It is no longer necessary to provide a QtCreatorDeployment.txt file when using CMake projects with remote Linux devices. Fixes: QTCREATORBUG-21855 Change-Id: I27e07a45dd1565e489f4b573cc3fff8191c57d9b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: hjk <hjk@qt.io>
* | QmlProject: Do not crash on project creationhjk2019-04-051-3/+3
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-22244 Change-Id: I38c6527269ba553c0e4734c437f5a6918da729a3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Aleksei German <aleksei.german@qt.io>
* | ProjectExplorer: Switch order of template parametershjk2019-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | ... of SimpleRunWorkerFactory. This requires being explicit about the SimpleTargetRunner worker default, but makes the template re-usable for current users of RunWorker::registerWorker() which I would like to phase out now, for less variations in the RunWorkerFactory setup. Change-Id: I32638437e5bb29f143650f5fde706711ab25accf Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Introduce a SimpleRunWorkerFactory templatehjk2019-03-195-89/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and use in as replacement for RunConfiguration::addRunWorkerFactory. It is still convenient to have a simple way to set up run worker factories for the typical "just run for this configuration" case, but it's even better if it follows the nowadays predominant pattern of keeping factories in the plugin's pimpl. Also, it turned out there were two copies of QmlProjectRunconfigurationFactory code, one is enough. Change-Id: I0b28c4ea18d0f52165a49f6133dc8687a3b9c7cf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Move RunControl related classes to separate file pairhjk2019-03-131-0/+1
| | | | | | | | | | Change-Id: I5da56f80336673d595907abcc797f628be680cd5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Split EnvironmentAspecthjk2019-03-111-15/+12
| | | | | | | | | | | | | | | | | | | | | | ... at least logically a bit more into hunks responsible for one of the possible choices of base environments. This makes it possible to move code that modifies individual cases closer to the only place that uses it. Change-Id: I1c87bb869e04e44b92ff097b0bf25274f93808be Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: De-virtualize EnvironmentAspect::baseEnvironmenthjk2019-03-075-119/+32
| | | | | | | | | | | | | | | | | | | | | | | | Will help to streamline *EnvironmentAspect constructor signature, which in turn will help to have a generic cloning mechanism to clone aspect data, which in turn will help to finally execute on the idea that RunControls should be re-runnable in their original setup and also resilient to changes in the setup while they are running. Change-Id: Ibdaca487c1f7ce043e675fd014fe923a70273639 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | QmlProjectManager: Fix QmlProjectRunConfiguration::updateEnabledStatehjk2019-03-041-9/+5
| | | | | | | | | | | | | | Amends 8536504caa21. Change-Id: I20d26dd326dc50609f25de1f04f99a5f1ec186a6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Flip default for ProjectNode::showInSimpleTreehjk2019-03-012-6/+0
| | | | | | | | | | Change-Id: Ibd4f91ad55b2be93d20dfc4f583de95274e981ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Merge Node::isFileNodeType and asFileNodehjk2019-03-011-1/+1
| | | | | | | | | | | | | | They were identifying the same set of nodes. Change-Id: I3316cbc434ff740547bcf0baf9e5f1544f6e3f56 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Replace Node::setNodeType by virtual functionshjk2019-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not the usual direction of change, but currently there are several systems to identify or invoke node functionality. Virtual functions are likely to stay in this context, so this here attempts to help consolidation by reducing the influence of the node type flags, hopefully leading to full removal by making remaining functionality available through the other mechanisms (virtual functions, asFooNode() 'casts', less so the FileType flag). Change-Id: I12a17ce30b3c8883995b29b4720408020ee0fa3e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Replace static_casts by QOverload where possiblehjk2019-02-261-1/+1
| | | | | | | | | | | | | | | | | | Mainly to get rid of the QProcess::finished deprecation warning. Also adjust coding style in the surrounding connects when needed. Change-Id: I12f9b248c7974b892c4a069356e578e80f8c59e9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | ProjectExplorer: Remove FileNode's isGenerated constructor boolhjk2019-02-251-2/+2
| | | | | | | | | | | | | | Use setter of base class, similar to setListInProject() before. Change-Id: Id620f0084a5dec0410f29c80f8f6393a6bcd5050 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | ProjectExplorer: Rename KitInformation to KitAspectChristian Kandeler2019-02-113-10/+10
|/ | | | | | | | | | | The name "KitInformation" does not properly convey the fact that it represents a certain *aspect* of a kit. The same goes for "KitConfigWidget", which in addition was inconsistent with "KitInformation". We now use "KitAspect" and "KitAspectWidget". Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97 Reviewed-by: hjk <hjk@qt.io>
* Fix qbs compileDavid Schulz2019-01-251-0/+1
| | | | | Change-Id: I6a1bb08fffc3e03aff15c30f3d81836d431bc042 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlProject: update mainFile after renaming itTim Jenssen2019-01-233-2/+53
| | | | | | | | | | | | Set mainFile at the QmlProject and replaces the string inside the .qmlproject file. If that file is open and modified just save that, it is not nice but qmake projects haves the same at the moment. Task-number: QTCREATORBUG-10629 Change-Id: Ia3916644bacfc65862802e3dc5361edd50951d35 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* Fix warning: "Don't call QHash::operator[]() on temporary"Alessandro Portale2019-01-171-1/+1
| | | | | | | [-Wclazy-detaching-temporary] Change-Id: Ide503c9260af285fa1dbedb63f7819c8ad616db6 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* QmlProjectManager: ModernizeAlessandro Portale2018-11-309-31/+28
| | | | | | | modernize-* Change-Id: Ic47c32c3fbf96d36f0d64e331eccc8c8e8aef6d2 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* QmlProject: Capitalize consistentlyRobert Loehning2018-10-221-1/+1
| | | | | | Change-Id: I61c5db4008adf0dead0421a2d223a9d4d2586966 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* ProjectExplorer: Remove Run{Control,Configuration}::abihjk2018-10-162-8/+0
| | | | | | | | | | | | | Unused now, and arguably not a valid concept anymore. A run control may consist of different runworkers, 'operating' on different systems. Since the removed RunConfiguration::abi() implementation uses only public Target ABI, user code could revive that locally in case it was needed again. Change-Id: I658c6e88b4a1aec18bf4de91fc86230552bc0710 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Rename 'extraAspect' to 'aspect'hjk2018-10-021-2/+2
| | | | | | | | | Using aspects is the standard pattern nowadays, there's nothing 'extra' to them anymore. Change-Id: I446f9d7b1db58a4899e5e44df33ce51f655e7be4 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Split IRunConfigurationAspecthjk2018-09-181-1/+1
| | | | | | | | | ... into items that can be used generically in project configurations (ProjectConfigurationAspect) and items that have a choice between global and project settings (GlobalOrProjectAspect) Change-Id: I94831237bdbb18c339eb76eba131bf7f928933d6 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Remove IRunConfigurationAspect::runConfigurationhjk2018-09-133-7/+6
| | | | | | | | ... and adapt constructors to not take the now-unneeded RunConfiguration pointer. Change-Id: I53ff338f51334ff7b0c22d4bed92bfcfc8225ea7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Pass macro expander to ArgumentsAspect::argumentshjk2018-09-131-1/+1
| | | | | | | To remove the last user of IRCAspect::runConfiguration. Change-Id: I1390166730112008a4050877f96bb29f274e7ef1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProject: Pass project to MainQmlFileAspect ctorhjk2018-09-121-18/+15
| | | | | | | | This avoids four uses of IRunConfigurationAspect::runConfiguration() which is meant to be removed soon. Change-Id: I7a8f0a09b0a90042b0855b18e5be875bd343268c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProjectManager: Pass target to QmlProjectEnvironmentAspect ctorhjk2018-09-113-6/+10
| | | | | | | | This avoids one use of IRunConfigurationAspect::runConfiguration() which is meant to be removed soon. Change-Id: Ib394a71b6bb7a6c028fc533656454b94895f6451 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProject: Use IRunConfiguration's changed() signalhjk2018-09-112-5/+4
| | | | | | | | | | ... instead of directly accessing the owning runconfig. The removes two uses of IRCAspect::runConfiguration() which is meant to be removed soon. Change-Id: Ia713864f2544e3c6741482b2663ee54fd2ee80e1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProjectManager: Aspect-ify runconfigurationhjk2018-09-106-364/+263
| | | | | | | | Split the remaining manually managed data into a standard ArgumentsAspect and a new MainQmlFileAspect. Change-Id: I8a8fe3f4a08d602a7b6e9c9463d3d7de257b6e6c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProject: Allow different QML viewers per projectUlf Hermann2018-09-053-0/+13
| | | | | Change-Id: I7ca136fe1cf51b8335a15b1b2b7ea838e4859f78 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Compactify runconfiguration aspect creationhjk2018-09-041-1/+1
| | | | | Change-Id: I12394d3df8deb7666be6ac3f112082f915454e82 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-06-111-1/+1
|\ | | | | | | Change-Id: I762dbddb0f337e9a5fc4b113c7876813e9f45c9c
| * Projects: Fix capitalization in messagesLeena Miettinen2018-06-081-1/+1
| | | | | | | | | | Change-Id: I1928fe11a3a23c0577ecc941d259d310a211e86f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | Remove ApplicationLauncher::Modehjk2018-06-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The actual remaining use was to pop up a terminal in some setups where Mode == Console, with a default of Gui meaning "no console". In some downstream uses it was used set to Console (probably to mean "this helper process does not need a gui") but then luckily ignored when actually starting the helper processes. All cases where the console is useful and requested are nowadays RunWorkers belonging to RunConfigurations with a TerminalAspect, so they can directly get the relevant bit from their RunConfiguration without having it part of all StandardRunnables. Change-Id: I1368d5968da5cf672656aebf200ccac8d45335d0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | QmlProject: Remove unnecessary codeTobias Hunger2018-06-012-14/+0
| | | | | | | | | | | | | | The normal RunConfiguration already triggers this. Change-Id: I33f8704e28768efc264a2e2e717284ba7615dc08 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | Tie SimpleTargetRunner desktop usages to individual RunConfigurationshjk2018-05-311-0/+2
|/ | | | | | | | | | This avoids the "catch all" that leads to conflicts with more specific setups like the AppManagerRunConfig, and consequently lets us remove the priorities in the RunWorkerFactories. Change-Id: I382f00ca7f759eef995ac6fe749bb371ab027020 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Finish merging Runnable and StandardRunnablehjk2018-05-232-2/+2
| | | | | | | | | | As all Runnables are known to be StandardRunnables, this here essentially replaces all .is<StandardRunnable> by 'true'. .as<StandardRunnable> by no-op, and fixes the fallout. Change-Id: I1632f8e164fa0a9dff063df47a9e191fdf7bbb2e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Add and use addNestedNode(...) that takes unique_ptrTobias Hunger2018-05-021-2/+2
| | | | | Change-Id: Ieb26721d053111fb350494e31d1f6da3fe642420 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Use unique_ptr for Project::setRootProjectNodeTobias Hunger2018-05-021-2/+2
| | | | | Change-Id: If63a49d0eecfb93adcc6076fcb3208c87603af10 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Pass id to RunConfiguration constructorhjk2018-04-253-5/+5
| | | | | | | | | | | It's what the base class requires, and opens the possibility to have several factories creating the same type of run configuration. Also move ios, winrt and android factories closer to their products, it's the predominant pattern nowadays. Change-Id: Iad48152f02a248d22cb18dd435a2fc34d73c7077 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Hide build page for projects that do not buildTobias Hunger2018-04-192-8/+7
| | | | | Change-Id: I56feaab67690b5ece7379a9c1f676392230de107 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* ProjectExplorer: Report project-specific kit errors/warningsTobias Hunger2018-04-192-35/+27
| | | | | | | | | Report project-specific warnings about the kit used in Project Mode. E.g. a python project should not complain about missing toolchains, while a qmake project should. Change-Id: I5ce6742683cdeffc7ff3f1a3e8f0b89aee9aa0b4 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* ProjectExplorer: Streamline OutputFormatter creation a bithjk2018-04-132-7/+1
| | | | | | | | | | Note that the concept of a single monolithic OutputFormatter per RunConfiguration (and why RunConfiguration, not RunControl to start with?) is unchanged and suboptimal as one cannot easily combine existing use cases, e.g. Python_and_Qt. Change-Id: Ibeb8191020387324f22ed313230293597f96e36a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>