forked from qt-creator/qt-creator
Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
This commit is contained in:
@@ -33,14 +33,14 @@
|
|||||||
using namespace CMakeProjectManager;
|
using namespace CMakeProjectManager;
|
||||||
using namespace Internal;
|
using namespace Internal;
|
||||||
|
|
||||||
CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro, const QString &name)
|
CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro)
|
||||||
: BuildConfiguration(pro, name)
|
: BuildConfiguration(pro)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeBuildConfiguration::CMakeBuildConfiguration(const QString &name, BuildConfiguration *source)
|
CMakeBuildConfiguration::CMakeBuildConfiguration(BuildConfiguration *source)
|
||||||
: BuildConfiguration(name, source)
|
: BuildConfiguration(source)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -40,8 +40,8 @@ class CMakeProject;
|
|||||||
class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CMakeBuildConfiguration(CMakeProject *pro, const QString &name);
|
CMakeBuildConfiguration(CMakeProject *pro);
|
||||||
CMakeBuildConfiguration(const QString &name, BuildConfiguration *source);
|
CMakeBuildConfiguration(BuildConfiguration *source);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -41,7 +41,7 @@ using namespace CMakeProjectManager;
|
|||||||
using namespace CMakeProjectManager::Internal;
|
using namespace CMakeProjectManager::Internal;
|
||||||
|
|
||||||
CMakeBuildEnvironmentWidget::CMakeBuildEnvironmentWidget(CMakeProject *project)
|
CMakeBuildEnvironmentWidget::CMakeBuildEnvironmentWidget(CMakeProject *project)
|
||||||
: BuildConfigWidget(), m_pro(project)
|
: BuildConfigWidget(), m_pro(project), m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||||
vbox->setMargin(0);
|
vbox->setMargin(0);
|
||||||
@@ -63,29 +63,26 @@ QString CMakeBuildEnvironmentWidget::displayName() const
|
|||||||
return tr("Build Environment");
|
return tr("Build Environment");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeBuildEnvironmentWidget::init(const QString &buildConfigurationName)
|
void CMakeBuildEnvironmentWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "Qt4BuildConfigWidget::init()";
|
qDebug() << "Qt4BuildConfigWidget::init()";
|
||||||
|
|
||||||
m_buildConfiguration = buildConfigurationName;
|
m_buildConfiguration = bc;
|
||||||
|
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfigurationName);
|
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(m_buildConfiguration));
|
||||||
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(bc));
|
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(bc));
|
|
||||||
m_buildEnvironmentWidget->updateButtons();
|
m_buildEnvironmentWidget->updateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeBuildEnvironmentWidget::environmentModelUserChangesUpdated()
|
void CMakeBuildEnvironmentWidget::environmentModelUserChangesUpdated()
|
||||||
{
|
{
|
||||||
m_pro->setUserEnvironmentChanges(
|
m_pro->setUserEnvironmentChanges(m_buildConfiguration, m_buildEnvironmentWidget->userChanges());
|
||||||
m_pro->buildConfiguration(m_buildConfiguration), m_buildEnvironmentWidget->userChanges());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeBuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
|
void CMakeBuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
m_pro->setUseSystemEnvironment(m_buildConfiguration, !checked);
|
||||||
m_pro->setUseSystemEnvironment(bc, !checked);
|
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ public:
|
|||||||
CMakeBuildEnvironmentWidget(CMakeProject *project);
|
CMakeBuildEnvironmentWidget(CMakeProject *project);
|
||||||
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
void init(const QString &buildConfiguration);
|
void init(ProjectExplorer::BuildConfiguration *bc);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void environmentModelUserChangesUpdated();
|
void environmentModelUserChangesUpdated();
|
||||||
@@ -61,7 +61,7 @@ private:
|
|||||||
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
|
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
|
||||||
QCheckBox *m_clearSystemEnvironmentCheckBox;
|
QCheckBox *m_clearSystemEnvironmentCheckBox;
|
||||||
CMakeProject *m_pro;
|
CMakeProject *m_pro;
|
||||||
QString m_buildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -104,7 +104,8 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
|
|||||||
&ok);
|
&ok);
|
||||||
if (!ok || buildConfigurationName.isEmpty())
|
if (!ok || buildConfigurationName.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
BuildConfiguration *bc = new CMakeBuildConfiguration(m_project, buildConfigurationName);
|
BuildConfiguration *bc = new CMakeBuildConfiguration(m_project);
|
||||||
|
bc->setDisplayName(buildConfigurationName);
|
||||||
|
|
||||||
MakeStep *makeStep = new MakeStep(bc);
|
MakeStep *makeStep = new MakeStep(bc);
|
||||||
bc->insertBuildStep(0, makeStep);
|
bc->insertBuildStep(0, makeStep);
|
||||||
@@ -133,17 +134,17 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
|
|||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *CMakeBuildConfigurationFactory::clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const
|
BuildConfiguration *CMakeBuildConfigurationFactory::clone(ProjectExplorer::BuildConfiguration *source) const
|
||||||
{
|
{
|
||||||
CMakeBuildConfiguration *old = static_cast<CMakeBuildConfiguration *>(source);
|
CMakeBuildConfiguration *old = static_cast<CMakeBuildConfiguration *>(source);
|
||||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(name, old);
|
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(old);
|
||||||
m_project->addBuildConfiguration(bc);
|
m_project->addBuildConfiguration(bc);
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *CMakeBuildConfigurationFactory::restore(const QString &name) const
|
BuildConfiguration *CMakeBuildConfigurationFactory::restore() const
|
||||||
{
|
{
|
||||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(m_project, name);
|
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(m_project);
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +591,7 @@ void CMakeProject::setUseSystemEnvironment(BuildConfiguration *configuration, bo
|
|||||||
if (b == useSystemEnvironment(configuration))
|
if (b == useSystemEnvironment(configuration))
|
||||||
return;
|
return;
|
||||||
configuration->setValue("clearSystemEnvironment", !b);
|
configuration->setValue("clearSystemEnvironment", !b);
|
||||||
emit environmentChanged(configuration->name());
|
emit environmentChanged(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMakeProject::useSystemEnvironment(BuildConfiguration *configuration) const
|
bool CMakeProject::useSystemEnvironment(BuildConfiguration *configuration) const
|
||||||
@@ -611,7 +612,7 @@ void CMakeProject::setUserEnvironmentChanges(BuildConfiguration *configuration,
|
|||||||
if (list == configuration->value("userEnvironmentChanges"))
|
if (list == configuration->value("userEnvironmentChanges"))
|
||||||
return;
|
return;
|
||||||
configuration->setValue("userEnvironmentChanges", list);
|
configuration->setValue("userEnvironmentChanges", list);
|
||||||
emit environmentChanged(configuration->name());
|
emit environmentChanged(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CMakeProject::buildDirectory(BuildConfiguration *configuration) const
|
QString CMakeProject::buildDirectory(BuildConfiguration *configuration) const
|
||||||
@@ -664,7 +665,8 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader
|
|||||||
if (copw.exec() != QDialog::Accepted)
|
if (copw.exec() != QDialog::Accepted)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this, "all");
|
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this);
|
||||||
|
bc->setDisplayName("all");
|
||||||
addBuildConfiguration(bc);
|
addBuildConfiguration(bc);
|
||||||
bc->setValue("msvcVersion", copw.msvcVersion());
|
bc->setValue("msvcVersion", copw.msvcVersion());
|
||||||
if (!copw.buildDirectory().isEmpty())
|
if (!copw.buildDirectory().isEmpty())
|
||||||
@@ -792,7 +794,7 @@ void CMakeFile::modified(ReloadBehavior *behavior)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeProject *project)
|
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeProject *project)
|
||||||
: m_project(project)
|
: m_project(project), m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QFormLayout *fl = new QFormLayout(this);
|
QFormLayout *fl = new QFormLayout(this);
|
||||||
fl->setContentsMargins(20, -1, 0, -1);
|
fl->setContentsMargins(20, -1, 0, -1);
|
||||||
@@ -821,10 +823,9 @@ QString CMakeBuildSettingsWidget::displayName() const
|
|||||||
return "CMake";
|
return "CMake";
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
|
void CMakeBuildSettingsWidget::init(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
m_buildConfiguration = buildConfigurationName;
|
m_buildConfiguration = bc;
|
||||||
BuildConfiguration *bc = m_project->buildConfiguration(buildConfigurationName);
|
|
||||||
m_pathLineEdit->setText(m_project->buildDirectory(bc));
|
m_pathLineEdit->setText(m_project->buildDirectory(bc));
|
||||||
if (m_project->buildDirectory(bc) == m_project->sourceDirectory())
|
if (m_project->buildDirectory(bc) == m_project->sourceDirectory())
|
||||||
m_changeButton->setEnabled(false);
|
m_changeButton->setEnabled(false);
|
||||||
@@ -834,14 +835,13 @@ void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
|
|||||||
|
|
||||||
void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
|
void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
|
||||||
{
|
{
|
||||||
BuildConfiguration *bc = m_project->buildConfiguration(m_buildConfiguration);
|
|
||||||
CMakeOpenProjectWizard copw(m_project->projectManager(),
|
CMakeOpenProjectWizard copw(m_project->projectManager(),
|
||||||
m_project->sourceDirectory(),
|
m_project->sourceDirectory(),
|
||||||
m_project->buildDirectory(bc),
|
m_project->buildDirectory(m_buildConfiguration),
|
||||||
m_project->environment(bc));
|
m_project->environment(m_buildConfiguration));
|
||||||
if (copw.exec() == QDialog::Accepted) {
|
if (copw.exec() == QDialog::Accepted) {
|
||||||
m_project->changeBuildDirectory(bc, copw.buildDirectory());
|
m_project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory());
|
||||||
m_pathLineEdit->setText(m_project->buildDirectory(bc));
|
m_pathLineEdit->setText(m_project->buildDirectory(m_buildConfiguration));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -74,8 +74,8 @@ public:
|
|||||||
QString displayNameForType(const QString &type) const;
|
QString displayNameForType(const QString &type) const;
|
||||||
|
|
||||||
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
||||||
ProjectExplorer::BuildConfiguration *clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const;
|
ProjectExplorer::BuildConfiguration *clone(ProjectExplorer::BuildConfiguration *source) const;
|
||||||
ProjectExplorer::BuildConfiguration *restore(const QString &name) const;
|
ProjectExplorer::BuildConfiguration *restore() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CMakeProject *m_project;
|
CMakeProject *m_project;
|
||||||
@@ -232,14 +232,14 @@ public:
|
|||||||
|
|
||||||
// This is called to set up the config widget before showing it
|
// This is called to set up the config widget before showing it
|
||||||
// buildConfiguration is QString::null for the non buildConfiguration specific page
|
// buildConfiguration is QString::null for the non buildConfiguration specific page
|
||||||
virtual void init(const QString &buildConfiguration);
|
virtual void init(ProjectExplorer::BuildConfiguration *bc);
|
||||||
private slots:
|
private slots:
|
||||||
void openChangeBuildDirectoryDialog();
|
void openChangeBuildDirectoryDialog();
|
||||||
private:
|
private:
|
||||||
CMakeProject *m_project;
|
CMakeProject *m_project;
|
||||||
QLineEdit *m_pathLineEdit;
|
QLineEdit *m_pathLineEdit;
|
||||||
QPushButton *m_changeButton;
|
QPushButton *m_changeButton;
|
||||||
QString m_buildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -58,7 +58,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(CMakeProject *pro, const QString &t
|
|||||||
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
|
|
||||||
connect(pro, SIGNAL(environmentChanged(QString)),
|
connect(pro, SIGNAL(environmentChanged(ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -202,7 +202,8 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
|
|||||||
fl->addRow(tr("Targets:"), m_targetsList);
|
fl->addRow(tr("Targets:"), m_targetsList);
|
||||||
|
|
||||||
// TODO update this list also on rescans of the CMakeLists.txt
|
// TODO update this list also on rescans of the CMakeLists.txt
|
||||||
CMakeProject *pro = m_makeStep->project();
|
// TODO shouldn't be accessing project
|
||||||
|
CMakeProject *pro = static_cast<CMakeProject *>(m_makeStep->buildConfiguration()->project());
|
||||||
foreach(const QString& target, pro->targets()) {
|
foreach(const QString& target, pro->targets()) {
|
||||||
QListWidgetItem *item = new QListWidgetItem(target, m_targetsList);
|
QListWidgetItem *item = new QListWidgetItem(target, m_targetsList);
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||||
@@ -251,11 +252,10 @@ void MakeStepConfigWidget::updateDetails()
|
|||||||
{
|
{
|
||||||
QStringList arguments = m_makeStep->m_buildTargets;
|
QStringList arguments = m_makeStep->m_buildTargets;
|
||||||
arguments << m_makeStep->additionalArguments();
|
arguments << m_makeStep->additionalArguments();
|
||||||
m_summaryText = tr("<b>Make:</b> %1 %2")
|
|
||||||
.arg(m_makeStep->project()->toolChain(
|
BuildConfiguration *bc = m_makeStep->buildConfiguration();
|
||||||
m_makeStep->buildConfiguration())
|
CMakeProject *pro = static_cast<CMakeProject *>(bc->project());
|
||||||
->makeCommand(),
|
m_summaryText = tr("<b>Make:</b> %1 %2").arg(pro->toolChain(bc)->makeCommand(), arguments.join(" "));
|
||||||
arguments.join(" "));
|
|
||||||
emit updateSummary();
|
emit updateSummary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -34,14 +34,14 @@ using namespace GenericProjectManager;
|
|||||||
using namespace GenericProjectManager::Internal;
|
using namespace GenericProjectManager::Internal;
|
||||||
using ProjectExplorer::BuildConfiguration;
|
using ProjectExplorer::BuildConfiguration;
|
||||||
|
|
||||||
GenericBuildConfiguration::GenericBuildConfiguration(GenericProject *pro, const QString &name)
|
GenericBuildConfiguration::GenericBuildConfiguration(GenericProject *pro)
|
||||||
: BuildConfiguration(pro, name)
|
: BuildConfiguration(pro)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GenericBuildConfiguration::GenericBuildConfiguration(const QString &name, GenericBuildConfiguration *source)
|
GenericBuildConfiguration::GenericBuildConfiguration(GenericBuildConfiguration *source)
|
||||||
: BuildConfiguration(name, source)
|
: BuildConfiguration(source)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -41,8 +41,8 @@ class GenericProject;
|
|||||||
class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GenericBuildConfiguration(GenericProject *pro, const QString &name);
|
GenericBuildConfiguration(GenericProject *pro);
|
||||||
GenericBuildConfiguration(const QString &name, GenericBuildConfiguration *source);
|
GenericBuildConfiguration(GenericBuildConfiguration *source);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace GenericProjectManager
|
} // namespace GenericProjectManager
|
||||||
|
@@ -146,7 +146,8 @@ BuildConfiguration *GenericBuildConfigurationFactory::create(const QString &type
|
|||||||
&ok);
|
&ok);
|
||||||
if (!ok || buildConfigurationName.isEmpty())
|
if (!ok || buildConfigurationName.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
GenericBuildConfiguration *bc = new GenericBuildConfiguration(m_project, buildConfigurationName);
|
GenericBuildConfiguration *bc = new GenericBuildConfiguration(m_project);
|
||||||
|
bc->setDisplayName(buildConfigurationName);
|
||||||
m_project->addBuildConfiguration(bc); // also makes the name unique...
|
m_project->addBuildConfiguration(bc); // also makes the name unique...
|
||||||
|
|
||||||
GenericMakeStep *makeStep = new GenericMakeStep(bc);
|
GenericMakeStep *makeStep = new GenericMakeStep(bc);
|
||||||
@@ -155,17 +156,17 @@ BuildConfiguration *GenericBuildConfigurationFactory::create(const QString &type
|
|||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *GenericBuildConfigurationFactory::clone(const QString &name, BuildConfiguration *source) const
|
BuildConfiguration *GenericBuildConfigurationFactory::clone(BuildConfiguration *source) const
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
GenericBuildConfiguration *bc = new GenericBuildConfiguration(name, static_cast<GenericBuildConfiguration *>(source));
|
GenericBuildConfiguration *bc = new GenericBuildConfiguration(static_cast<GenericBuildConfiguration *>(source));
|
||||||
m_project->addBuildConfiguration(bc);
|
m_project->addBuildConfiguration(bc);
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *GenericBuildConfigurationFactory::restore(const QString &name) const
|
BuildConfiguration *GenericBuildConfigurationFactory::restore() const
|
||||||
{
|
{
|
||||||
GenericBuildConfiguration *bc = new GenericBuildConfiguration(m_project, name);
|
GenericBuildConfiguration *bc = new GenericBuildConfiguration(m_project);
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,7 +534,8 @@ bool GenericProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsRead
|
|||||||
Project::restoreSettingsImpl(reader);
|
Project::restoreSettingsImpl(reader);
|
||||||
|
|
||||||
if (buildConfigurations().isEmpty()) {
|
if (buildConfigurations().isEmpty()) {
|
||||||
GenericBuildConfiguration *bc = new GenericBuildConfiguration(this, "all");
|
GenericBuildConfiguration *bc = new GenericBuildConfiguration(this);
|
||||||
|
bc->setDisplayName("all");
|
||||||
addBuildConfiguration(bc);
|
addBuildConfiguration(bc);
|
||||||
|
|
||||||
GenericMakeStep *makeStep = new GenericMakeStep(bc);
|
GenericMakeStep *makeStep = new GenericMakeStep(bc);
|
||||||
@@ -589,7 +591,7 @@ void GenericProject::saveSettingsImpl(ProjectExplorer::PersistentSettingsWriter
|
|||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericProject *project)
|
GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericProject *project)
|
||||||
: m_project(project)
|
: m_project(project), m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QFormLayout *fl = new QFormLayout(this);
|
QFormLayout *fl = new QFormLayout(this);
|
||||||
fl->setContentsMargins(0, -1, 0, -1);
|
fl->setContentsMargins(0, -1, 0, -1);
|
||||||
@@ -625,15 +627,15 @@ GenericBuildSettingsWidget::~GenericBuildSettingsWidget()
|
|||||||
QString GenericBuildSettingsWidget::displayName() const
|
QString GenericBuildSettingsWidget::displayName() const
|
||||||
{ return tr("Generic Manager"); }
|
{ return tr("Generic Manager"); }
|
||||||
|
|
||||||
void GenericBuildSettingsWidget::init(const QString &buildConfigurationName)
|
void GenericBuildSettingsWidget::init(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
m_buildConfiguration = buildConfigurationName;
|
m_buildConfiguration = bc;
|
||||||
m_pathChooser->setPath(m_project->buildDirectory(m_project->buildConfiguration(buildConfigurationName)));
|
m_pathChooser->setPath(m_project->buildDirectory(bc));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericBuildSettingsWidget::buildDirectoryChanged()
|
void GenericBuildSettingsWidget::buildDirectoryChanged()
|
||||||
{
|
{
|
||||||
m_project->buildConfiguration(m_buildConfiguration)->setValue("buildDirectory", m_pathChooser->path());
|
m_buildConfiguration->setValue("buildDirectory", m_pathChooser->path());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericBuildSettingsWidget::toolChainSelected(int index)
|
void GenericBuildSettingsWidget::toolChainSelected(int index)
|
||||||
|
@@ -67,8 +67,8 @@ public:
|
|||||||
QString displayNameForType(const QString &type) const;
|
QString displayNameForType(const QString &type) const;
|
||||||
|
|
||||||
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
||||||
ProjectExplorer::BuildConfiguration *clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const;
|
ProjectExplorer::BuildConfiguration *clone(ProjectExplorer::BuildConfiguration *source) const;
|
||||||
ProjectExplorer::BuildConfiguration *restore(const QString &name) const;
|
ProjectExplorer::BuildConfiguration *restore() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
GenericProject *m_project;
|
GenericProject *m_project;
|
||||||
@@ -195,7 +195,7 @@ public:
|
|||||||
|
|
||||||
virtual QString displayName() const;
|
virtual QString displayName() const;
|
||||||
|
|
||||||
virtual void init(const QString &buildConfiguration);
|
virtual void init(ProjectExplorer::BuildConfiguration *bc);
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void buildDirectoryChanged();
|
void buildDirectoryChanged();
|
||||||
@@ -204,7 +204,7 @@ private Q_SLOTS:
|
|||||||
private:
|
private:
|
||||||
GenericProject *m_project;
|
GenericProject *m_project;
|
||||||
Utils::PathChooser *m_pathChooser;
|
Utils::PathChooser *m_pathChooser;
|
||||||
QString m_buildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -44,14 +44,14 @@ IBuildStepFactory *findFactory(const QString &name)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration::BuildConfiguration(Project *pro, const QString &name)
|
BuildConfiguration::BuildConfiguration(Project *pro)
|
||||||
: m_name(name), m_project(pro)
|
: m_project(pro)
|
||||||
{
|
{
|
||||||
setDisplayName(name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration::BuildConfiguration(const QString &name, BuildConfiguration *source)
|
BuildConfiguration::BuildConfiguration(BuildConfiguration *source)
|
||||||
: m_values(source->m_values), m_name(name), m_project(source->m_project)
|
: m_values(source->m_values), m_project(source->m_project)
|
||||||
{
|
{
|
||||||
foreach(BuildStep *originalbs, source->buildSteps()) {
|
foreach(BuildStep *originalbs, source->buildSteps()) {
|
||||||
IBuildStepFactory *factory = findFactory(originalbs->name());
|
IBuildStepFactory *factory = findFactory(originalbs->name());
|
||||||
@@ -71,16 +71,6 @@ BuildConfiguration::~BuildConfiguration()
|
|||||||
qDeleteAll(m_cleanSteps);
|
qDeleteAll(m_cleanSteps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfiguration::setName(const QString &name)
|
|
||||||
{
|
|
||||||
m_name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString BuildConfiguration::name() const
|
|
||||||
{
|
|
||||||
return m_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString BuildConfiguration::displayName() const
|
QString BuildConfiguration::displayName() const
|
||||||
{
|
{
|
||||||
QVariant v = value("ProjectExplorer.BuildConfiguration.DisplayName");
|
QVariant v = value("ProjectExplorer.BuildConfiguration.DisplayName");
|
||||||
|
@@ -53,7 +53,6 @@ public:
|
|||||||
// ctors are protected
|
// ctors are protected
|
||||||
virtual ~BuildConfiguration();
|
virtual ~BuildConfiguration();
|
||||||
|
|
||||||
QString name() const;
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
void setDisplayName(const QString &name);
|
void setDisplayName(const QString &name);
|
||||||
|
|
||||||
@@ -77,19 +76,15 @@ public:
|
|||||||
Project *project() const;
|
Project *project() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
BuildConfiguration(Project * project, const QString &name);
|
BuildConfiguration(Project * project);
|
||||||
BuildConfiguration(const QString &name, BuildConfiguration *source);
|
BuildConfiguration(BuildConfiguration *source);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setName(const QString &name);
|
|
||||||
|
|
||||||
QList<BuildStep *> m_buildSteps;
|
QList<BuildStep *> m_buildSteps;
|
||||||
QList<BuildStep *> m_cleanSteps;
|
QList<BuildStep *> m_cleanSteps;
|
||||||
|
|
||||||
QHash<QString, QVariant> m_values;
|
QHash<QString, QVariant> m_values;
|
||||||
QString m_name;
|
|
||||||
Project *m_project;
|
Project *m_project;
|
||||||
friend class Project; // for setName
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT IBuildConfigurationFactory : public QObject
|
class PROJECTEXPLORER_EXPORT IBuildConfigurationFactory : public QObject
|
||||||
@@ -110,24 +105,21 @@ public:
|
|||||||
virtual BuildConfiguration *create(const QString &type) const = 0;
|
virtual BuildConfiguration *create(const QString &type) const = 0;
|
||||||
|
|
||||||
// clones a given BuildConfiguration and adds it to the project
|
// clones a given BuildConfiguration and adds it to the project
|
||||||
virtual BuildConfiguration *clone(const QString &name, BuildConfiguration *source) const = 0;
|
virtual BuildConfiguration *clone(BuildConfiguration *source) const = 0;
|
||||||
|
|
||||||
// restores a BuildConfiguration with the name and adds it to the project
|
// restores a BuildConfiguration with the name and adds it to the project
|
||||||
virtual BuildConfiguration *restore(const QString &name) const = 0;
|
virtual BuildConfiguration *restore() const = 0;
|
||||||
|
|
||||||
|
|
||||||
// TODO All those methods make the internal name (and display name) unique,
|
// TODO All those methods make the internal name (and display name) unique,
|
||||||
// but in different ways
|
// but in different ways
|
||||||
|
|
||||||
|
|
||||||
// to come:
|
|
||||||
// restore
|
|
||||||
// clone
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void availableCreationTypesChanged();
|
void availableCreationTypesChanged();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(ProjectExplorer::BuildConfiguration *);
|
||||||
|
|
||||||
#endif // BUILDCONFIGURATION_H
|
#endif // BUILDCONFIGURATION_H
|
||||||
|
@@ -351,56 +351,40 @@ void BuildManager::buildQueueAppend(BuildStep * bs)
|
|||||||
incrementActiveBuildSteps(bs->buildConfiguration()->project());
|
incrementActiveBuildSteps(bs->buildConfiguration()->project());
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildManager::buildProjects(const QList<Project *> &projects, const QList<QString> &configurations)
|
void BuildManager::buildProjects(const QList<BuildConfiguration *> &configurations)
|
||||||
{
|
{
|
||||||
Q_ASSERT(projects.count() == configurations.count());
|
foreach(BuildConfiguration *bc, configurations) {
|
||||||
QList<QString>::const_iterator cit = configurations.constBegin();
|
|
||||||
QList<Project *>::const_iterator it, end;
|
|
||||||
end = projects.constEnd();
|
|
||||||
|
|
||||||
for (it = projects.constBegin(); it != end; ++it, ++cit) {
|
|
||||||
if (*cit != QString::null) {
|
|
||||||
BuildConfiguration *bc = (*it)->buildConfiguration(*cit);
|
|
||||||
QList<BuildStep *> buildSteps = bc->buildSteps();
|
QList<BuildStep *> buildSteps = bc->buildSteps();
|
||||||
foreach (BuildStep *bs, buildSteps) {
|
foreach (BuildStep *bs, buildSteps) {
|
||||||
buildQueueAppend(bs);
|
buildQueueAppend(bs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (ProjectExplorerPlugin::instance()->projectExplorerSettings().showCompilerOutput)
|
if (ProjectExplorerPlugin::instance()->projectExplorerSettings().showCompilerOutput)
|
||||||
m_outputWindow->popup(false);
|
m_outputWindow->popup(false);
|
||||||
startBuildQueue();
|
startBuildQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildManager::cleanProjects(const QList<Project *> &projects, const QList<QString> &configurations)
|
void BuildManager::cleanProjects(const QList<BuildConfiguration *> &configurations)
|
||||||
{
|
{
|
||||||
Q_ASSERT(projects.count() == configurations.count());
|
foreach(BuildConfiguration *bc, configurations) {
|
||||||
QList<QString>::const_iterator cit = configurations.constBegin();
|
|
||||||
QList<Project *>::const_iterator it, end;
|
|
||||||
end = projects.constEnd();
|
|
||||||
|
|
||||||
for (it = projects.constBegin(); it != end; ++it, ++cit) {
|
|
||||||
if (*cit != QString::null) {
|
|
||||||
BuildConfiguration *bc = (*it)->buildConfiguration(*cit);
|
|
||||||
QList<BuildStep *> cleanSteps = bc->cleanSteps();
|
QList<BuildStep *> cleanSteps = bc->cleanSteps();
|
||||||
foreach (BuildStep *bs, cleanSteps) {
|
foreach (BuildStep *bs, cleanSteps) {
|
||||||
buildQueueAppend(bs);
|
buildQueueAppend(bs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (ProjectExplorerPlugin::instance()->projectExplorerSettings().showCompilerOutput)
|
if (ProjectExplorerPlugin::instance()->projectExplorerSettings().showCompilerOutput)
|
||||||
m_outputWindow->popup(false);
|
m_outputWindow->popup(false);
|
||||||
startBuildQueue();
|
startBuildQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildManager::buildProject(Project *p, const QString &configuration)
|
void BuildManager::buildProject(BuildConfiguration *configuration)
|
||||||
{
|
{
|
||||||
buildProjects(QList<Project *>() << p, QList<QString>() << configuration);
|
buildProjects(QList<BuildConfiguration *>() << configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildManager::cleanProject(Project *p, const QString &configuration)
|
void BuildManager::cleanProject(BuildConfiguration *configuration)
|
||||||
{
|
{
|
||||||
cleanProjects(QList<Project *>() << p, QList<QString>() << configuration);
|
cleanProjects(QList<BuildConfiguration *>() << configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildManager::appendStep(BuildStep *step)
|
void BuildManager::appendStep(BuildStep *step)
|
||||||
|
@@ -49,6 +49,7 @@ namespace Internal {
|
|||||||
class BuildStep;
|
class BuildStep;
|
||||||
class Project;
|
class Project;
|
||||||
class ProjectExplorerPlugin;
|
class ProjectExplorerPlugin;
|
||||||
|
class BuildConfiguration;
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT BuildManager
|
class PROJECTEXPLORER_EXPORT BuildManager
|
||||||
: public QObject
|
: public QObject
|
||||||
@@ -70,10 +71,10 @@ public:
|
|||||||
void gotoTaskWindow();
|
void gotoTaskWindow();
|
||||||
|
|
||||||
//TODO these should take buildconfiguration object
|
//TODO these should take buildconfiguration object
|
||||||
void buildProject(Project *p, const QString &configuration);
|
void buildProject(BuildConfiguration *bc);
|
||||||
void buildProjects(const QList<Project *> &projects, const QList<QString> &configurations);
|
void buildProjects(const QList<BuildConfiguration *> &configurations);
|
||||||
void cleanProject(Project *p, const QString &configuration);
|
void cleanProject(BuildConfiguration *configuration);
|
||||||
void cleanProjects(const QList<Project *> &projects, const QList<QString> &configurations);
|
void cleanProjects(const QList<BuildConfiguration *> &configurations);
|
||||||
bool isBuilding(Project *p);
|
bool isBuilding(Project *p);
|
||||||
|
|
||||||
// Append any build step to the list of build steps (currently only used to add the QMakeStep)
|
// Append any build step to the list of build steps (currently only used to add the QMakeStep)
|
||||||
|
@@ -153,7 +153,7 @@ BuildSettingsWidget::~BuildSettingsWidget()
|
|||||||
}
|
}
|
||||||
|
|
||||||
BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
||||||
: m_project(project)
|
: m_project(project), m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||||
vbox->setContentsMargins(0, -1, 0, -1);
|
vbox->setContentsMargins(0, -1, 0, -1);
|
||||||
@@ -189,7 +189,7 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
m_addButton->setMenu(m_addButtonMenu);
|
m_addButton->setMenu(m_addButtonMenu);
|
||||||
updateAddButtonMenu();
|
updateAddButtonMenu();
|
||||||
|
|
||||||
m_buildConfiguration = m_project->activeBuildConfiguration()->name();
|
m_buildConfiguration = m_project->activeBuildConfiguration();
|
||||||
|
|
||||||
connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
|
connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
|
||||||
this, SLOT(makeActive()));
|
this, SLOT(makeActive()));
|
||||||
@@ -200,8 +200,8 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
connect(m_removeButton, SIGNAL(clicked()),
|
connect(m_removeButton, SIGNAL(clicked()),
|
||||||
this, SLOT(deleteConfiguration()));
|
this, SLOT(deleteConfiguration()));
|
||||||
|
|
||||||
connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
|
connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
this, SLOT(buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *)));
|
||||||
|
|
||||||
connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
|
connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SLOT(checkMakeActiveLabel()));
|
this, SLOT(checkMakeActiveLabel()));
|
||||||
@@ -214,7 +214,7 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
|
|
||||||
void BuildSettingsWidget::makeActive()
|
void BuildSettingsWidget::makeActive()
|
||||||
{
|
{
|
||||||
m_project->setActiveBuildConfiguration(m_project->buildConfiguration(m_buildConfiguration));
|
m_project->setActiveBuildConfiguration(m_buildConfiguration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::updateAddButtonMenu()
|
void BuildSettingsWidget::updateAddButtonMenu()
|
||||||
@@ -231,11 +231,11 @@ void BuildSettingsWidget::updateAddButtonMenu()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::buildConfigurationDisplayNameChanged(const QString &buildConfiguration)
|
void BuildSettingsWidget::buildConfigurationDisplayNameChanged(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
for (int i=0; i<m_buildConfigurationComboBox->count(); ++i) {
|
for (int i=0; i<m_buildConfigurationComboBox->count(); ++i) {
|
||||||
if (m_buildConfigurationComboBox->itemData(i).toString() == buildConfiguration) {
|
if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == bc) {
|
||||||
m_buildConfigurationComboBox->setItemText(i, m_project->buildConfiguration(buildConfiguration)->displayName());
|
m_buildConfigurationComboBox->setItemText(i, bc->displayName());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,8 +267,8 @@ void BuildSettingsWidget::updateBuildSettings()
|
|||||||
|
|
||||||
// Add tree items
|
// Add tree items
|
||||||
foreach (const BuildConfiguration *bc, m_project->buildConfigurations()) {
|
foreach (const BuildConfiguration *bc, m_project->buildConfigurations()) {
|
||||||
m_buildConfigurationComboBox->addItem(bc->displayName(), bc->name());
|
m_buildConfigurationComboBox->addItem(bc->displayName(), bc);
|
||||||
if (bc->name() == m_buildConfiguration)
|
if (bc == m_buildConfiguration)
|
||||||
m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
|
m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,14 +281,14 @@ void BuildSettingsWidget::updateBuildSettings()
|
|||||||
|
|
||||||
void BuildSettingsWidget::currentIndexChanged(int index)
|
void BuildSettingsWidget::currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
m_buildConfiguration = m_buildConfigurationComboBox->itemData(index).toString();
|
m_buildConfiguration = (BuildConfiguration *) m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
||||||
activeBuildConfigurationChanged();
|
activeBuildConfigurationChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::activeBuildConfigurationChanged()
|
void BuildSettingsWidget::activeBuildConfigurationChanged()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
||||||
if (m_buildConfigurationComboBox->itemData(i).toString() == m_buildConfiguration) {
|
if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == m_buildConfiguration) {
|
||||||
m_buildConfigurationComboBox->setCurrentIndex(i);
|
m_buildConfigurationComboBox->setCurrentIndex(i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -304,10 +304,8 @@ void BuildSettingsWidget::activeBuildConfigurationChanged()
|
|||||||
void BuildSettingsWidget::checkMakeActiveLabel()
|
void BuildSettingsWidget::checkMakeActiveLabel()
|
||||||
{
|
{
|
||||||
m_makeActiveLabel->setVisible(false);
|
m_makeActiveLabel->setVisible(false);
|
||||||
if (!m_project->activeBuildConfiguration() || m_project->activeBuildConfiguration()->name() != m_buildConfiguration) {
|
if (!m_project->activeBuildConfiguration() || m_project->activeBuildConfiguration() != m_buildConfiguration) {
|
||||||
BuildConfiguration *bc = m_project->buildConfiguration(m_buildConfiguration);
|
m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(m_buildConfiguration->displayName()));
|
||||||
QTC_ASSERT(bc, return);
|
|
||||||
m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(bc->displayName()));
|
|
||||||
m_makeActiveLabel->setVisible(true);
|
m_makeActiveLabel->setVisible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -316,64 +314,55 @@ void BuildSettingsWidget::createConfiguration()
|
|||||||
{
|
{
|
||||||
QAction *action = qobject_cast<QAction *>(sender());
|
QAction *action = qobject_cast<QAction *>(sender());
|
||||||
const QString &type = action->data().toString();
|
const QString &type = action->data().toString();
|
||||||
if (m_project->buildConfigurationFactory()->create(type)) {
|
BuildConfiguration *bc = m_project->buildConfigurationFactory()->create(type);
|
||||||
// TODO switching to last buildconfiguration in list might not be what we want
|
if (bc) {
|
||||||
m_buildConfiguration = m_project->buildConfigurations().last()->name();
|
m_buildConfiguration = bc;
|
||||||
updateBuildSettings();
|
updateBuildSettings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::cloneConfiguration()
|
void BuildSettingsWidget::cloneConfiguration()
|
||||||
{
|
{
|
||||||
const QString configuration = m_buildConfigurationComboBox->itemData(m_buildConfigurationComboBox->currentIndex()).toString();
|
int index = m_buildConfigurationComboBox->currentIndex();
|
||||||
cloneConfiguration(configuration);
|
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
||||||
|
cloneConfiguration(bc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::deleteConfiguration()
|
void BuildSettingsWidget::deleteConfiguration()
|
||||||
{
|
{
|
||||||
const QString configuration = m_buildConfigurationComboBox->itemData(m_buildConfigurationComboBox->currentIndex()).toString();
|
int index = m_buildConfigurationComboBox->currentIndex();
|
||||||
deleteConfiguration(configuration);
|
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
||||||
|
deleteConfiguration(bc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::cloneConfiguration(const QString &sourceConfiguration)
|
void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfiguration)
|
||||||
{
|
{
|
||||||
if (sourceConfiguration.isEmpty())
|
if (!sourceConfiguration)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QString newBuildConfiguration = QInputDialog::getText(this, tr("Clone configuration"), tr("New Configuration Name:"));
|
QString newDisplayName = QInputDialog::getText(this, tr("Clone configuration"), tr("New Configuration Name:"));
|
||||||
if (newBuildConfiguration.isEmpty())
|
if (newDisplayName.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QString newDisplayName = newBuildConfiguration;
|
|
||||||
QStringList buildConfigurationDisplayNames;
|
QStringList buildConfigurationDisplayNames;
|
||||||
foreach(BuildConfiguration *bc, m_project->buildConfigurations())
|
foreach(BuildConfiguration *bc, m_project->buildConfigurations())
|
||||||
buildConfigurationDisplayNames << bc->displayName();
|
buildConfigurationDisplayNames << bc->displayName();
|
||||||
newDisplayName = Project::makeUnique(newDisplayName, buildConfigurationDisplayNames);
|
newDisplayName = Project::makeUnique(newDisplayName, buildConfigurationDisplayNames);
|
||||||
|
|
||||||
QStringList buildConfigurationNames;
|
m_buildConfiguration = m_project->buildConfigurationFactory()->clone(sourceConfiguration);
|
||||||
foreach(BuildConfiguration *bc, m_project->buildConfigurations())
|
m_project->setDisplayNameFor(m_buildConfiguration, newDisplayName);
|
||||||
buildConfigurationNames << bc->name();
|
|
||||||
|
|
||||||
newBuildConfiguration = Project::makeUnique(newBuildConfiguration, buildConfigurationNames);
|
|
||||||
|
|
||||||
BuildConfiguration *sourceBc = m_project->buildConfiguration(sourceConfiguration);
|
|
||||||
|
|
||||||
m_project->buildConfigurationFactory()->clone(newBuildConfiguration, sourceBc);
|
|
||||||
|
|
||||||
m_project->setDisplayNameFor(m_project->buildConfiguration(newBuildConfiguration), newDisplayName);
|
|
||||||
|
|
||||||
m_buildConfiguration = newBuildConfiguration;
|
|
||||||
updateBuildSettings();
|
updateBuildSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::deleteConfiguration(const QString &deleteConfiguration)
|
void BuildSettingsWidget::deleteConfiguration(BuildConfiguration *deleteConfiguration)
|
||||||
{
|
{
|
||||||
if (deleteConfiguration.isEmpty() || m_project->buildConfigurations().size() <= 1)
|
if (!deleteConfiguration || m_project->buildConfigurations().size() <= 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (m_project->activeBuildConfiguration()->name() == deleteConfiguration) {
|
if (m_project->activeBuildConfiguration() == deleteConfiguration) {
|
||||||
foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
|
foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
|
||||||
if (bc->name() != deleteConfiguration) {
|
if (bc != deleteConfiguration) {
|
||||||
m_project->setActiveBuildConfiguration(bc);
|
m_project->setActiveBuildConfiguration(bc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -381,15 +370,15 @@ void BuildSettingsWidget::deleteConfiguration(const QString &deleteConfiguration
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (m_buildConfiguration == deleteConfiguration) {
|
if (m_buildConfiguration == deleteConfiguration) {
|
||||||
foreach (const BuildConfiguration *bc, m_project->buildConfigurations()) {
|
foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
|
||||||
if (bc->name() != deleteConfiguration) {
|
if (bc != deleteConfiguration) {
|
||||||
m_buildConfiguration = bc->name();
|
m_buildConfiguration = bc;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_project->removeBuildConfiguration(m_project->buildConfiguration(deleteConfiguration));
|
m_project->removeBuildConfiguration(deleteConfiguration);
|
||||||
|
|
||||||
updateBuildSettings();
|
updateBuildSettings();
|
||||||
}
|
}
|
||||||
|
@@ -42,6 +42,7 @@
|
|||||||
namespace ProjectExplorer {
|
namespace ProjectExplorer {
|
||||||
|
|
||||||
class IBuildStepFactory;
|
class IBuildStepFactory;
|
||||||
|
class BuildConfiguration;
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
@@ -93,7 +94,7 @@ public:
|
|||||||
~BuildSettingsWidget();
|
~BuildSettingsWidget();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void buildConfigurationDisplayNameChanged(const QString &buildConfiguration);
|
void buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *bc);
|
||||||
void updateBuildSettings();
|
void updateBuildSettings();
|
||||||
void currentIndexChanged(int index);
|
void currentIndexChanged(int index);
|
||||||
void activeBuildConfigurationChanged();
|
void activeBuildConfigurationChanged();
|
||||||
@@ -106,15 +107,15 @@ private slots:
|
|||||||
void makeActive();
|
void makeActive();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void cloneConfiguration(const QString &toClone);
|
void cloneConfiguration(ProjectExplorer::BuildConfiguration *toClone);
|
||||||
void deleteConfiguration(const QString &toDelete);
|
void deleteConfiguration(ProjectExplorer::BuildConfiguration *toDelete);
|
||||||
|
|
||||||
Project *m_project;
|
Project *m_project;
|
||||||
QPushButton *m_addButton;
|
QPushButton *m_addButton;
|
||||||
QPushButton *m_removeButton;
|
QPushButton *m_removeButton;
|
||||||
QComboBox *m_buildConfigurationComboBox;
|
QComboBox *m_buildConfigurationComboBox;
|
||||||
BuildSettingsSubWidgets *m_subWidgets;
|
BuildSettingsSubWidgets *m_subWidgets;
|
||||||
QString m_buildConfiguration;
|
BuildConfiguration *m_buildConfiguration;
|
||||||
QMenu *m_addButtonMenu;
|
QMenu *m_addButtonMenu;
|
||||||
QLabel *m_makeActiveLabel;
|
QLabel *m_makeActiveLabel;
|
||||||
};
|
};
|
||||||
|
@@ -44,7 +44,7 @@ BuildStep::BuildStep(BuildConfiguration *bc)
|
|||||||
BuildStep::BuildStep(BuildStep *bs, BuildConfiguration *bc)
|
BuildStep::BuildStep(BuildStep *bs, BuildConfiguration *bc)
|
||||||
: m_buildConfiguration(bc)
|
: m_buildConfiguration(bc)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(bs);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildStep::~BuildStep()
|
BuildStep::~BuildStep()
|
||||||
|
@@ -155,7 +155,7 @@ public:
|
|||||||
virtual QString displayName() const = 0;
|
virtual QString displayName() const = 0;
|
||||||
|
|
||||||
// This is called to set up the config widget before showing it
|
// This is called to set up the config widget before showing it
|
||||||
virtual void init(const QString &buildConfiguration) = 0;
|
virtual void init(BuildConfiguration *bc) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT BuildStepConfigWidget
|
class PROJECTEXPLORER_EXPORT BuildStepConfigWidget
|
||||||
|
@@ -110,7 +110,7 @@ QString BuildStepsPage::displayName() const
|
|||||||
return m_clean ? tr("Clean Steps") : tr("Build Steps");
|
return m_clean ? tr("Clean Steps") : tr("Build Steps");
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildStepsPage::init(const QString &buildConfiguration)
|
void BuildStepsPage::init(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
foreach(BuildStepsWidgetStruct s, m_buildSteps) {
|
foreach(BuildStepsWidgetStruct s, m_buildSteps) {
|
||||||
delete s.widget;
|
delete s.widget;
|
||||||
@@ -118,8 +118,7 @@ void BuildStepsPage::init(const QString &buildConfiguration)
|
|||||||
}
|
}
|
||||||
m_buildSteps.clear();
|
m_buildSteps.clear();
|
||||||
|
|
||||||
m_configuration = buildConfiguration;
|
m_configuration = bc;
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
|
||||||
|
|
||||||
const QList<BuildStep *> &steps = m_clean ? bc->cleanSteps() : bc->buildSteps();
|
const QList<BuildStep *> &steps = m_clean ? bc->cleanSteps() : bc->buildSteps();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -214,7 +213,7 @@ void BuildStepsPage::addBuildStepWidget(int pos, BuildStep *step)
|
|||||||
void BuildStepsPage::addBuildStep()
|
void BuildStepsPage::addBuildStep()
|
||||||
{
|
{
|
||||||
if (QAction *action = qobject_cast<QAction *>(sender())) {
|
if (QAction *action = qobject_cast<QAction *>(sender())) {
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
BuildConfiguration *bc = m_configuration;
|
||||||
QPair<QString, IBuildStepFactory *> pair = m_addBuildStepHash.value(action);
|
QPair<QString, IBuildStepFactory *> pair = m_addBuildStepHash.value(action);
|
||||||
BuildStep *newStep = pair.second->create(bc, pair.first);
|
BuildStep *newStep = pair.second->create(bc, pair.first);
|
||||||
int pos = m_clean ? bc->cleanSteps().count() : bc->buildSteps().count();
|
int pos = m_clean ? bc->cleanSteps().count() : bc->buildSteps().count();
|
||||||
@@ -232,8 +231,7 @@ void BuildStepsPage::updateRemoveBuildStepMenu()
|
|||||||
{
|
{
|
||||||
QMenu *menu = m_removeButton->menu();
|
QMenu *menu = m_removeButton->menu();
|
||||||
menu->clear();
|
menu->clear();
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
const QList<BuildStep *> &steps = m_clean ? m_configuration->cleanSteps() : m_configuration->buildSteps();
|
||||||
const QList<BuildStep *> &steps = m_clean ? bc->cleanSteps() : bc->buildSteps();
|
|
||||||
foreach(BuildStep *step, steps) {
|
foreach(BuildStep *step, steps) {
|
||||||
QAction *action = menu->addAction(step->displayName());
|
QAction *action = menu->addAction(step->displayName());
|
||||||
if (step->immutable())
|
if (step->immutable())
|
||||||
@@ -248,8 +246,7 @@ void BuildStepsPage::removeBuildStep()
|
|||||||
QAction *action = qobject_cast<QAction *>(sender());
|
QAction *action = qobject_cast<QAction *>(sender());
|
||||||
if (action) {
|
if (action) {
|
||||||
int pos = m_removeButton->menu()->actions().indexOf(action);
|
int pos = m_removeButton->menu()->actions().indexOf(action);
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
const QList<BuildStep *> &steps = m_clean ? m_configuration->cleanSteps() : m_configuration->buildSteps();
|
||||||
const QList<BuildStep *> &steps = m_clean ? bc->cleanSteps() : bc->buildSteps();
|
|
||||||
if (steps.at(pos)->immutable())
|
if (steps.at(pos)->immutable())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -257,7 +254,7 @@ void BuildStepsPage::removeBuildStep()
|
|||||||
delete s.widget;
|
delete s.widget;
|
||||||
delete s.detailsWidget;
|
delete s.detailsWidget;
|
||||||
m_buildSteps.removeAt(pos);
|
m_buildSteps.removeAt(pos);
|
||||||
m_clean ? bc->removeCleanStep(pos) : bc->removeBuildStep(pos);
|
m_clean ? m_configuration->removeCleanStep(pos) : m_configuration->removeBuildStep(pos);
|
||||||
}
|
}
|
||||||
updateBuildStepButtonsState();
|
updateBuildStepButtonsState();
|
||||||
}
|
}
|
||||||
@@ -304,8 +301,7 @@ void BuildStepsPage::downBuildStep()
|
|||||||
|
|
||||||
void BuildStepsPage::stepMoveUp(int pos)
|
void BuildStepsPage::stepMoveUp(int pos)
|
||||||
{
|
{
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
m_clean ? m_configuration->moveCleanStepUp(pos) : m_configuration->moveBuildStepUp(pos);
|
||||||
m_clean ? bc->moveCleanStepUp(pos) : bc->moveBuildStepUp(pos);
|
|
||||||
|
|
||||||
m_vbox->insertWidget(pos - 1, m_buildSteps.at(pos).detailsWidget);
|
m_vbox->insertWidget(pos - 1, m_buildSteps.at(pos).detailsWidget);
|
||||||
|
|
||||||
@@ -316,8 +312,7 @@ void BuildStepsPage::stepMoveUp(int pos)
|
|||||||
|
|
||||||
void BuildStepsPage::updateBuildStepButtonsState()
|
void BuildStepsPage::updateBuildStepButtonsState()
|
||||||
{
|
{
|
||||||
BuildConfiguration *bc = m_pro->buildConfiguration(m_configuration);
|
const QList<BuildStep *> &steps = m_clean ? m_configuration->cleanSteps() : m_configuration->buildSteps();
|
||||||
const QList<BuildStep *> &steps = m_clean ? bc->cleanSteps() : bc->buildSteps();
|
|
||||||
for(int i=0; i<m_buildSteps.count(); ++i) {
|
for(int i=0; i<m_buildSteps.count(); ++i) {
|
||||||
BuildStepsWidgetStruct s = m_buildSteps.at(i);
|
BuildStepsWidgetStruct s = m_buildSteps.at(i);
|
||||||
s.upButton->setEnabled((i>0) && !(steps.at(i)->immutable() && steps.at(i - 1)));
|
s.upButton->setEnabled((i>0) && !(steps.at(i)->immutable() && steps.at(i - 1)));
|
||||||
|
@@ -71,7 +71,7 @@ public:
|
|||||||
virtual ~BuildStepsPage();
|
virtual ~BuildStepsPage();
|
||||||
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
void init(const QString &buildConfiguration);
|
void init(BuildConfiguration *bc);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateAddBuildStepMenu();
|
void updateAddBuildStepMenu();
|
||||||
@@ -88,7 +88,7 @@ private:
|
|||||||
void addBuildStepWidget(int pos, BuildStep *step);
|
void addBuildStepWidget(int pos, BuildStep *step);
|
||||||
|
|
||||||
Project *m_pro;
|
Project *m_pro;
|
||||||
QString m_configuration;
|
BuildConfiguration *m_configuration;
|
||||||
QHash<QAction *, QPair<QString, ProjectExplorer::IBuildStepFactory *> > m_addBuildStepHash;
|
QHash<QAction *, QPair<QString, ProjectExplorer::IBuildStepFactory *> > m_addBuildStepHash;
|
||||||
bool m_clean;
|
bool m_clean;
|
||||||
|
|
||||||
|
@@ -251,7 +251,7 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Project *pro)
|
|||||||
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
|
|
||||||
connect(pro, SIGNAL(environmentChanged(QString)),
|
connect(pro, SIGNAL(environmentChanged(ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -74,15 +74,6 @@ QString Project::makeUnique(const QString &preferedName, const QStringList &used
|
|||||||
|
|
||||||
void Project::addBuildConfiguration(BuildConfiguration *configuration)
|
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
|
// Check that we don't have a configuration with the same displayName
|
||||||
QString configurationDisplayName = configuration->displayName();
|
QString configurationDisplayName = configuration->displayName();
|
||||||
QStringList displayNames;
|
QStringList displayNames;
|
||||||
@@ -94,7 +85,7 @@ void Project::addBuildConfiguration(BuildConfiguration *configuration)
|
|||||||
// add it
|
// add it
|
||||||
m_buildConfigurationValues.push_back(configuration);
|
m_buildConfigurationValues.push_back(configuration);
|
||||||
|
|
||||||
emit addedBuildConfiguration(this, configuration->name());
|
emit addedBuildConfiguration(this, configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Project::removeBuildConfiguration(BuildConfiguration *configuration)
|
void Project::removeBuildConfiguration(BuildConfiguration *configuration)
|
||||||
@@ -105,7 +96,7 @@ void Project::removeBuildConfiguration(BuildConfiguration *configuration)
|
|||||||
|
|
||||||
m_buildConfigurationValues.removeOne(configuration);
|
m_buildConfigurationValues.removeOne(configuration);
|
||||||
|
|
||||||
emit removedBuildConfiguration(this, configuration->name());
|
emit removedBuildConfiguration(this, configuration);
|
||||||
delete configuration;
|
delete configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +124,7 @@ bool Project::restoreSettings()
|
|||||||
if (!restoreSettingsImpl(reader))
|
if (!restoreSettingsImpl(reader))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (m_activeBuildConfiguration.isEmpty() && !m_buildConfigurationValues.isEmpty())
|
if (m_activeBuildConfiguration && !m_buildConfigurationValues.isEmpty())
|
||||||
setActiveBuildConfiguration(m_buildConfigurationValues.at(0));
|
setActiveBuildConfiguration(m_buildConfigurationValues.at(0));
|
||||||
|
|
||||||
if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty())
|
if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty())
|
||||||
@@ -148,47 +139,50 @@ QList<BuildConfigWidget*> Project::subConfigWidgets()
|
|||||||
|
|
||||||
void Project::saveSettingsImpl(PersistentSettingsWriter &writer)
|
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
|
//save m_values
|
||||||
writer.saveValue("project", m_values);
|
writer.saveValue("project", m_values);
|
||||||
|
|
||||||
//save buildsettings
|
//save buildsettings
|
||||||
QStringList buildConfigurationNames;
|
QStringList buildConfigurationNames;
|
||||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
for(int i=0; i < bcs.size(); ++i) {
|
||||||
QMap<QString, QVariant> temp = bc->toMap();
|
QMap<QString, QVariant> temp = bcs.at(i)->toMap();
|
||||||
writer.saveValue("buildConfiguration-" + bc->name(), temp);
|
writer.saveValue("buildConfiguration-" + QString::number(i), temp);
|
||||||
buildConfigurationNames << bc->name();
|
buildConfigurationNames << QString::number(i);
|
||||||
}
|
}
|
||||||
writer.saveValue("buildconfigurations", buildConfigurationNames);
|
writer.saveValue("buildconfigurations", buildConfigurationNames);
|
||||||
|
|
||||||
// save each buildstep/buildConfiguration combination
|
// save each buildstep/buildConfiguration combination
|
||||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
for(int i=0; i < bcs.size(); ++i) {
|
||||||
QStringList buildStepNames;
|
QStringList buildStepNames;
|
||||||
foreach (BuildStep *buildStep, bc->buildSteps())
|
foreach (BuildStep *buildStep, bcs.at(i)->buildSteps())
|
||||||
buildStepNames << buildStep->name();
|
buildStepNames << buildStep->name();
|
||||||
writer.saveValue("buildconfiguration-" + bc->name() + "-buildsteps", buildStepNames);
|
writer.saveValue("buildconfiguration-" + QString::number(i) + "-buildsteps", buildStepNames);
|
||||||
|
|
||||||
int buildstepnr = 0;
|
int buildstepnr = 0;
|
||||||
foreach (BuildStep *buildStep, bc->buildSteps()) {
|
foreach (BuildStep *buildStep, bcs.at(i)->buildSteps()) {
|
||||||
QMap<QString, QVariant> temp;
|
QMap<QString, QVariant> temp;
|
||||||
buildStep->storeIntoLocalMap(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;
|
++buildstepnr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// save each cleanstep/buildConfiguration combination
|
// save each cleanstep/buildConfiguration combination
|
||||||
foreach (const BuildConfiguration *bc, buildConfigurations()) {
|
for(int i=0; i < bcs.size(); ++i) {
|
||||||
QStringList cleanStepNames;
|
QStringList cleanStepNames;
|
||||||
foreach (BuildStep *cleanStep, bc->cleanSteps())
|
foreach (BuildStep *cleanStep, bcs.at(i)->cleanSteps())
|
||||||
cleanStepNames << cleanStep->name();
|
cleanStepNames << cleanStep->name();
|
||||||
writer.saveValue("buildconfiguration-" + bc->name() + "-cleansteps", cleanStepNames);
|
writer.saveValue("buildconfiguration-" + QString::number(i) + "-cleansteps", cleanStepNames);
|
||||||
|
|
||||||
int cleanstepnr = 0;
|
int cleanstepnr = 0;
|
||||||
foreach (BuildStep *cleanStep, bc->cleanSteps()) {
|
foreach (BuildStep *cleanStep, bcs.at(i)->cleanSteps()) {
|
||||||
QMap<QString, QVariant> temp;
|
QMap<QString, QVariant> temp;
|
||||||
cleanStep->storeIntoLocalMap(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;
|
++cleanstepnr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -212,8 +206,6 @@ void Project::saveSettingsImpl(PersistentSettingsWriter &writer)
|
|||||||
|
|
||||||
bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
||||||
{
|
{
|
||||||
m_activeBuildConfiguration = reader.restoreValue("activebuildconfiguration").toString();
|
|
||||||
|
|
||||||
m_values = reader.restoreValue("project").toMap();
|
m_values = reader.restoreValue("project").toMap();
|
||||||
|
|
||||||
const QList<IBuildStepFactory *> buildStepFactories =
|
const QList<IBuildStepFactory *> buildStepFactories =
|
||||||
@@ -221,15 +213,16 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
|
|
||||||
// restoring BuldConfigurations from settings
|
// restoring BuldConfigurations from settings
|
||||||
const QStringList buildConfigurationNames = reader.restoreValue("buildconfigurations").toStringList();
|
const QStringList buildConfigurationNames = reader.restoreValue("buildconfigurations").toStringList();
|
||||||
|
|
||||||
foreach (const QString &buildConfigurationName, buildConfigurationNames) {
|
foreach (const QString &buildConfigurationName, buildConfigurationNames) {
|
||||||
BuildConfiguration *bc = buildConfigurationFactory()->restore(buildConfigurationName);
|
BuildConfiguration *bc = buildConfigurationFactory()->restore();
|
||||||
|
|
||||||
QMap<QString, QVariant> temp =
|
QMap<QString, QVariant> temp =
|
||||||
reader.restoreValue("buildConfiguration-" + buildConfigurationName).toMap();
|
reader.restoreValue("buildConfiguration-" + buildConfigurationName).toMap();
|
||||||
bc->setValuesFromMap(temp);
|
bc->setValuesFromMap(temp);
|
||||||
|
|
||||||
// Restore build steps
|
// Restore build steps
|
||||||
QVariant buildStepsValueVariant = reader.restoreValue("buildconfiguration-" + bc->name() + "-buildsteps");
|
QVariant buildStepsValueVariant = reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-buildsteps");
|
||||||
if(buildStepsValueVariant.isValid()) {
|
if(buildStepsValueVariant.isValid()) {
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
QStringList buildStepNames = buildStepsValueVariant.toStringList();
|
QStringList buildStepNames = buildStepsValueVariant.toStringList();
|
||||||
@@ -248,7 +241,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||||
buildStep->restoreFromGlobalMap(buildStepValues);
|
buildStep->restoreFromGlobalMap(buildStepValues);
|
||||||
buildStepValues =
|
buildStepValues =
|
||||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||||
buildStep->restoreFromLocalMap(buildStepValues);
|
buildStep->restoreFromLocalMap(buildStepValues);
|
||||||
bc->insertBuildStep(pos, buildStep);
|
bc->insertBuildStep(pos, buildStep);
|
||||||
++pos;
|
++pos;
|
||||||
@@ -256,7 +249,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Restore clean steps
|
// Restore clean steps
|
||||||
QVariant cleanStepsValueVariant = reader.restoreValue("buildconfiguration-" + bc->name() + "-cleansteps");
|
QVariant cleanStepsValueVariant = reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-cleansteps");
|
||||||
if(cleanStepsValueVariant.isValid()) {
|
if(cleanStepsValueVariant.isValid()) {
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
QStringList cleanStepNames = cleanStepsValueVariant.toStringList();
|
QStringList cleanStepNames = cleanStepsValueVariant.toStringList();
|
||||||
@@ -275,7 +268,7 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
QMap<QString, QVariant> buildStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||||
cleanStep->restoreFromGlobalMap(buildStepValues);
|
cleanStep->restoreFromGlobalMap(buildStepValues);
|
||||||
buildStepValues =
|
buildStepValues =
|
||||||
reader.restoreValue("buildconfiguration-" + bc->name() + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
reader.restoreValue("buildconfiguration-" + buildConfigurationName + "-cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||||
cleanStep->restoreFromLocalMap(buildStepValues);
|
cleanStep->restoreFromLocalMap(buildStepValues);
|
||||||
bc->insertCleanStep(pos, cleanStep);
|
bc->insertCleanStep(pos, cleanStep);
|
||||||
++pos;
|
++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
|
//Build Settings
|
||||||
QVariant buildStepsVariant = reader.restoreValue("buildsteps");
|
QVariant buildStepsVariant = reader.restoreValue("buildsteps");
|
||||||
if (buildStepsVariant.isValid()) {
|
if (buildStepsVariant.isValid()) {
|
||||||
@@ -302,13 +299,14 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (factory) {
|
if (factory) {
|
||||||
foreach(BuildConfiguration *bc, buildConfigurations()) {
|
const QList<BuildConfiguration *> &bcs = buildConfigurations();
|
||||||
buildStep = factory->create(bc, buildStepName);
|
for(int i = 0; i < bcs.size(); ++i) {
|
||||||
bc->insertBuildStep(pos, buildStep);
|
buildStep = factory->create(bcs.at(i), buildStepName);
|
||||||
|
bcs.at(i)->insertBuildStep(pos, buildStep);
|
||||||
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
QMap<QString, QVariant> buildStepValues = reader.restoreValue("buildstep" + QString().setNum(buildstepnr)).toMap();
|
||||||
buildStep->restoreFromGlobalMap(buildStepValues);
|
buildStep->restoreFromGlobalMap(buildStepValues);
|
||||||
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);
|
buildStep->restoreFromLocalMap(buildStepValues);
|
||||||
}
|
}
|
||||||
++pos;
|
++pos;
|
||||||
@@ -334,13 +332,14 @@ bool Project::restoreSettingsImpl(PersistentSettingsReader &reader)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (factory) {
|
if (factory) {
|
||||||
foreach(BuildConfiguration *bc, buildConfigurations()) {
|
const QList<BuildConfiguration *> &bcs = buildConfigurations();
|
||||||
cleanStep = factory->create(bc, cleanStepName);
|
for (int i = 0; i < bcs.size(); ++i) {
|
||||||
bc->insertCleanStep(pos, cleanStep);
|
cleanStep = factory->create(bcs.at(i), cleanStepName);
|
||||||
|
bcs.at(i)->insertCleanStep(pos, cleanStep);
|
||||||
QMap<QString, QVariant> cleanStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
QMap<QString, QVariant> cleanStepValues = reader.restoreValue("cleanstep" + QString().setNum(cleanstepnr)).toMap();
|
||||||
cleanStep->restoreFromGlobalMap(cleanStepValues);
|
cleanStep->restoreFromGlobalMap(cleanStepValues);
|
||||||
QMap<QString, QVariant> buildStepValues =
|
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);
|
cleanStep->restoreFromLocalMap(buildStepValues);
|
||||||
}
|
}
|
||||||
++pos;
|
++pos;
|
||||||
@@ -396,23 +395,15 @@ QVariant Project::value(const QString &name) const
|
|||||||
return QVariant();
|
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
|
BuildConfiguration *Project::activeBuildConfiguration() const
|
||||||
{
|
{
|
||||||
return buildConfiguration(m_activeBuildConfiguration); //TODO
|
return m_activeBuildConfiguration; //TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
void Project::setActiveBuildConfiguration(BuildConfiguration *configuration)
|
void Project::setActiveBuildConfiguration(BuildConfiguration *configuration)
|
||||||
{
|
{
|
||||||
if (m_activeBuildConfiguration != configuration->name() && m_buildConfigurationValues.contains(configuration)) {
|
if (m_activeBuildConfiguration != configuration && m_buildConfigurationValues.contains(configuration)) {
|
||||||
m_activeBuildConfiguration = configuration->name();
|
m_activeBuildConfiguration = configuration;
|
||||||
emit activeBuildConfigurationChanged();
|
emit activeBuildConfigurationChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -486,7 +477,7 @@ void Project::setDisplayNameFor(BuildConfiguration *configuration, const QString
|
|||||||
|
|
||||||
configuration->setDisplayName(displayName);
|
configuration->setDisplayName(displayName);
|
||||||
|
|
||||||
emit buildConfigurationDisplayNameChanged(configuration->name());
|
emit buildConfigurationDisplayNameChanged(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray Project::predefinedMacros(const QString &) const
|
QByteArray Project::predefinedMacros(const QString &) const
|
||||||
|
@@ -87,7 +87,6 @@ public:
|
|||||||
void addBuildConfiguration(BuildConfiguration *configuration);
|
void addBuildConfiguration(BuildConfiguration *configuration);
|
||||||
void removeBuildConfiguration(BuildConfiguration *configuration);
|
void removeBuildConfiguration(BuildConfiguration *configuration);
|
||||||
|
|
||||||
BuildConfiguration *buildConfiguration(const QString & name) const;
|
|
||||||
QList<BuildConfiguration *> buildConfigurations() const;
|
QList<BuildConfiguration *> buildConfigurations() const;
|
||||||
// remove and add "QString uniqueConfigurationDisplayName(const QString &proposedName) const" instead
|
// remove and add "QString uniqueConfigurationDisplayName(const QString &proposedName) const" instead
|
||||||
void setDisplayNameFor(BuildConfiguration *configuration, const QString &displayName);
|
void setDisplayNameFor(BuildConfiguration *configuration, const QString &displayName);
|
||||||
@@ -146,12 +145,12 @@ signals:
|
|||||||
void removedRunConfiguration(ProjectExplorer::Project *p, const QString &name);
|
void removedRunConfiguration(ProjectExplorer::Project *p, const QString &name);
|
||||||
void addedRunConfiguration(ProjectExplorer::Project *p, const QString &name);
|
void addedRunConfiguration(ProjectExplorer::Project *p, const QString &name);
|
||||||
|
|
||||||
void removedBuildConfiguration(ProjectExplorer::Project *p, const QString &name);
|
void removedBuildConfiguration(ProjectExplorer::Project *p, BuildConfiguration *bc);
|
||||||
void addedBuildConfiguration(ProjectExplorer::Project *p, const QString &name);
|
void addedBuildConfiguration(ProjectExplorer::Project *p, BuildConfiguration *bc);
|
||||||
|
|
||||||
// This signal is jut there for updating the tree list in the buildsettings wizard
|
// This signal is jut there for updating the tree list in the buildsettings wizard
|
||||||
void buildConfigurationDisplayNameChanged(const QString &buildConfiguration);
|
void buildConfigurationDisplayNameChanged(BuildConfiguration *bc);
|
||||||
void environmentChanged(const QString &buildConfiguration);
|
void environmentChanged(BuildConfiguration *bc);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/* This method is called when the project .user file is saved. Simply call
|
/* This method is called when the project .user file is saved. Simply call
|
||||||
@@ -175,7 +174,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
QMap<QString, QVariant> m_values;
|
QMap<QString, QVariant> m_values;
|
||||||
QList<BuildConfiguration *> m_buildConfigurationValues;
|
QList<BuildConfiguration *> m_buildConfigurationValues;
|
||||||
QString m_activeBuildConfiguration;
|
BuildConfiguration *m_activeBuildConfiguration;
|
||||||
QList<RunConfiguration *> m_runConfigurations;
|
QList<RunConfiguration *> m_runConfigurations;
|
||||||
RunConfiguration* m_activeRunConfiguration;
|
RunConfiguration* m_activeRunConfiguration;
|
||||||
EditorConfiguration *m_editorConfiguration;
|
EditorConfiguration *m_editorConfiguration;
|
||||||
|
@@ -1424,20 +1424,7 @@ void ProjectExplorerPlugin::buildProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::buildProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::buildProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles())
|
if (saveModifiedFiles())
|
||||||
buildManager()->buildProject(d->m_currentProject, d->m_currentProject->activeBuildConfiguration()->name());
|
buildManager()->buildProject(d->m_currentProject->activeBuildConfiguration());
|
||||||
}
|
|
||||||
|
|
||||||
static QStringList configurations(const QList<Project *> &projects)
|
|
||||||
{
|
|
||||||
QStringList result;
|
|
||||||
foreach (const Project * pro, projects) {
|
|
||||||
if (BuildConfiguration *bc = pro->activeBuildConfiguration()) {
|
|
||||||
result << bc->name();
|
|
||||||
} else {
|
|
||||||
result << QString::null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::buildProject()
|
void ProjectExplorerPlugin::buildProject()
|
||||||
@@ -1446,8 +1433,11 @@ void ProjectExplorerPlugin::buildProject()
|
|||||||
qDebug() << "ProjectExplorerPlugin::buildProject";
|
qDebug() << "ProjectExplorerPlugin::buildProject";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
QList<BuildConfiguration *> configurations;
|
||||||
d->m_buildManager->buildProjects(projects, configurations(projects));
|
foreach (Project *pro, d->m_session->projectOrder(d->m_currentProject))
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
|
||||||
|
d->m_buildManager->buildProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1457,8 +1447,10 @@ void ProjectExplorerPlugin::buildSession()
|
|||||||
qDebug() << "ProjectExplorerPlugin::buildSession";
|
qDebug() << "ProjectExplorerPlugin::buildSession";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder();
|
QList<BuildConfiguration *> configurations;
|
||||||
d->m_buildManager->buildProjects(projects, configurations(projects));
|
foreach (Project *pro, d->m_session->projectOrder())
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
d->m_buildManager->buildProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1468,8 +1460,8 @@ void ProjectExplorerPlugin::rebuildProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::rebuildProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::rebuildProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
d->m_buildManager->cleanProject(d->m_currentProject, d->m_currentProject->activeBuildConfiguration()->name());
|
d->m_buildManager->cleanProject(d->m_currentProject->activeBuildConfiguration());
|
||||||
d->m_buildManager->buildProject(d->m_currentProject, d->m_currentProject->activeBuildConfiguration()->name());
|
d->m_buildManager->buildProject(d->m_currentProject->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1479,11 +1471,13 @@ void ProjectExplorerPlugin::rebuildProject()
|
|||||||
qDebug() << "ProjectExplorerPlugin::rebuildProject";
|
qDebug() << "ProjectExplorerPlugin::rebuildProject";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
const QList<Project *> &projects = d->m_session->projectOrder(d->m_currentProject);
|
||||||
const QStringList configs = configurations(projects);
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
|
||||||
d->m_buildManager->cleanProjects(projects, configs);
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
d->m_buildManager->buildProjects(projects, configs);
|
d->m_buildManager->buildProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1494,10 +1488,12 @@ void ProjectExplorerPlugin::rebuildSession()
|
|||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder();
|
const QList<Project *> & projects = d->m_session->projectOrder();
|
||||||
const QStringList configs = configurations(projects);
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
|
||||||
d->m_buildManager->cleanProjects(projects, configs);
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
d->m_buildManager->buildProjects(projects, configs);
|
d->m_buildManager->buildProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1507,7 +1503,7 @@ void ProjectExplorerPlugin::cleanProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::cleanProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::cleanProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles())
|
if (saveModifiedFiles())
|
||||||
d->m_buildManager->cleanProject(d->m_currentProject, d->m_currentProject->activeBuildConfiguration()->name());
|
d->m_buildManager->cleanProject(d->m_currentProject->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::cleanProject()
|
void ProjectExplorerPlugin::cleanProject()
|
||||||
@@ -1517,7 +1513,10 @@ void ProjectExplorerPlugin::cleanProject()
|
|||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
||||||
d->m_buildManager->cleanProjects(projects, configurations(projects));
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1528,21 +1527,24 @@ void ProjectExplorerPlugin::cleanSession()
|
|||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder();
|
const QList<Project *> & projects = d->m_session->projectOrder();
|
||||||
d->m_buildManager->cleanProjects(projects, configurations(projects));
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::runProject()
|
void ProjectExplorerPlugin::runProject()
|
||||||
{
|
{
|
||||||
runProjectImpl(startupProject());
|
runProjectImpl(startupProject(), ProjectExplorer::Constants::RUNMODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::runProjectContextMenu()
|
void ProjectExplorerPlugin::runProjectContextMenu()
|
||||||
{
|
{
|
||||||
runProjectImpl(d->m_currentProject);
|
runProjectImpl(d->m_currentProject, ProjectExplorer::Constants::RUNMODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::runProjectImpl(Project *pro)
|
void ProjectExplorerPlugin::runProjectImpl(Project *pro, QString mode)
|
||||||
{
|
{
|
||||||
if (!pro)
|
if (!pro)
|
||||||
return;
|
return;
|
||||||
@@ -1553,16 +1555,21 @@ void ProjectExplorerPlugin::runProjectImpl(Project *pro)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
d->m_runMode = ProjectExplorer::Constants::RUNMODE;
|
d->m_runMode = mode;
|
||||||
d->m_delayedRunConfiguration = pro->activeRunConfiguration();
|
d->m_delayedRunConfiguration = pro->activeRunConfiguration();
|
||||||
|
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(pro);
|
const QList<Project *> & projects = d->m_session->projectOrder(pro);
|
||||||
d->m_buildManager->buildProjects(projects, configurations(projects));
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach(Project *pro, projects)
|
||||||
|
configurations << pro->activeBuildConfiguration();
|
||||||
|
d->m_buildManager->buildProjects(configurations);
|
||||||
|
|
||||||
|
updateRunAction();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// TODO this ignores RunConfiguration::isEnabled()
|
// TODO this ignores RunConfiguration::isEnabled()
|
||||||
if (saveModifiedFiles())
|
if (saveModifiedFiles())
|
||||||
executeRunConfiguration(pro->activeRunConfiguration(), ProjectExplorer::Constants::RUNMODE);
|
executeRunConfiguration(pro->activeRunConfiguration(), mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1572,25 +1579,7 @@ void ProjectExplorerPlugin::debugProject()
|
|||||||
if (!pro || d->m_debuggingRunControl )
|
if (!pro || d->m_debuggingRunControl )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (d->m_projectExplorerSettings.buildBeforeRun && pro->hasBuildSettings()) {
|
runProjectImpl(pro, ProjectExplorer::Constants::DEBUGMODE);
|
||||||
if (!pro->activeRunConfiguration()->isEnabled()) {
|
|
||||||
if (!showBuildConfigDialog())
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (saveModifiedFiles()) {
|
|
||||||
d->m_runMode = ProjectExplorer::Constants::DEBUGMODE;
|
|
||||||
d->m_delayedRunConfiguration = pro->activeRunConfiguration();
|
|
||||||
|
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(pro);
|
|
||||||
d->m_buildManager->buildProjects(projects, configurations(projects));
|
|
||||||
|
|
||||||
updateRunAction();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// TODO this ignores RunConfiguration::isEnabled()
|
|
||||||
if (saveModifiedFiles())
|
|
||||||
executeRunConfiguration(pro->activeRunConfiguration(), ProjectExplorer::Constants::DEBUGMODE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProjectExplorerPlugin::showBuildConfigDialog()
|
bool ProjectExplorerPlugin::showBuildConfigDialog()
|
||||||
@@ -1965,14 +1954,14 @@ void ProjectExplorerPlugin::populateBuildConfigurationMenu()
|
|||||||
d->m_buildConfigurationMenu->clear();
|
d->m_buildConfigurationMenu->clear();
|
||||||
if (Project *pro = d->m_currentProject) {
|
if (Project *pro = d->m_currentProject) {
|
||||||
const BuildConfiguration *activeBC = pro->activeBuildConfiguration();
|
const BuildConfiguration *activeBC = pro->activeBuildConfiguration();
|
||||||
foreach (const BuildConfiguration *bc, pro->buildConfigurations()) {
|
foreach (BuildConfiguration *bc, pro->buildConfigurations()) {
|
||||||
QString displayName = bc->displayName();
|
QString displayName = bc->displayName();
|
||||||
QAction *act = new QAction(displayName, d->m_buildConfigurationActionGroup);
|
QAction *act = new QAction(displayName, d->m_buildConfigurationActionGroup);
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "BuildConfiguration " << bc->name() << "active: " << activeBC->name();
|
qDebug() << "BuildConfiguration " << bc->displayName() << "active: " << activeBC->displayName();
|
||||||
act->setCheckable(true);
|
act->setCheckable(true);
|
||||||
act->setChecked(bc == activeBC);
|
act->setChecked(bc == activeBC);
|
||||||
act->setData(bc->name());
|
act->setData(QVariant::fromValue(bc));
|
||||||
d->m_buildConfigurationMenu->addAction(act);
|
d->m_buildConfigurationMenu->addAction(act);
|
||||||
}
|
}
|
||||||
d->m_buildConfigurationMenu->setEnabled(true);
|
d->m_buildConfigurationMenu->setEnabled(true);
|
||||||
@@ -1986,8 +1975,7 @@ void ProjectExplorerPlugin::buildConfigurationMenuTriggered(QAction *action)
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::buildConfigurationMenuTriggered";
|
qDebug() << "ProjectExplorerPlugin::buildConfigurationMenuTriggered";
|
||||||
|
|
||||||
d->m_currentProject->setActiveBuildConfiguration(d->m_currentProject->buildConfiguration(
|
d->m_currentProject->setActiveBuildConfiguration(action->data().value<BuildConfiguration *>());
|
||||||
action->data().toString()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::populateRunConfigurationMenu()
|
void ProjectExplorerPlugin::populateRunConfigurationMenu()
|
||||||
@@ -2136,9 +2124,6 @@ Internal::ProjectExplorerSettings ProjectExplorerPlugin::projectExplorerSettings
|
|||||||
return d->m_projectExplorerSettings;
|
return d->m_projectExplorerSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------- BuildConfigDialog -----------
|
|
||||||
Q_DECLARE_METATYPE(BuildConfiguration*);
|
|
||||||
|
|
||||||
BuildConfigDialog::BuildConfigDialog(Project *project, QWidget *parent)
|
BuildConfigDialog::BuildConfigDialog(Project *project, QWidget *parent)
|
||||||
: QDialog(parent),
|
: QDialog(parent),
|
||||||
m_project(project)
|
m_project(project)
|
||||||
@@ -2173,7 +2158,7 @@ BuildConfigDialog::BuildConfigDialog(Project *project, QWidget *parent)
|
|||||||
RunConfiguration *activeRun = m_project->activeRunConfiguration();
|
RunConfiguration *activeRun = m_project->activeRunConfiguration();
|
||||||
foreach (BuildConfiguration *config, m_project->buildConfigurations()) {
|
foreach (BuildConfiguration *config, m_project->buildConfigurations()) {
|
||||||
if (activeRun->isEnabled(config)) {
|
if (activeRun->isEnabled(config)) {
|
||||||
m_configCombo->addItem(config->name(), qVariantFromValue(config));
|
m_configCombo->addItem(config->displayName(), QVariant::fromValue(config));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_configCombo->count() == 0) {
|
if (m_configCombo->count() == 0) {
|
||||||
|
@@ -215,7 +215,7 @@ private slots:
|
|||||||
void currentModeChanged(Core::IMode *mode);
|
void currentModeChanged(Core::IMode *mode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void runProjectImpl(Project *pro);
|
void runProjectImpl(Project *pro, QString mode);
|
||||||
void executeRunConfiguration(RunConfiguration *, const QString &mode);
|
void executeRunConfiguration(RunConfiguration *, const QString &mode);
|
||||||
bool showBuildConfigDialog();
|
bool showBuildConfigDialog();
|
||||||
|
|
||||||
|
@@ -512,7 +512,7 @@ BuildConfigurationComboBox::BuildConfigurationComboBox(Project *p, QWidget *pare
|
|||||||
|
|
||||||
//m_comboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
//m_comboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||||
foreach(const BuildConfiguration *buildConfiguration, p->buildConfigurations())
|
foreach(const BuildConfiguration *buildConfiguration, p->buildConfigurations())
|
||||||
m_comboBox->addItem(buildConfiguration->displayName(), buildConfiguration->name());
|
m_comboBox->addItem(buildConfiguration->displayName(), buildConfiguration);
|
||||||
if (p->buildConfigurations().count() == 1) {
|
if (p->buildConfigurations().count() == 1) {
|
||||||
m_label->setText(m_comboBox->itemText(0));
|
m_label->setText(m_comboBox->itemText(0));
|
||||||
setCurrentWidget(m_label);
|
setCurrentWidget(m_label);
|
||||||
@@ -522,14 +522,14 @@ BuildConfigurationComboBox::BuildConfigurationComboBox(Project *p, QWidget *pare
|
|||||||
if (index != -1)
|
if (index != -1)
|
||||||
m_comboBox->setCurrentIndex(index);
|
m_comboBox->setCurrentIndex(index);
|
||||||
|
|
||||||
connect(p, SIGNAL(buildConfigurationDisplayNameChanged(QString)),
|
connect(p, SIGNAL(buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SLOT(nameChanged(QString)));
|
this, SLOT(nameChanged(ProjectExplorer::BuildConfiguration *)));
|
||||||
connect(p, SIGNAL(activeBuildConfigurationChanged()),
|
connect(p, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SLOT(activeConfigurationChanged()));
|
this, SLOT(activeConfigurationChanged()));
|
||||||
connect(p, SIGNAL(addedBuildConfiguration(ProjectExplorer::Project *, QString)),
|
connect(p, SIGNAL(addedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SLOT(addedBuildConfiguration(ProjectExplorer::Project *, QString)));
|
this, SLOT(addedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *)));
|
||||||
connect(p, SIGNAL(removedBuildConfiguration(ProjectExplorer::Project *, QString)),
|
connect(p, SIGNAL(removedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SLOT(removedBuildConfiguration(ProjectExplorer::Project *, QString)));
|
this, SLOT(removedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *)));
|
||||||
connect(m_comboBox, SIGNAL(activated(int)),
|
connect(m_comboBox, SIGNAL(activated(int)),
|
||||||
this, SLOT(changedIndex(int)));
|
this, SLOT(changedIndex(int)));
|
||||||
}
|
}
|
||||||
@@ -539,28 +539,28 @@ BuildConfigurationComboBox::~BuildConfigurationComboBox()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfigurationComboBox::nameChanged(const QString &buildConfiguration)
|
void BuildConfigurationComboBox::nameChanged(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
int index = nameToIndex(buildConfiguration);
|
int index = nameToIndex(bc);
|
||||||
if (index == -1)
|
if (index == -1)
|
||||||
return;
|
return;
|
||||||
const QString &displayName = m_project->buildConfiguration(buildConfiguration)->displayName();
|
const QString &displayName = bc->displayName();
|
||||||
m_comboBox->setItemText(index, displayName);
|
m_comboBox->setItemText(index, displayName);
|
||||||
if (m_comboBox->count() == 1)
|
if (m_comboBox->count() == 1)
|
||||||
m_label->setText(displayName);
|
m_label->setText(displayName);
|
||||||
}
|
}
|
||||||
|
|
||||||
int BuildConfigurationComboBox::nameToIndex(const QString &buildConfiguration)
|
int BuildConfigurationComboBox::nameToIndex(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
for (int i=0; i < m_comboBox->count(); ++i)
|
for (int i=0; i < m_comboBox->count(); ++i)
|
||||||
if (m_comboBox->itemData(i) == buildConfiguration)
|
if (m_comboBox->itemData(i).value<BuildConfiguration *>() == bc)
|
||||||
return i;
|
return i;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfigurationComboBox::activeConfigurationChanged()
|
void BuildConfigurationComboBox::activeConfigurationChanged()
|
||||||
{
|
{
|
||||||
int index = nameToIndex(m_project->activeBuildConfiguration()->name());
|
int index = nameToIndex(m_project->activeBuildConfiguration());
|
||||||
if (index == -1)
|
if (index == -1)
|
||||||
return;
|
return;
|
||||||
ignoreIndexChange = true;
|
ignoreIndexChange = true;
|
||||||
@@ -568,20 +568,20 @@ void BuildConfigurationComboBox::activeConfigurationChanged()
|
|||||||
ignoreIndexChange = false;
|
ignoreIndexChange = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfigurationComboBox::addedBuildConfiguration(ProjectExplorer::Project *,const QString &buildConfiguration)
|
void BuildConfigurationComboBox::addedBuildConfiguration(ProjectExplorer::Project *,BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
ignoreIndexChange = true;
|
ignoreIndexChange = true;
|
||||||
m_comboBox->addItem(m_project->buildConfiguration(buildConfiguration)->displayName(), buildConfiguration);
|
m_comboBox->addItem(bc->displayName(), QVariant::fromValue(bc));
|
||||||
|
|
||||||
if (m_comboBox->count() == 2)
|
if (m_comboBox->count() == 2)
|
||||||
setCurrentWidget(m_comboBox);
|
setCurrentWidget(m_comboBox);
|
||||||
ignoreIndexChange = false;
|
ignoreIndexChange = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfigurationComboBox::removedBuildConfiguration(ProjectExplorer::Project *, const QString &buildConfiguration)
|
void BuildConfigurationComboBox::removedBuildConfiguration(ProjectExplorer::Project *, BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
ignoreIndexChange = true;
|
ignoreIndexChange = true;
|
||||||
int index = nameToIndex(buildConfiguration);
|
int index = nameToIndex(bc);
|
||||||
m_comboBox->removeItem(index);
|
m_comboBox->removeItem(index);
|
||||||
if (m_comboBox->count() == 1) {
|
if (m_comboBox->count() == 1) {
|
||||||
m_label->setText(m_comboBox->itemText(0));
|
m_label->setText(m_comboBox->itemText(0));
|
||||||
@@ -594,8 +594,7 @@ void BuildConfigurationComboBox::changedIndex(int newIndex)
|
|||||||
{
|
{
|
||||||
if (newIndex == -1)
|
if (newIndex == -1)
|
||||||
return;
|
return;
|
||||||
m_project->setActiveBuildConfiguration(
|
m_project->setActiveBuildConfiguration(m_comboBox->itemData(newIndex).value<BuildConfiguration *>());
|
||||||
m_project->buildConfiguration(m_comboBox->itemData(newIndex).toString()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@@ -56,6 +56,7 @@ class IPropertiesPanel;
|
|||||||
class Project;
|
class Project;
|
||||||
class ProjectExplorerPlugin;
|
class ProjectExplorerPlugin;
|
||||||
class SessionManager;
|
class SessionManager;
|
||||||
|
class BuildConfiguration;
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
@@ -100,13 +101,13 @@ public:
|
|||||||
BuildConfigurationComboBox(ProjectExplorer::Project *p, QWidget *parent = 0);
|
BuildConfigurationComboBox(ProjectExplorer::Project *p, QWidget *parent = 0);
|
||||||
~BuildConfigurationComboBox();
|
~BuildConfigurationComboBox();
|
||||||
private slots:
|
private slots:
|
||||||
void nameChanged(const QString &buildConfiguration);
|
void nameChanged(ProjectExplorer::BuildConfiguration *bc);
|
||||||
void activeConfigurationChanged();
|
void activeConfigurationChanged();
|
||||||
void addedBuildConfiguration(ProjectExplorer::Project *, const QString &buildConfiguration);
|
void addedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *bc);
|
||||||
void removedBuildConfiguration(ProjectExplorer::Project *, const QString &buildConfiguration);
|
void removedBuildConfiguration(ProjectExplorer::Project *, ProjectExplorer::BuildConfiguration *bc);
|
||||||
void changedIndex(int newIndex);
|
void changedIndex(int newIndex);
|
||||||
private:
|
private:
|
||||||
int nameToIndex(const QString &buildConfiguration);
|
int nameToIndex(ProjectExplorer::BuildConfiguration *bc);
|
||||||
bool ignoreIndexChange;
|
bool ignoreIndexChange;
|
||||||
ProjectExplorer::Project *m_project;
|
ProjectExplorer::Project *m_project;
|
||||||
QComboBox *m_comboBox;
|
QComboBox *m_comboBox;
|
||||||
|
@@ -34,14 +34,14 @@ using namespace Qt4ProjectManager;
|
|||||||
using namespace Qt4ProjectManager::Internal;
|
using namespace Qt4ProjectManager::Internal;
|
||||||
using ProjectExplorer::BuildConfiguration;
|
using ProjectExplorer::BuildConfiguration;
|
||||||
|
|
||||||
Qt4BuildConfiguration::Qt4BuildConfiguration(Qt4Project *pro, const QString &name)
|
Qt4BuildConfiguration::Qt4BuildConfiguration(Qt4Project *pro)
|
||||||
: BuildConfiguration(pro, name)
|
: BuildConfiguration(pro)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt4BuildConfiguration::Qt4BuildConfiguration(const QString &name, Qt4BuildConfiguration *source)
|
Qt4BuildConfiguration::Qt4BuildConfiguration(Qt4BuildConfiguration *source)
|
||||||
: BuildConfiguration(name, source)
|
: BuildConfiguration(source)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -41,9 +41,9 @@ namespace Internal {
|
|||||||
class Qt4BuildConfiguration : public ProjectExplorer::BuildConfiguration
|
class Qt4BuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Qt4BuildConfiguration(Qt4Project *pro, const QString &name);
|
Qt4BuildConfiguration(Qt4Project *pro);
|
||||||
// copy ctor
|
// copy ctor
|
||||||
Qt4BuildConfiguration(const QString &name, Qt4BuildConfiguration *source);
|
Qt4BuildConfiguration(Qt4BuildConfiguration *source);
|
||||||
~Qt4BuildConfiguration();
|
~Qt4BuildConfiguration();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -42,7 +42,7 @@ using namespace Qt4ProjectManager;
|
|||||||
using namespace Qt4ProjectManager::Internal;
|
using namespace Qt4ProjectManager::Internal;
|
||||||
|
|
||||||
Qt4BuildEnvironmentWidget::Qt4BuildEnvironmentWidget(Qt4Project *project)
|
Qt4BuildEnvironmentWidget::Qt4BuildEnvironmentWidget(Qt4Project *project)
|
||||||
: BuildConfigWidget(), m_pro(project)
|
: BuildConfigWidget(), m_pro(project), m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||||
vbox->setMargin(0);
|
vbox->setMargin(0);
|
||||||
@@ -65,28 +65,25 @@ QString Qt4BuildEnvironmentWidget::displayName() const
|
|||||||
return tr("Build Environment");
|
return tr("Build Environment");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4BuildEnvironmentWidget::init(const QString &buildConfiguration)
|
void Qt4BuildEnvironmentWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "Qt4BuildConfigWidget::init()";
|
qDebug() << "Qt4BuildConfigWidget::init()";
|
||||||
|
|
||||||
m_buildConfiguration = buildConfiguration;
|
m_buildConfiguration = bc;
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfiguration);
|
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(m_buildConfiguration));
|
||||||
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(bc));
|
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(bc));
|
|
||||||
m_buildEnvironmentWidget->updateButtons();
|
m_buildEnvironmentWidget->updateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4BuildEnvironmentWidget::environmentModelUserChangesUpdated()
|
void Qt4BuildEnvironmentWidget::environmentModelUserChangesUpdated()
|
||||||
{
|
{
|
||||||
m_pro->setUserEnvironmentChanges(m_pro->buildConfiguration(m_buildConfiguration),
|
m_pro->setUserEnvironmentChanges(m_buildConfiguration, m_buildEnvironmentWidget->userChanges());
|
||||||
m_buildEnvironmentWidget->userChanges());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4BuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
|
void Qt4BuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
m_pro->setUseSystemEnvironment(m_buildConfiguration, !checked);
|
||||||
m_pro->setUseSystemEnvironment(bc, !checked);
|
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,7 @@ public:
|
|||||||
Qt4BuildEnvironmentWidget(Qt4Project *project);
|
Qt4BuildEnvironmentWidget(Qt4Project *project);
|
||||||
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
void init(const QString &buildConfiguration);
|
void init(ProjectExplorer::BuildConfiguration *bc);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void environmentModelUserChangesUpdated();
|
void environmentModelUserChangesUpdated();
|
||||||
@@ -63,7 +63,7 @@ private:
|
|||||||
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
|
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
|
||||||
QCheckBox *m_clearSystemEnvironmentCheckBox;
|
QCheckBox *m_clearSystemEnvironmentCheckBox;
|
||||||
Qt4Project *m_pro;
|
Qt4Project *m_pro;
|
||||||
QString m_buildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -297,17 +297,17 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(const QString &type) co
|
|||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *Qt4BuildConfigurationFactory::clone(const QString &name, BuildConfiguration *source) const
|
BuildConfiguration *Qt4BuildConfigurationFactory::clone(BuildConfiguration *source) const
|
||||||
{
|
{
|
||||||
Qt4BuildConfiguration *oldbc = static_cast<Qt4BuildConfiguration *>(source);
|
Qt4BuildConfiguration *oldbc = static_cast<Qt4BuildConfiguration *>(source);
|
||||||
Qt4BuildConfiguration *newbc = new Qt4BuildConfiguration(name, oldbc);
|
Qt4BuildConfiguration *newbc = new Qt4BuildConfiguration(oldbc);
|
||||||
m_project->addBuildConfiguration(newbc);
|
m_project->addBuildConfiguration(newbc);
|
||||||
return newbc;
|
return newbc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildConfiguration *Qt4BuildConfigurationFactory::restore(const QString &name) const
|
BuildConfiguration *Qt4BuildConfigurationFactory::restore() const
|
||||||
{
|
{
|
||||||
Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(m_project, name);
|
Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(m_project);
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,7 +459,8 @@ Qt4BuildConfiguration *Qt4Project::addQt4BuildConfiguration(QString buildConfigu
|
|||||||
bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
|
bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
|
||||||
|
|
||||||
// Add the buildconfiguration
|
// Add the buildconfiguration
|
||||||
Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(this, buildConfigurationName);
|
Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(this);
|
||||||
|
bc->setDisplayName(buildConfigurationName);
|
||||||
addBuildConfiguration(bc);
|
addBuildConfiguration(bc);
|
||||||
|
|
||||||
QMakeStep *qmakeStep = new QMakeStep(bc);
|
QMakeStep *qmakeStep = new QMakeStep(bc);
|
||||||
@@ -890,7 +891,7 @@ void Qt4Project::setUseSystemEnvironment(BuildConfiguration *configuration, bool
|
|||||||
if (useSystemEnvironment(configuration) == b)
|
if (useSystemEnvironment(configuration) == b)
|
||||||
return;
|
return;
|
||||||
configuration->setValue("clearSystemEnvironment", !b);
|
configuration->setValue("clearSystemEnvironment", !b);
|
||||||
emit environmentChanged(configuration->name());
|
emit environmentChanged(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Qt4Project::useSystemEnvironment(BuildConfiguration *configuration) const
|
bool Qt4Project::useSystemEnvironment(BuildConfiguration *configuration) const
|
||||||
@@ -911,7 +912,7 @@ void Qt4Project::setUserEnvironmentChanges(BuildConfiguration *configuration, co
|
|||||||
if (list == configuration->value("userEnvironmentChanges").toStringList())
|
if (list == configuration->value("userEnvironmentChanges").toStringList())
|
||||||
return;
|
return;
|
||||||
configuration->setValue("userEnvironmentChanges", list);
|
configuration->setValue("userEnvironmentChanges", list);
|
||||||
emit environmentChanged(configuration->name());
|
emit environmentChanged(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Qt4Project::qtDir(BuildConfiguration *configuration) const
|
QString Qt4Project::qtDir(BuildConfiguration *configuration) const
|
||||||
@@ -931,7 +932,7 @@ int Qt4Project::qtVersionId(BuildConfiguration *configuration) const
|
|||||||
{
|
{
|
||||||
QtVersionManager *vm = QtVersionManager::instance();
|
QtVersionManager *vm = QtVersionManager::instance();
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug()<<"Looking for qtVersion ID of "<<configuration->name();
|
qDebug()<<"Looking for qtVersion ID of "<<configuration->displayName();
|
||||||
int id = 0;
|
int id = 0;
|
||||||
QVariant vid = configuration->value(KEY_QT_VERSION_ID);
|
QVariant vid = configuration->value(KEY_QT_VERSION_ID);
|
||||||
if (vid.isValid()) {
|
if (vid.isValid()) {
|
||||||
|
@@ -132,8 +132,8 @@ public:
|
|||||||
QString displayNameForType(const QString &type) const;
|
QString displayNameForType(const QString &type) const;
|
||||||
|
|
||||||
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
||||||
ProjectExplorer::BuildConfiguration *clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const;
|
ProjectExplorer::BuildConfiguration *clone(ProjectExplorer::BuildConfiguration *source) const;
|
||||||
ProjectExplorer::BuildConfiguration *restore(const QString &name) const;
|
ProjectExplorer::BuildConfiguration *restore() const;
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
|
@@ -53,7 +53,8 @@ using namespace Qt4ProjectManager::Internal;
|
|||||||
|
|
||||||
Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
|
Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
|
||||||
: BuildConfigWidget(),
|
: BuildConfigWidget(),
|
||||||
m_pro(project)
|
m_pro(project),
|
||||||
|
m_buildConfiguration(0)
|
||||||
{
|
{
|
||||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||||
vbox->setMargin(0);
|
vbox->setMargin(0);
|
||||||
@@ -111,10 +112,9 @@ Qt4ProjectConfigWidget::~Qt4ProjectConfigWidget()
|
|||||||
|
|
||||||
void Qt4ProjectConfigWidget::updateDetails()
|
void Qt4ProjectConfigWidget::updateDetails()
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
QtVersion *version = m_pro->qtVersion(m_buildConfiguration);
|
||||||
QtVersion *version = m_pro->qtVersion(bc);
|
|
||||||
QString versionString;
|
QString versionString;
|
||||||
if (m_pro->qtVersionId(bc) == 0) {
|
if (m_pro->qtVersionId(m_buildConfiguration) == 0) {
|
||||||
versionString = tr("Default Qt Version (%1)").arg(version->name());
|
versionString = tr("Default Qt Version (%1)").arg(version->name());
|
||||||
} else if(version){
|
} else if(version){
|
||||||
versionString = version->name();
|
versionString = version->name();
|
||||||
@@ -126,8 +126,8 @@ void Qt4ProjectConfigWidget::updateDetails()
|
|||||||
"with tool chain <b>%2</b><br>"
|
"with tool chain <b>%2</b><br>"
|
||||||
"building in <b>%3</b>")
|
"building in <b>%3</b>")
|
||||||
.arg(versionString,
|
.arg(versionString,
|
||||||
ProjectExplorer::ToolChain::toolChainName(m_pro->toolChainType(bc)),
|
ProjectExplorer::ToolChain::toolChainName(m_pro->toolChainType(m_buildConfiguration)),
|
||||||
QDir::toNativeSeparators(m_pro->buildDirectory(bc))));
|
QDir::toNativeSeparators(m_pro->buildDirectory(m_buildConfiguration))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4ProjectConfigWidget::manageQtVersions()
|
void Qt4ProjectConfigWidget::manageQtVersions()
|
||||||
@@ -142,22 +142,21 @@ QString Qt4ProjectConfigWidget::displayName() const
|
|||||||
return tr("General");
|
return tr("General");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4ProjectConfigWidget::init(const QString &buildConfiguration)
|
void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "Qt4ProjectConfigWidget::init() for"<<buildConfiguration;
|
qDebug() << "Qt4ProjectConfigWidget::init() for"<<bc->displayName();
|
||||||
|
|
||||||
m_buildConfiguration = buildConfiguration;
|
m_buildConfiguration = bc;
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfiguration);
|
m_ui->nameLineEdit->setText(m_buildConfiguration->displayName());
|
||||||
m_ui->nameLineEdit->setText(bc->displayName());
|
|
||||||
|
|
||||||
setupQtVersionsComboBox();
|
setupQtVersionsComboBox();
|
||||||
|
|
||||||
bool shadowBuild = bc->value("useShadowBuild").toBool();
|
bool shadowBuild = m_buildConfiguration->value("useShadowBuild").toBool();
|
||||||
m_ui->shadowBuildCheckBox->setChecked(shadowBuild);
|
m_ui->shadowBuildCheckBox->setChecked(shadowBuild);
|
||||||
m_ui->shadowBuildDirEdit->setEnabled(shadowBuild);
|
m_ui->shadowBuildDirEdit->setEnabled(shadowBuild);
|
||||||
m_browseButton->setEnabled(shadowBuild);
|
m_browseButton->setEnabled(shadowBuild);
|
||||||
m_ui->shadowBuildDirEdit->setPath(m_pro->buildDirectory(bc));
|
m_ui->shadowBuildDirEdit->setPath(m_pro->buildDirectory(m_buildConfiguration));
|
||||||
updateImportLabel();
|
updateImportLabel();
|
||||||
updateToolChainCombo();
|
updateToolChainCombo();
|
||||||
updateDetails();
|
updateDetails();
|
||||||
@@ -165,12 +164,12 @@ void Qt4ProjectConfigWidget::init(const QString &buildConfiguration)
|
|||||||
|
|
||||||
void Qt4ProjectConfigWidget::changeConfigName(const QString &newName)
|
void Qt4ProjectConfigWidget::changeConfigName(const QString &newName)
|
||||||
{
|
{
|
||||||
m_pro->setDisplayNameFor(m_pro->buildConfiguration(m_buildConfiguration), newName);
|
m_pro->setDisplayNameFor(m_buildConfiguration, newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
||||||
{
|
{
|
||||||
if (m_buildConfiguration.isEmpty()) // not yet initialized
|
if (!m_buildConfiguration) // not yet initialized
|
||||||
return;
|
return;
|
||||||
|
|
||||||
disconnect(m_ui->qtVersionComboBox, SIGNAL(currentIndexChanged(QString)),
|
disconnect(m_ui->qtVersionComboBox, SIGNAL(currentIndexChanged(QString)),
|
||||||
@@ -181,7 +180,7 @@ void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
|||||||
m_ui->qtVersionComboBox->clear();
|
m_ui->qtVersionComboBox->clear();
|
||||||
m_ui->qtVersionComboBox->addItem(tr("Default Qt Version (%1)").arg(vm->defaultVersion()->name()), 0);
|
m_ui->qtVersionComboBox->addItem(tr("Default Qt Version (%1)").arg(vm->defaultVersion()->name()), 0);
|
||||||
|
|
||||||
int qtVersionId = m_pro->qtVersionId(m_pro->buildConfiguration(m_buildConfiguration));
|
int qtVersionId = m_pro->qtVersionId(m_buildConfiguration);
|
||||||
|
|
||||||
if (qtVersionId == 0) {
|
if (qtVersionId == 0) {
|
||||||
m_ui->qtVersionComboBox->setCurrentIndex(0);
|
m_ui->qtVersionComboBox->setCurrentIndex(0);
|
||||||
@@ -215,12 +214,11 @@ void Qt4ProjectConfigWidget::shadowBuildCheckBoxClicked(bool checked)
|
|||||||
m_ui->shadowBuildDirEdit->setEnabled(checked);
|
m_ui->shadowBuildDirEdit->setEnabled(checked);
|
||||||
m_browseButton->setEnabled(checked);
|
m_browseButton->setEnabled(checked);
|
||||||
bool b = m_ui->shadowBuildCheckBox->isChecked();
|
bool b = m_ui->shadowBuildCheckBox->isChecked();
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
m_buildConfiguration->setValue("useShadowBuild", b);
|
||||||
bc->setValue("useShadowBuild", b);
|
|
||||||
if (b)
|
if (b)
|
||||||
bc->setValue("buildDirectory", m_ui->shadowBuildDirEdit->path());
|
m_buildConfiguration->setValue("buildDirectory", m_ui->shadowBuildDirEdit->path());
|
||||||
else
|
else
|
||||||
bc->setValue("buildDirectory", QVariant(QString::null));
|
m_buildConfiguration->setValue("buildDirectory", QVariant(QString::null));
|
||||||
updateDetails();
|
updateDetails();
|
||||||
m_pro->invalidateCachedTargetInformation();
|
m_pro->invalidateCachedTargetInformation();
|
||||||
updateImportLabel();
|
updateImportLabel();
|
||||||
@@ -231,10 +229,9 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
bool visible = false;
|
bool visible = false;
|
||||||
|
|
||||||
// we only show if we actually have a qmake and makestep
|
// we only show if we actually have a qmake and makestep
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
if (m_pro->qmakeStep(m_buildConfiguration) && m_pro->makeStep(m_buildConfiguration)) {
|
||||||
if (m_pro->qmakeStep(bc) && m_pro->makeStep(bc)) {
|
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(m_pro->buildDirectory(m_buildConfiguration));
|
||||||
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(m_pro->buildDirectory(bc));
|
QtVersion *version = m_pro->qtVersion(m_buildConfiguration);
|
||||||
QtVersion *version = m_pro->qtVersion(bc);
|
|
||||||
// check that there's a makefile
|
// check that there's a makefile
|
||||||
if (!qmakePath.isEmpty()) {
|
if (!qmakePath.isEmpty()) {
|
||||||
// and that the qmake path is different from the current version
|
// and that the qmake path is different from the current version
|
||||||
@@ -243,7 +240,7 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
visible = true;
|
visible = true;
|
||||||
} else {
|
} else {
|
||||||
// check that the qmake flags, arguments match
|
// check that the qmake flags, arguments match
|
||||||
visible = !m_pro->compareBuildConfigurationToImportFrom(bc, m_pro->buildDirectory(bc));
|
visible = !m_pro->compareBuildConfigurationToImportFrom(m_buildConfiguration, m_pro->buildDirectory(m_buildConfiguration));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
visible = false;
|
visible = false;
|
||||||
@@ -255,10 +252,9 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
|
|
||||||
void Qt4ProjectConfigWidget::shadowBuildLineEditTextChanged()
|
void Qt4ProjectConfigWidget::shadowBuildLineEditTextChanged()
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
if (m_buildConfiguration->value("buildDirectory").toString() == m_ui->shadowBuildDirEdit->path())
|
||||||
if (bc->value("buildDirectory").toString() == m_ui->shadowBuildDirEdit->path())
|
|
||||||
return;
|
return;
|
||||||
bc->setValue("buildDirectory", m_ui->shadowBuildDirEdit->path());
|
m_buildConfiguration->setValue("buildDirectory", m_ui->shadowBuildDirEdit->path());
|
||||||
// if the directory already exists
|
// if the directory already exists
|
||||||
// check if we have a build in there and
|
// check if we have a build in there and
|
||||||
// offer to import it
|
// offer to import it
|
||||||
@@ -270,10 +266,9 @@ void Qt4ProjectConfigWidget::shadowBuildLineEditTextChanged()
|
|||||||
|
|
||||||
void Qt4ProjectConfigWidget::importLabelClicked()
|
void Qt4ProjectConfigWidget::importLabelClicked()
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
if (!m_pro->qmakeStep(m_buildConfiguration) || !m_pro->makeStep(m_buildConfiguration))
|
||||||
if (!m_pro->qmakeStep(bc) || !m_pro->makeStep(bc))
|
|
||||||
return;
|
return;
|
||||||
QString directory = m_pro->buildDirectory(bc);
|
QString directory = m_pro->buildDirectory(m_buildConfiguration);
|
||||||
if (!directory.isEmpty()) {
|
if (!directory.isEmpty()) {
|
||||||
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(directory);
|
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(directory);
|
||||||
if (!qmakePath.isEmpty()) {
|
if (!qmakePath.isEmpty()) {
|
||||||
@@ -298,14 +293,14 @@ void Qt4ProjectConfigWidget::importLabelClicked()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// So we got all the information now apply it...
|
// So we got all the information now apply it...
|
||||||
m_pro->setQtVersion(bc, version->uniqueId());
|
m_pro->setQtVersion(m_buildConfiguration, version->uniqueId());
|
||||||
// Combo box will be updated at the end
|
// Combo box will be updated at the end
|
||||||
|
|
||||||
QMakeStep *qmakeStep = m_pro->qmakeStep(bc);
|
QMakeStep *qmakeStep = m_pro->qmakeStep(m_buildConfiguration);
|
||||||
qmakeStep->setQMakeArguments(additionalArguments);
|
qmakeStep->setQMakeArguments(additionalArguments);
|
||||||
MakeStep *makeStep = m_pro->makeStep(bc);
|
MakeStep *makeStep = m_pro->makeStep(m_buildConfiguration);
|
||||||
|
|
||||||
bc->setValue("buildConfiguration", int(qmakeBuildConfig));
|
m_buildConfiguration->setValue("buildConfiguration", int(qmakeBuildConfig));
|
||||||
// Adjust command line arguments, this is ugly as hell
|
// Adjust command line arguments, this is ugly as hell
|
||||||
// If we are switching to BuildAll we want "release" in there and no "debug"
|
// If we are switching to BuildAll we want "release" in there and no "debug"
|
||||||
// or "debug" in there and no "release"
|
// or "debug" in there and no "release"
|
||||||
@@ -340,8 +335,8 @@ void Qt4ProjectConfigWidget::qtVersionComboBoxCurrentIndexChanged(const QString
|
|||||||
QtVersionManager *vm = QtVersionManager::instance();
|
QtVersionManager *vm = QtVersionManager::instance();
|
||||||
bool isValid = vm->version(newQtVersion)->isValid();
|
bool isValid = vm->version(newQtVersion)->isValid();
|
||||||
m_ui->invalidQtWarningLabel->setVisible(!isValid);
|
m_ui->invalidQtWarningLabel->setVisible(!isValid);
|
||||||
if (newQtVersion != m_pro->qtVersionId(m_pro->buildConfiguration(m_buildConfiguration))) {
|
if (newQtVersion != m_pro->qtVersionId(m_buildConfiguration)) {
|
||||||
m_pro->setQtVersion(m_pro->buildConfiguration(m_buildConfiguration), newQtVersion);
|
m_pro->setQtVersion(m_buildConfiguration, newQtVersion);
|
||||||
updateToolChainCombo();
|
updateToolChainCombo();
|
||||||
m_pro->update();
|
m_pro->update();
|
||||||
}
|
}
|
||||||
@@ -351,14 +346,13 @@ void Qt4ProjectConfigWidget::qtVersionComboBoxCurrentIndexChanged(const QString
|
|||||||
void Qt4ProjectConfigWidget::updateToolChainCombo()
|
void Qt4ProjectConfigWidget::updateToolChainCombo()
|
||||||
{
|
{
|
||||||
m_ui->toolChainComboBox->clear();
|
m_ui->toolChainComboBox->clear();
|
||||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
QList<ProjectExplorer::ToolChain::ToolChainType> toolchains = m_pro->qtVersion(m_buildConfiguration)->possibleToolChainTypes();
|
||||||
QList<ProjectExplorer::ToolChain::ToolChainType> toolchains = m_pro->qtVersion(bc)->possibleToolChainTypes();
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
foreach (ToolChain::ToolChainType toolchain, toolchains) {
|
foreach (ToolChain::ToolChainType toolchain, toolchains) {
|
||||||
m_ui->toolChainComboBox->addItem(ToolChain::toolChainName(toolchain), qVariantFromValue(toolchain));
|
m_ui->toolChainComboBox->addItem(ToolChain::toolChainName(toolchain), qVariantFromValue(toolchain));
|
||||||
}
|
}
|
||||||
m_ui->toolChainComboBox->setEnabled(toolchains.size() > 1);
|
m_ui->toolChainComboBox->setEnabled(toolchains.size() > 1);
|
||||||
setToolChain(toolchains.indexOf(m_pro->toolChainType(bc)));
|
setToolChain(toolchains.indexOf(m_pro->toolChainType(m_buildConfiguration)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4ProjectConfigWidget::selectToolChain(int index)
|
void Qt4ProjectConfigWidget::selectToolChain(int index)
|
||||||
@@ -372,7 +366,7 @@ void Qt4ProjectConfigWidget::setToolChain(int index)
|
|||||||
ProjectExplorer::ToolChain::ToolChainType selectedToolChainType =
|
ProjectExplorer::ToolChain::ToolChainType selectedToolChainType =
|
||||||
m_ui->toolChainComboBox->itemData(index,
|
m_ui->toolChainComboBox->itemData(index,
|
||||||
Qt::UserRole).value<ProjectExplorer::ToolChain::ToolChainType>();
|
Qt::UserRole).value<ProjectExplorer::ToolChain::ToolChainType>();
|
||||||
m_pro->setToolChainType(m_pro->buildConfiguration(m_buildConfiguration), selectedToolChainType);
|
m_pro->setToolChainType(m_buildConfiguration, selectedToolChainType);
|
||||||
if (m_ui->toolChainComboBox->currentIndex() != index)
|
if (m_ui->toolChainComboBox->currentIndex() != index)
|
||||||
m_ui->toolChainComboBox->setCurrentIndex(index);
|
m_ui->toolChainComboBox->setCurrentIndex(index);
|
||||||
updateDetails();
|
updateDetails();
|
||||||
|
@@ -52,7 +52,7 @@ public:
|
|||||||
~Qt4ProjectConfigWidget();
|
~Qt4ProjectConfigWidget();
|
||||||
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
void init(const QString &buildConfiguration);
|
void init(ProjectExplorer::BuildConfiguration *bc);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void changeConfigName(const QString &newName);
|
void changeConfigName(const QString &newName);
|
||||||
@@ -72,8 +72,8 @@ private:
|
|||||||
void setToolChain(int index);
|
void setToolChain(int index);
|
||||||
Ui::Qt4ProjectConfigWidget *m_ui;
|
Ui::Qt4ProjectConfigWidget *m_ui;
|
||||||
QAbstractButton *m_browseButton;
|
QAbstractButton *m_browseButton;
|
||||||
Qt4Project *m_pro;
|
Qt4Project *m_pro; // TODO remove
|
||||||
QString m_buildConfiguration;
|
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||||
Utils::DetailsWidget *m_detailsContainer;
|
Utils::DetailsWidget *m_detailsContainer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -80,7 +80,7 @@ Qt4RunConfiguration::Qt4RunConfiguration(Qt4Project *pro, const QString &proFile
|
|||||||
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
|
|
||||||
connect(pro, SIGNAL(environmentChanged(QString)),
|
connect(pro, SIGNAL(environmentChanged(ProjectExplorer::BuildConfiguration *)),
|
||||||
this, SIGNAL(baseEnvironmentChanged()));
|
this, SIGNAL(baseEnvironmentChanged()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user