QTC_ASSERT(!target(t->id()), return); Q_ASSERT(t->project() == this); // Check that we don't have a configuration with the same displayName QString targetDisplayName = t->displayName(); QStringList displayNames; foreach (const Target *target, d->m_targets) displayNames << target->displayName(); targetDisplayName = makeUnique(targetDisplayName, displayNames); t->setDefaultDisplayName(targetDisplayName); // add it d->m_targets.push_back(t); connect(t, SIGNAL(environmentChanged()), SLOT(changeEnvironment())); connect(t, SIGNAL(buildConfigurationEnabledChanged()), this, SLOT(changeBuildConfigurationEnabled())); emit addedTarget(t); // check activeTarget: if (activeTarget() == 0) setActiveTarget(t); } void Project::removeTarget(Target *target) { QTC_ASSERT(target && d->m_targets.contains(target), return); emit aboutToRemoveTarget(target); d->m_targets.removeOne(target);
void Project::changeBuildConfigurationEnabled() { Target *t = qobject_cast<Target *>(sender()); if (t == activeTarget()) emit buildConfigurationEnabledChanged(); }
void Target::changeBuildConfigurationEnabled() { BuildConfiguration *bc = qobject_cast<BuildConfiguration *>(sender()); if (bc == activeBuildConfiguration()) emit buildConfigurationEnabledChanged(); }