aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/target.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/target.cpp')
-rw-r--r--src/plugins/projectexplorer/target.cpp73
1 files changed, 42 insertions, 31 deletions
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index b3f04c646f..6f898598d6 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -37,6 +37,7 @@
#include "kit.h"
#include "kitinformation.h"
#include "kitmanager.h"
+#include "miniprojecttargetselector.h"
#include "project.h"
#include "projectexplorer.h"
#include "projectexplorericons.h"
@@ -46,8 +47,6 @@
#include <coreplugin/coreconstants.h>
-#include <extensionsystem/pluginmanager.h>
-
#include <utils/algorithm.h>
#include <utils/macroexpander.h>
#include <utils/qtcassert.h>
@@ -150,17 +149,16 @@ Target::Target(Project *project, Kit *k, _constructor_tag) :
connect(km, &KitManager::kitUpdated, this, &Target::handleKitUpdates);
connect(km, &KitManager::kitRemoved, this, &Target::handleKitRemoval);
- Utils::MacroExpander *expander = macroExpander();
- expander->setDisplayName(tr("Target Settings"));
- expander->setAccumulating(true);
+ d->m_macroExpander.setDisplayName(tr("Target Settings"));
+ d->m_macroExpander.setAccumulating(true);
- expander->registerSubProvider([this] { return kit()->macroExpander(); });
+ d->m_macroExpander.registerSubProvider([this] { return kit()->macroExpander(); });
- expander->registerVariable("sourceDir", tr("Source directory"),
+ d->m_macroExpander.registerVariable("sourceDir", tr("Source directory"),
[project] { return project->projectDirectory().toUserOutput(); });
// Legacy support.
- expander->registerVariable(Constants::VAR_CURRENTPROJECT_NAME,
+ d->m_macroExpander.registerVariable(Constants::VAR_CURRENTPROJECT_NAME,
QCoreApplication::translate("ProjectExplorer", "Name of current project"),
[project] { return project->displayName(); },
false);
@@ -234,19 +232,22 @@ DeploymentData Target::buildSystemDeploymentData() const
return buildSystem()->deploymentData();
}
-const QList<BuildTargetInfo> Target::applicationTargets() const
+BuildTargetInfo Target::buildTarget(const QString &buildKey) const
{
QTC_ASSERT(buildSystem(), return {});
- return buildSystem()->applicationTargets();
+ return buildSystem()->buildTarget(buildKey);
}
-BuildTargetInfo Target::buildTarget(const QString &buildKey) const
+QString Target::activeBuildKey() const
{
- QTC_ASSERT(buildSystem(), return {});
- return buildSystem()->buildTarget(buildKey);
+ // Should not happen. If it does, return a buildKey that wont be found in
+ // the project tree, so that the project()->findNodeForBuildKey(buildKey)
+ // returns null.
+ QTC_ASSERT(d->m_activeRunConfiguration, return QString(QChar(0)));
+ return d->m_activeRunConfiguration->buildKey();
}
-Core::Id Target::id() const
+Utils::Id Target::id() const
{
return d->m_kit->id();
}
@@ -261,6 +262,16 @@ QString Target::toolTip() const
return d->m_kit->toHtml();
}
+QString Target::displayNameKey()
+{
+ return QString("ProjectExplorer.ProjectConfiguration.DisplayName");
+}
+
+QString Target::deviceTypeKey()
+{
+ return QString("DeviceType");
+}
+
void Target::addBuildConfiguration(BuildConfiguration *bc)
{
QTC_ASSERT(bc && !d->m_buildConfigurations.contains(bc), return);
@@ -280,7 +291,7 @@ void Target::addBuildConfiguration(BuildConfiguration *bc)
// add it
d->m_buildConfigurations.push_back(bc);
- project()->addedProjectConfiguration(bc);
+ ProjectExplorerPlugin::targetSelector()->addedBuildConfiguration(bc);
emit addedBuildConfiguration(bc);
d->m_buildConfigurationModel.addProjectConfiguration(bc);
@@ -307,7 +318,7 @@ bool Target::removeBuildConfiguration(BuildConfiguration *bc)
}
emit removedBuildConfiguration(bc);
- project()->removedProjectConfiguration(bc);
+ ProjectExplorerPlugin::targetSelector()->removedBuildConfiguration(bc);
d->m_buildConfigurationModel.removeProjectConfiguration(bc);
delete bc;
@@ -349,7 +360,7 @@ void Target::addDeployConfiguration(DeployConfiguration *dc)
// add it
d->m_deployConfigurations.push_back(dc);
- project()->addedProjectConfiguration(dc);
+ ProjectExplorerPlugin::targetSelector()->addedDeployConfiguration(dc);
d->m_deployConfigurationModel.addProjectConfiguration(dc);
emit addedDeployConfiguration(dc);
@@ -377,7 +388,7 @@ bool Target::removeDeployConfiguration(DeployConfiguration *dc)
SetActive::Cascade);
}
- project()->removedProjectConfiguration(dc);
+ ProjectExplorerPlugin::targetSelector()->removedDeployConfiguration(dc);
d->m_deployConfigurationModel.removeProjectConfiguration(dc);
emit removedDeployConfiguration(dc);
@@ -428,7 +439,7 @@ void Target::addRunConfiguration(RunConfiguration *rc)
d->m_runConfigurations.push_back(rc);
- project()->addedProjectConfiguration(rc);
+ ProjectExplorerPlugin::targetSelector()->addedRunConfiguration(rc);
d->m_runConfigurationModel.addProjectConfiguration(rc);
emit addedRunConfiguration(rc);
@@ -450,7 +461,7 @@ void Target::removeRunConfiguration(RunConfiguration *rc)
}
emit removedRunConfiguration(rc);
- project()->removedProjectConfiguration(rc);
+ ProjectExplorerPlugin::targetSelector()->removedRunConfiguration(rc);
d->m_runConfigurationModel.removeProjectConfiguration(rc);
delete rc;
@@ -501,15 +512,15 @@ QVariantMap Target::toMap() const
return QVariantMap();
QVariantMap map;
+ map.insert(displayNameKey(), displayName());
+ map.insert(deviceTypeKey(), DeviceTypeKitAspect::deviceTypeId(kit()).toSetting());
{
// FIXME: For compatibility within the 4.11 cycle, remove this block later.
// This is only read by older versions of Creator, but even there not actively used.
const char CONFIGURATION_ID_KEY[] = "ProjectExplorer.ProjectConfiguration.Id";
- const char DISPLAY_NAME_KEY[] = "ProjectExplorer.ProjectConfiguration.DisplayName";
const char DEFAULT_DISPLAY_NAME_KEY[] = "ProjectExplorer.ProjectConfiguration.DefaultDisplayName";
map.insert(QLatin1String(CONFIGURATION_ID_KEY), id().toSetting());
- map.insert(QLatin1String(DISPLAY_NAME_KEY), displayName());
map.insert(QLatin1String(DEFAULT_DISPLAY_NAME_KEY), displayName());
}
@@ -557,12 +568,12 @@ void Target::updateDefaultDeployConfigurations()
return;
}
- QList<Core::Id> dcIds;
+ QList<Utils::Id> dcIds;
foreach (DeployConfigurationFactory *dcFactory, dcFactories)
dcIds.append(dcFactory->creationId());
QList<DeployConfiguration *> dcList = deployConfigurations();
- QList<Core::Id> toCreate = dcIds;
+ QList<Utils::Id> toCreate = dcIds;
foreach (DeployConfiguration *dc, dcList) {
if (dcIds.contains(dc->id()))
@@ -571,7 +582,7 @@ void Target::updateDefaultDeployConfigurations()
removeDeployConfiguration(dc);
}
- foreach (Core::Id id, toCreate) {
+ foreach (Utils::Id id, toCreate) {
foreach (DeployConfigurationFactory *dcFactory, dcFactories) {
if (dcFactory->creationId() == id) {
DeployConfiguration *dc = dcFactory->create(this);
@@ -614,7 +625,7 @@ void Target::updateDefaultRunConfigurations()
bool present = false;
for (const RunConfigurationCreationInfo &item : creators) {
QString buildKey = rc->buildKey();
- if (item.id == rc->id() && item.buildKey == buildKey) {
+ if (item.factory->runConfigurationId() == rc->id() && item.buildKey == buildKey) {
existing.append(item);
present = true;
}
@@ -632,7 +643,7 @@ void Target::updateDefaultRunConfigurations()
continue;
bool exists = false;
for (const RunConfigurationCreationInfo &ex : existing) {
- if (ex.id == item.id && ex.buildKey == item.buildKey)
+ if (ex.factory == item.factory && ex.buildKey == item.buildKey)
exists = true;
}
if (exists)
@@ -641,7 +652,7 @@ void Target::updateDefaultRunConfigurations()
RunConfiguration *rc = item.create(this);
if (!rc)
continue;
- QTC_CHECK(rc->id() == item.id);
+ QTC_CHECK(rc->id() == item.factory->runConfigurationId());
if (!rc->isConfigured())
newUnconfigured << rc;
else
@@ -725,7 +736,7 @@ void Target::setNamedSettings(const QString &name, const QVariant &value)
d->m_pluginSettings.insert(name, value);
}
-QVariant Target::additionalData(Core::Id id) const
+QVariant Target::additionalData(Utils::Id id) const
{
return buildSystem()->additionalData(id);
}
@@ -837,7 +848,7 @@ bool Target::fromMap(const QVariantMap &map)
QVariantMap valueMap = map.value(key).toMap();
DeployConfiguration *dc = DeployConfigurationFactory::restore(this, valueMap);
if (!dc) {
- Core::Id id = idFromMap(valueMap);
+ Utils::Id id = idFromMap(valueMap);
qWarning("No factory found to restore deployment configuration of id '%s'!",
id.isValid() ? qPrintable(id.toString()) : "UNKNOWN");
continue;
@@ -867,7 +878,7 @@ bool Target::fromMap(const QVariantMap &map)
RunConfiguration *rc = RunConfigurationFactory::restore(this, valueMap);
if (!rc)
continue;
- const Core::Id theIdFromMap = ProjectExplorer::idFromMap(valueMap);
+ const Utils::Id theIdFromMap = ProjectExplorer::idFromMap(valueMap);
if (!theIdFromMap.toString().contains("///::///")) { // Hack for cmake 4.10 -> 4.11
QTC_CHECK(rc->id().withSuffix(rc->buildKey()) == theIdFromMap);
}