forked from qt-creator/qt-creator
Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
This commit is contained in:
@@ -74,15 +74,6 @@ QString Project::makeUnique(const QString &preferedName, const QStringList &used
|
||||
|
||||
void Project::addBuildConfiguration(BuildConfiguration *configuration)
|
||||
{
|
||||
QStringList buildConfigurationNames;
|
||||
foreach (const BuildConfiguration *bc, buildConfigurations())
|
||||
buildConfigurationNames << bc->name();
|
||||
|
||||
// Check that the internal name is not taken and use a different one otherwise
|
||||
QString configurationName = configuration->name();
|
||||
configurationName = makeUnique(configurationName, buildConfigurationNames);
|
||||
configuration->setName(configurationName);
|
||||
|
||||
// Check that we don't have a configuration with the same displayName
|
||||
QString configurationDisplayName = configuration->displayName();
|
||||
QStringList displayNames;
|
||||
@@ -94,7 +85,7 @@ void Project::addBuildConfiguration(BuildConfiguration *configuration)
|
||||
// add it
|
||||
m_buildConfigurationValues.push_back(configuration);
|
||||
|
||||
emit addedBuildConfiguration(this, configuration->name());
|
||||
emit addedBuildConfiguration(this, configuration);
|
||||
}
|
||||
|
||||
void Project::removeBuildConfiguration(BuildConfiguration *configuration)
|
||||
@@ -105,7 +96,7 @@ void Project::removeBuildConfiguration(BuildConfiguration *configuration)
|
||||
|
||||
m_buildConfigurationValues.removeOne(configuration);
|
||||
|
||||
emit removedBuildConfiguration(this, configuration->name());
|
||||
emit removedBuildConfiguration(this, configuration);
|
||||
delete configuration;
|
||||
}
|
||||
|
||||
@@ -133,7 +124,7 @@ bool Project::restoreSettings()
|
||||
if (!restoreSettingsImpl(reader))
|
||||
return false;
|
||||
|
||||
if (m_activeBuildConfiguration.isEmpty() && !m_buildConfigurationValues.isEmpty())
|
||||
if (m_activeBuildConfiguration && !m_buildConfigurationValues.isEmpty())
|
||||
setActiveBuildConfiguration(m_buildConfigurationValues.at(0));
|
||||
|
||||
if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty())
|
||||
@@ -148,47 +139,50 @@ QList<BuildConfigWidget*> Project::subConfigWidgets()
|
||||
|
||||
void Project::saveSettingsImpl(PersistentSettingsWriter &writer)
|
||||
{
|
||||
writer.saveValue("activebuildconfiguration", m_activeBuildConfiguration);
|
||||
const QList<BuildConfiguration *> bcs = buildConfigurations();
|
||||
|
||||
// For compability with older versions the "name" is saved as a string instead of a number
|
||||
writer.saveValue("activebuildconfiguration", QString::number(bcs.indexOf(m_activeBuildConfiguration)));
|
||||
//save m_values
|
||||
writer.saveValue("project", m_values);
|
||||
|
||||
//save buildsettings
|
||||
QStringList buildConfigurationNames;
|
||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
||||
QMap<QString, QVariant> temp = bc->toMap();
|
||||
writer.saveValue("buildConfiguration-" + bc->name(), temp);
|
||||
buildConfigurationNames << bc->name();
|
||||
for(int i=0; i < bcs.size(); ++i) {
|
||||
QMap<QString, QVariant> temp = bcs.at(i)->toMap();
|
||||
writer.saveValue("buildConfiguration-" + QString::number(i), temp);
|
||||
buildConfigurationNames << QString::number(i);
|
||||
}
|
||||
writer.saveValue("buildconfigurations", buildConfigurationNames);
|
||||
|
||||
// save each buildstep/buildConfiguration combination
|
||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
||||
for(int i=0; i < bcs.size(); ++i) {
|
||||
QStringList buildStepNames;
|
||||
foreach (BuildStep *buildStep, bc->buildSteps())
|
||||
foreach (BuildStep *buildStep, bcs.at(i)->buildSteps())
|
||||
buildStepNames << buildStep->name();
|
||||
writer.saveValue("buildconfiguration-" + bc->name() + "-buildsteps", buildStepNames);
|
||||
writer.saveValue("buildconfiguration-" + QString::number(i) + "-buildsteps", buildStepNames);
|
||||
|
||||
int buildstepnr = 0;
|
||||
foreach (BuildStep *buildStep, bc->buildSteps()) {
|
||||
foreach (BuildStep *buildStep, bcs.at(i)->buildSteps()) {
|
||||
QMap<QString, QVariant> temp;
|
||||
buildStep->storeIntoLocalMap(temp);
|
||||
writer.saveValue("buildconfiguration-" + bc->name() + "-buildstep" + QString().setNum(buildstepnr), temp);
|
||||
writer.saveValue("buildconfiguration-" + QString::number(i) + "-buildstep" + QString().setNum(buildstepnr), temp);
|
||||
++buildstepnr;
|
||||
}
|
||||
}
|
||||
|
||||
// save each cleanstep/buildConfiguration combination
|
||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
||||
for(int i=0; i < bcs.size(); ++i) {
|
||||
QStringList cleanStepNames;
|
||||
foreach (BuildStep *cleanStep, bc->cleanSteps())
|
||||
foreach (BuildStep *cleanStep, bcs.at(i)->cleanSteps())
|
||||
cleanStepNames << cleanStep->name();
|
||||
writer.saveValue("buildconfiguration-" + bc->name() + "-cleansteps", cleanStepNames);
|
||||
writer.saveValue("buildconfiguration-" + QString::number(i) + "-cleansteps", cleanStepNames);
|
||||
|
||||
int cleanstepnr = 0;
|
||||
foreach (BuildStep *cleanStep, bc->cleanSteps()) {
|
||||
foreach (BuildStep *cleanStep, bcs.at(i)->cleanSteps()) {
|
||||
QMap<QString, QVariant> temp;
|
||||
cleanStep->storeIntoLocalMap(temp);
|
||||
writer.saveValue("buildconfiguration-" + bc->name() + "-cleanstep" + QString().setNum(cleanstepnr), temp);
|
||||
writer.saveValue("buildconfiguration-" + QString::number(i) + "-cleanstep" + QString().setNum(cleanstepnr), temp);
|
||||
++cleanstepnr;
|
||||
}
|
||||
}
|
||||
@@ -212,8 +206,6 @@ void Project::saveSettingsImpl(PersistentSettingsWriter &writer)
|
||||
|
||||
bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
{
|
||||
m_activeBuildConfiguration = reader.restoreValue("activebuildconfiguration").toString();
|
||||
|
||||
m_values = reader.restoreValue("project").toMap();
|
||||
|
||||
const QList<IBuildStepFactory *> buildStepFactories =
|
||||
@@ -221,15 +213,16 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
|
||||
// restoring BuldConfigurations from settings
|
||||
const QStringList buildConfigurationNames = reader.restoreValue("buildconfigurations").toStringList();
|
||||
|
||||
foreach (const QString &buildConfigurationName, buildConfigurationNames) {
|
||||
BuildConfiguration *bc = buildConfigurationFactory()->restore(buildConfigurationName);
|
||||
BuildConfiguration *bc = buildConfigurationFactory()->restore();
|
||||
|
||||
QMap<QString, QVariant> temp =
|
||||
reader.restoreValue("buildConfiguration-" + buildConfigurationName).toMap();
|
||||
bc->setValuesFromMap(temp);
|
||||
|
||||
// Restore build steps
|
||||
QVariant buildStepsValueVariant = reader.restoreValue("buildconfiguration-" + bc->name() + "-buildsteps");
|
||||
QVariant buildStepsValueVariant = reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-buildsteps");
|
||||
if(buildStepsValueVariant.isValid()) {
|
||||
int pos = 0;
|
||||
QStringList buildStepNames = buildStepsValueVariant.toStringList();
|
||||
@@ -248,7 +241,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
buildStep->restoreFromGlobalMap(buildStepValues);
|
||||
buildStepValues =
|
||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
buildStep->restoreFromLocalMap(buildStepValues);
|
||||
bc->insertBuildStep(pos, buildStep);
|
||||
++pos;
|
||||
@@ -256,7 +249,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
}
|
||||
}
|
||||
// Restore clean steps
|
||||
QVariant cleanStepsValueVariant = reader.restoreValue("buildconfiguration-" + bc->name() + "-cleansteps");
|
||||
QVariant cleanStepsValueVariant = reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-cleansteps");
|
||||
if(cleanStepsValueVariant.isValid()) {
|
||||
int pos = 0;
|
||||
QStringList cleanStepNames = cleanStepsValueVariant.toStringList();
|
||||
@@ -275,7 +268,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
cleanStep->restoreFromGlobalMap(buildStepValues);
|
||||
buildStepValues =
|
||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
cleanStep->restoreFromLocalMap(buildStepValues);
|
||||
bc->insertCleanStep(pos, cleanStep);
|
||||
++pos;
|
||||
@@ -284,6 +277,10 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
}
|
||||
}
|
||||
|
||||
// Set Active Configuration
|
||||
QString activeConfigurationName = reader.restoreValue("activebuildconfiguration").toString();
|
||||
m_activeBuildConfiguration = buildConfigurations().at(buildConfigurationNames.indexOf(activeConfigurationName));
|
||||
|
||||
//Build Settings
|
||||
QVariant buildStepsVariant = reader.restoreValue("buildsteps");
|
||||
if (buildStepsVariant.isValid()) {
|
||||
@@ -302,13 +299,14 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
}
|
||||
}
|
||||
if (factory) {
|
||||
foreach(BuildConfiguration *bc, buildConfigurations()) {
|
||||
buildStep = factory->create(bc, buildStepName);
|
||||
bc->insertBuildStep(pos, buildStep);
|
||||
const QList<BuildConfiguration *> &bcs = buildConfigurations();
|
||||
for(int i = 0; i < bcs.size(); ++i) {
|
||||
buildStep = factory->create(bcs.at(i), buildStepName);
|
||||
bcs.at(i)->insertBuildStep(pos, buildStep);
|
||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
buildStep->restoreFromGlobalMap(buildStepValues);
|
||||
buildStepValues =
|
||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
reader.restoreValue("buildconfiguration-" + QString::number(i) + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||
buildStep->restoreFromLocalMap(buildStepValues);
|
||||
}
|
||||
++pos;
|
||||
@@ -334,13 +332,14 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||
}
|
||||
|
||||
if (factory) {
|
||||
foreach(BuildConfiguration *bc, buildConfigurations()) {
|
||||
cleanStep = factory->create(bc, cleanStepName);
|
||||
bc->insertCleanStep(pos, cleanStep);
|
||||
const QList<BuildConfiguration *> &bcs = buildConfigurations();
|
||||
for (int i = 0; i < bcs.size(); ++i) {
|
||||
cleanStep = factory->create(bcs.at(i), cleanStepName);
|
||||
bcs.at(i)->insertCleanStep(pos, cleanStep);
|
||||
QMap<QString, QVariant> cleanStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
cleanStep->restoreFromGlobalMap(cleanStepValues);
|
||||
QMap<QString, QVariant> buildStepValues =
|
||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
reader.restoreValue("buildconfiguration-" + QString::number(i) + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||
cleanStep->restoreFromLocalMap(buildStepValues);
|
||||
}
|
||||
++pos;
|
||||
@@ -396,23 +395,15 @@ QVariant Project::value(const QString &name) const
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
BuildConfiguration *Project::buildConfiguration(const QString &name) const
|
||||
{
|
||||
for (int i = 0; i != m_buildConfigurationValues.size(); ++i)
|
||||
if (m_buildConfigurationValues.at(i)->name() == name)
|
||||
return m_buildConfigurationValues.at(i);
|
||||
return 0;
|
||||
}
|
||||
|
||||
BuildConfiguration *Project::activeBuildConfiguration() const
|
||||
{
|
||||
return buildConfiguration(m_activeBuildConfiguration); //TODO
|
||||
return m_activeBuildConfiguration; //TODO
|
||||
}
|
||||
|
||||
void Project::setActiveBuildConfiguration(BuildConfiguration *configuration)
|
||||
{
|
||||
if (m_activeBuildConfiguration != configuration->name() && m_buildConfigurationValues.contains(configuration)) {
|
||||
m_activeBuildConfiguration = configuration->name();
|
||||
if (m_activeBuildConfiguration != configuration && m_buildConfigurationValues.contains(configuration)) {
|
||||
m_activeBuildConfiguration = configuration;
|
||||
emit activeBuildConfigurationChanged();
|
||||
}
|
||||
}
|
||||
@@ -486,7 +477,7 @@ void Project::setDisplayNameFor(BuildConfiguration *configuration, const QString
|
||||
|
||||
configuration->setDisplayName(displayName);
|
||||
|
||||
emit buildConfigurationDisplayNameChanged(configuration->name());
|
||||
emit buildConfigurationDisplayNameChanged(configuration);
|
||||
}
|
||||
|
||||
QByteArray Project::predefinedMacros(const QString &) const
|
||||
|
||||
Reference in New Issue
Block a user