Make the slots private now, remove protected as nothing inherits
from Target.
Change-Id: I4aaa4402ef6ee83a27dd6233f188a507e9de8169
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
This is far from perfect but seems to work. Further work could add more
fine grained control over which projects are affected by the automatic
synchronize. Also there might be a few cases where the switching is
over zealous or missing.
Change-Id: I26ad3d59431251564917e4b408c66695dc454823
Task-number: QTCREATORBUG-5823
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
BuildConfiguration asks Target,
Deploy and Run ask either activeBuild, or Target.
Change-Id: I3845cfbd16de7b85268d83b5324865ff24482152
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This was a regression introduced during the macro expander rework.
Task-number: QTCREATORBUG-13260
Change-Id: I9fd28c6a522faa11992931f937dd0b0eb779f419
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Takes a member (function) pointer and a value and returns a functor,
that takes a instance of the mfp's class and returns whether it's equal
to value. Sounds complicated, but is a common pattern that is easy to
understand.
Change-Id: Iaaeb90488d34ddfd6940dadd4c66705381198fee
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Add Utils::transform and anyOf that take a member function pointer.
Remove bestElementOr it's unused.
Use declval<T> in transform's return type, because msvc does evaluate
T() and for types that don't have simple constructor this fails.
Add std::remove_reference since decltype returns a reference for
lvalues.
Change-Id: I22248b226748eeb27af0d300182d574438d7f756
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
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>