Now that we have 2.0 out we can be less strict when checking
project consistency when loading .user files. The strictness
was necessary due to upgrading non-target projects to target
projects.
* Allow for invalid Qt versions when loading a .user file that was not
updated from the pre-target era.
* Update the UI to show invalid Qt versions as invalid. Remove
the Invalid version as soon as a valid one is imported.
This does preserve the buildsteps, too.
* Enable support for this in all ProjectConfiguration items
(Targets, projects, BCs, DCs, RCs, etc.). This is nicer
than having custom code in individual configuraiton items.
Reviewed-by: dt
The project specific default file encoding would always be
locked to the default encoding when the project is loaded
the first time. This is unexpected and confuses users who
like to change the default encoding in the options dialog but
have never discovered (nor need) the project specific encoding.
The commit solves this by introducing a new value "Default" to
the project specific encoding combo box, which happens to
be the default.
Task-number: QTCREATORBUG-1996
Matthias
* Add a DeployConfiguration class to hold settings related
to deployment.
* Add BuildStepsList to hold a list of buildsteps
* Update BuildConfiguration to use BuildStepLists instead of
manageing lists of buildsteps itself.
* Update BuildManager to use BuildStepLists in its interfaces
* Fix fallout introduced by API changes
* Update .user file to new way of storing settings
Task-number: QTCREATORBUG-1427
Task-number: QTCREATORBUG-1428
Task-number: QTCREATORBUG-1811
Task-number: QTCREATORBUG-1930
* Stop warnings about using QFileInfo without a proper filename.
Turns out that the filename of the project can still be empty
when calling these methods from the new project wizard (before
the first page is done).
* Ease cross device development by introducing 'targets' which
group build- and runsettings that are valid for this one target
Most of the kudos for the code review go to dt. Con, thorbjorn,
ckandler and others did also review parts of this patch.
Reviewed-by: dt
* Use id() for methods returning a string used to represent
some type of object.
* Use displayName() for strings that are meant to be user
visible.
* Quieten some warnings while touching the files anyway.
* Move Factories to their products in the plugins where that
was not done before.
Reviewed-by: dt
...making use of the new code model features. Move code to
separate file. Make it possible to obtain path to generated
header file from project manager.
The project() should in most cases not matter, instead the
BuildConfiguration should. This shows all the information that needs to
move into the BuildConfiguration classes.
Enables users to change which buildsteps get run per buildconfiguration.
Some further tweaks are probably necessary. This is a rather big
change, though it should work. :)