Target/Project: Add generic signals for changes in the project configuration tree

Change-Id: Iae0589620a8caf8e3748589b12329608ef3a39da
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-05-02 15:44:14 +02:00
parent d7aa095670
commit f1d735b7dd
4 changed files with 52 additions and 13 deletions

View File

@@ -251,6 +251,11 @@ void Project::addTarget(Target *t)
connect(t, &Target::buildConfigurationEnabledChanged,
this, &Project::changeBuildConfigurationEnabled);
connect(t, &Target::buildDirectoryChanged, this, &Project::onBuildDirectoryChanged);
connect(t, &Target::addedProjectConfiguration, this, &Project::addedProjectConfiguration);
connect(t, &Target::aboutToRemoveProjectConfiguration, this, &Project::aboutToRemoveProjectConfiguration);
connect(t, &Target::removedProjectConfiguration, this, &Project::removedProjectConfiguration);
connect(t, &Target::activeProjectConfigurationChanged, this, &Project::activeProjectConfigurationChanged);
emit addedProjectConfiguration(t);
emit addedTarget(t);
// check activeTarget:
@@ -274,9 +279,11 @@ bool Project::removeTarget(Target *target)
SessionManager::setActiveTarget(this, d->m_targets.at(0), SetActive::Cascade);
}
emit aboutToRemoveProjectConfiguration(target);
emit aboutToRemoveTarget(target);
d->m_targets.removeOne(target);
emit removedTarget(target);
emit removedProjectConfiguration(target);
delete target;
return true;
@@ -297,6 +304,7 @@ void Project::setActiveTarget(Target *target)
if ((!target && !d->m_targets.isEmpty()) ||
(target && d->m_targets.contains(target) && d->m_activeTarget != target)) {
d->m_activeTarget = target;
emit activeProjectConfigurationChanged();
emit activeTargetChanged(d->m_activeTarget);
emit environmentChanged();
emit buildConfigurationEnabledChanged();