summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* ProjectExplorer: Start unifing visual appearance of run config widgetshjk2018-04-101-1/+0
| | | | | | | | Margins and layout style widely differ so far. Start moving everything to a QFormLayout with the same margin and growth policy. Change-Id: I0bd1d8b2ec9830be56354be1376a2a24eebb8845 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: De-qobject-ify RunConfigurationFactoryhjk2018-04-094-5/+5
| | | | | | | | Some translations moved over to the corresponding RunConfigurations, one setParent() replaced by direct deletion. Change-Id: Ib5e527b71353a6be70b332ac2dfd2f5cd2499a60 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QmlProject: Move RunConfigurationFactory close to RunConfigurationhjk2018-04-094-6/+20
| | | | | | | | No need to have a dozen lines of code in a separate translation unit and more in line with what others do nowadays. Change-Id: I765535d1484805bc3005fe23bfd4992a96a80e9c Reviewed-by: hjk <hjk@qt.io>
* QmlProject: simplify codeTim Jenssen2018-04-061-4/+2
| | | | | Change-Id: I3cfee42b63bf840bf2ecde54c5f2d277d7a32e7c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Streamline *EnvironmentAspect interfacehjk2018-04-062-44/+21
| | | | | | | | | | Register code/name combinations together. Also make the otherwise implicitly preferred first entry explicit in the API. Change-Id: I80f68b01d53e2672480365d4efcb9d790b8363fd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QmlProject: Use new helper function to create run configuration widgetshjk2018-03-273-22/+3
| | | | | Change-Id: I471fe60d25bb3d8ca3ebf2d2abe8e725bc7daa56 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/4.6'Eike Ziller2018-03-133-49/+55
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/cmakeprojectmanager/cmakeproject.h src/plugins/debugger/debuggerplugin.cpp src/plugins/ios/iosrunfactories.cpp src/plugins/nim/project/nimproject.h src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp src/plugins/qmakeandroidsupport/qmakeandroidrunfactories.cpp src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp src/plugins/qmlprojectmanager/qmlproject.h src/plugins/qnx/qnxrunconfigurationfactory.cpp src/plugins/qtsupport/exampleslistmodel.cpp src/plugins/winrt/winrtrunfactories.cpp Change-Id: Ib029fdbaa65270426332f5edd6e90264be5fb539
| * QmlProject: Fix selection of supported kitsTobias Hunger2018-03-091-1/+1
| | | | | | | | | | | | | | | | | | This now fixes the auto-selection of kits for me. Task-number: QTCREATORBUG-19717 Change-Id: I39581ab2471211e9553c345164bb3ce788242dad Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
| * QmlProject: Unify selection of supported kitsTobias Hunger2018-03-092-38/+36
| | | | | | | | | | | | Change-Id: Ic33e9688d823bd09664e5dc74fe5253cb5fcbc58 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
| * QmlProject: Clean up environment selectionUlf Hermann2018-03-072-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On desktop you get "system environment" as default now and "clean environment" as option. "kit environment" doesn't make any sense as that is meant for build configurations. On remote Devices you only get "clean environment" because we cannot query the generic remote device for its default environment. However, as the environment was rather random before and it worked, a clean environment will probably not break it. Change-Id: Iab0ed804a21cf77db9e3413926ff710c91561db0 Task-number: QTCREATORBUG-19887 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | Rename IRunConfigurationFactory to RunConfigurationFactoryhjk2018-03-074-6/+6
| | | | | | | | | | | | | | | | | | | | | | It's not an *I*nterface anymore Also, remove the in-all-but-one case unused QObject parent and the object name that was only there for debugging purposes. The class type serves the same purpose in the debugger. Change-Id: I0dafb01e6b4fd7c7df04a63aaa3ef3e4bd693f6f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.6'Eike Ziller2018-03-015-21/+21
|\ \ | |/ | | | | Change-Id: I63f8aebb201936f671b1486ff9420f67e5e3fafc
| * QmlProject: Fix import paths for code modelThomas Hartmann2018-02-263-13/+14
| | | | | | | | | | | | | | | | | | | | | | This fixes a regression introduced by 30638df441515901c6d43b2c67a5ca4a53eaf814. Custom import paths have to be absolute for the code model. Change-Id: I232229fa58c3900fe684ca4529b2ed08bf93e8be Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * QmlProject: Resolve import paths relative to target directoryUlf Hermann2018-02-233-20/+19
| | | | | | | | | | | | | | | | | | | | | | On desktop the target directory is the same as the source directory. On remote devices, it can be different. We need to resolve when we know where to deploy. Change-Id: I3f2bc088476ae73dac5231cb24f277c055f7d044 Task-number: QTCREATORBUG-19888 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | Project: Make setRequiredKitPredicate privateTobias Hunger2018-02-192-2/+2
| | | | | | | | | | | | | | Make calling Project::supportsKit(...) the default implementation. Change-Id: I0e47972097e760e2ff3be229afb85eff839146b8 Reviewed-by: hjk <hjk@qt.io>
* | QmlProjectPlugin: Clean uphjk2018-02-162-22/+11
| | | | | | | | | | | | | | | | | | - Remove unneeded use of global object pool - Remove a few unneeded includes and declarations - Un-export class, it's not used from the outside Change-Id: Iddfcf74b754c936a8adb23c2caa6f7eef6d0e654 Reviewed-by: David Schulz <david.schulz@qt.io>
* | ProjectExplorer: Show non-desktop device names in remote run config nameshjk2018-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | So far we used device type in some cases, not even following a specific pattern. Showing the device name gives a bit more detail in cases of multiple devices of the same type and offers the user a bit more control on what it shown. Change-Id: I2bd6bbd404577db3afca0f84b8a976cb07b1cfd0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | QmlProjectManager: Allow QmlProjectRunconfigurations on non-DesktopUlf Hermann2018-02-081-1/+0
| | | | | | | | | | | | | | | | This is an artificial restriction accidentally added by a previous commit. Change-Id: I6c3273ed3f0b9f223304ecce35e81ed6013ae275 Reviewed-by: hjk <hjk@qt.io>
* | Merge remote-tracking branch 'origin/4.6'Eike Ziller2018-02-076-0/+40
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/coreplugin/locator/locator.cpp src/plugins/imageviewer/imageviewerplugin.cpp src/plugins/remotelinux/remotelinuxplugin.cpp src/tools/clangbackend/source/tokeninfo.cpp tests/unit/unittest/data/highlightingmarks.cpp Change-Id: I74cc3ba3a2836cb9d0e65d3380d8c4f88d720c67
| * QmlProject: Add support for setting the environmentThomas Hartmann2018-02-026-0/+40
| | | | | | | | | | | | | | | | | | | | | | This allows setting arbitrary environment variables in the .qmlproject. This is required for example qtquickcontrols2.conf and QT_AUTO_SCREEN_SCALE_FACTOR. Task-number: QTCREATORBUG-19513 Change-Id: I8421a9fc7f85d24b3564f1b60f383be3838f2af4 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| * QmlProjectManager: Prepare for running on remote devicesUlf Hermann2018-01-298-53/+140
| | | | | | | | | | | | | | | | | | | | We add a "targetDirectory" property to the file format and fill in the deployment data. (cherry picked from commit fba61c5b55052c382e030748fa6e2703abb5401d) Change-Id: If207cd5c77175c54cffdb5df92ea85c425cd3191 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | IRunConfiguration: Remove BuildTargetInfo from the RC factory APIsTobias Hunger2018-02-062-4/+4
| | | | | | | | | | | | Change-Id: I1d77d22a1c1ce1cbcfca8af7855ae7b935ac1c2c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io>
* | QmlProjectManager: Prepare for running on remote devicesUlf Hermann2018-01-238-53/+140
|/ | | | | | | | We add a "targetDirectory" property to the file format and fill in the deployment data. Change-Id: I372f2c9f5f3c4252431963eeab7b8b420f8bccd5 Reviewed-by: hjk <hjk@qt.io>
* Remove qmlsceneCommand() and qmlViewerCommand() from BaseQtVersionUlf Hermann2018-01-082-7/+8
| | | | | | | | | | | | | | | | | | qmlviewer is QtQuick1 and not supported anymore. The qmlscene command is in general not a property of the Qt version but of the target device, as we generally assume Qt binaries to be preinstalled on the target and qmlscene is executed on the target. DesktopQtVersion retains a method to retrieve the qmlscene path as there target == host and having the method available enables us to warn if the binary is missing. Also, QmlProjectManager needs to pick the qmlscene command from the Qt version if it's a desktop Qt. Change-Id: I2ee0f993e60b96d672080db2db0a6abe5ca933e3 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* ProjectExplorer: Add a IRunConfigurationFactory::addFixedBuildTarget()hjk2018-01-032-13/+1
| | | | | | | | | To be used for "special" build targets (Custom executables etc) that do not depend on the project. This reduces user side boiler plate in a couple of cases and is a bit clearer than the magic {QString()} result anyway. Change-Id: I105b6ab952981143b2abf9b218fed30cee80b648 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>