Together with the previous patch this avoids recreating RunConfiguration
widgets for RCs which are about to be removed because they are no longer
valid.
Task-number: QTCREATORBUG-10248
Change-Id: Ia8e394175c1cdef469faa8d117a2736500d928e4
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
... use the current kit name instead (in case it was renamed since
saving the project).
Task-number: QTCREATORBUG-10401
Change-Id: If329d3441eb27a4322cb346849e4b73296d5bf88
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Generalize the target setup page and move it into projectexplorer
Move the qmake specific code into a projectimporter class with
a specialization for qmake projects in the qt4projectmanager.
This change depends heavily on the BuildConfigurationFactory cleanups
done earlier and completes that change in such a way that generic
build configuration factories are now in theory possible. The
remaining problem is how to select the best factory of several that
claim to be able to handle a kit and that is left for the next patch.
Change-Id: I47134cb1938c52adebcdc1ddfe8dbf26abbbbeee
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Refactor the code of the build configuration factories. The idea is to
generalize the code so much that we can allow plugins to install
custom build configuration factories for the platforms they support.
To support this use case the following changes where done here:
* BuildInfo class was introduced to describe one build configuration that
can be created by a factory.
* Factories report a list of BuildInfo to describe what they can produce.
This fixes the need for factories to implicitly create one buildconfiguration
and then create another one 'officially' to support debug and release build
configurations to be set up for projects.
* Do no longer work around factories to create build configurations.
Change-Id: Ic372e4a9b5c582633b467d130538948472b89d91
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
In 0ce0a053 code was added to ensure that if there is a configured
runconfiguration, then it'll be made active. This fixes that code to
work more robustly.
Consider the case:
Two runconfigurations
a) custom executable runconfiguration unconfigured (active)
b) configured qt4runconfiguration
The code in upadteRunConfigurations would put a) into the
existingConfigured list since it is active, b) since it fits.
Thus the code at the end would not change the active runconfiguration,
since existingConfigured.at(0)->isConfigured() would be false.
Consider now the same case, but with the reverse order.
Now the code makes b) active. The ordering between rcs should not
matter.
Also consider that in the second case, the next run of
updateRunConfigurations will remove the now non active unconfigured
runconfiguration.
Change-Id: I98291db4eda22e9dae3e493a8f31c7d9bb5420d6
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
We need to make sure to remove RCs we delete from the lists held in
the updateDefaultRunConfigurations method.
Change-Id: Icf7908af3554e682af6ba9101058cb210e35f999
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Select the RC a bit more sensibly:
* Try to find a RC with the same name as the project first
* If that fails: Take the first RC in the project
Change-Id: I7bb70826259a203c383eadc8dc9c3ac07f53fd6b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The slowness is due to AndroidToolChain::addToEnvironment() being called
a lot on project opening. Thus we need to avoid any file opening or
process on loading.
This patch does 2 things:
a) It removes the call to sdkTargets() which is unneeded. That actually
checks which avds are available.
b) It caches the target sdk inside a named target setting. That means,
we assume that the file does not change behind our backs.
Task-number: QTCREATORBUG-9164
Change-Id: I9287934a0624db0b3e8318b8cf76e605418850c2
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
On initial run we offer the user a choice between all the kits, which
are compatible with the cached generator. After the initial run, the
user can't change kits nor generators anymore.
Except if the builds into a new directory or adds a buildconfiguration,
then the user can choose between generators but not kits.
Task-number: QTCREATORBUG-7940
Task-number: QTCREATORBUG-7928
Change-Id: I9b663435cd2e021f7fe08379c1c487a6aebe8976
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
This makes sure the icon is updated when changing devices in
the kit.
Task-number: QTCREATORBUG-7938
Change-Id: I6d5a07993593084a6226cfa044bb899d74cb5e15
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Rename profiles to kits.
* Update some strings:
* projects mode has a Kits tab, not a Targets tab.
* " Settings" was dropped from the sub-tabs of the Kits tab
* menu entry "Build/Open Build/Run Target Selector" was renamed
to "Build/Open Build and Run Kits Selector".
* Use "Kit" instead of "Target" in miniprojecttargetselector.
(The class was not renamed as it does indeed select targets,
not kits)
Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Also one for changes to the application target list.
This re-enables the RemoteLinux plugin's ability to react to changes in
project files, which has been broken by the removal of the
buildSystemEvaluated() signal from the Project class in
I50249b186917cd3a4f399f187f09ac8428ab6f9e.
Change-Id: I380db69c9396b99423ff305096d4b9f4f17d3075
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
It adds almost nothing and introduced some bugs.
This fixes:
Double evaluation in cmakeproject on build directory changes.
Wrong runconfiguration update in cmake for set_target_properties(target
PROPERTIES OUTPUT_NAME [..]) changes.
Unecessary runconfiguration removal in AutoTools and Generic projectmanager.
Reevaluation of .pro files on changing the active runconfiguration or deploy
configuration.
Task-number: QTCREATORBUG-7723
Task-number: QTCREATORBUG-7761
Change-Id: I50249b186917cd3a4f399f187f09ac8428ab6f9e
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Attach an object containing deployment information
to the target. The respective build system plugins are
responsible for setting up this information. The
Qt4ProjectManager already does that; others should
follow (which is expected to result in gradual
refinements of the design).
The immediate motivation here is to free the
RemoteLinux plugin from the requirement that
qmake must be used for building the projects,
which makes it much less generic than it could
and should be.
Change-Id: I9943787f4e352d014e721082016542b10c8cce90
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Fix non-CustomExecutable RunConfigurations getting removed directly.
Also keep unconfigured RCs around if they are the active RC. This stops
CustomExecutableRCs from disappearing before the user had a chance to
configure them.
Task-number: QTCREATORBUG-7562
Change-Id: Iaa0c8b9f55425857ad326200071abaea2d390c99
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Introduce Profiles to store sets of values that describe a system/device.
These profiles are held by a target, getting rid of much of the information
stored in the Build-/Run-/DeployConfigurations, greatly simplifying those.
This is a squash of the wip/profile branch which has been on gerrit for a
while, rebased to current master.
Change-Id: I25956c8dd4d1962b2134bfaa8a8076ae3909460f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
A connected device might not be ready to use, so introduce another
state for this. The device settings widget is adapted to not only show
the icon, but also the state as string (the icon alone might not be
expressive enough).
Change-Id: I98d351b47a358ea59199e690e4b60f8030578ec6
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Allow to query the DeviceFactory for device types it can create as
well as the display names to use for those types. Also allow to
create any of the supported device types.
The MaddeDeviceFactory makes use of the information to set the correct
type in the wizard.
Change-Id: I8c05ecd467e5bb1b151a84a8d62ef98a57849605
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
By listening to the signal updated() instead of deviceListChanged() we
can't simplify the update. updated() is also emitted when devices are
added or removed.
Change-Id: Ife985f420e2a2904d65185148d0db38b7367b3fd
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
Use Core::Id for all the project related objects in favor of plain
QStrings.
Change-Id: I790ab40cb29899efdb49c413a77609486f52e683
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>