summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2009-11-24 15:36:31 +0100
committerdt <qtc-committer@nokia.com>2009-11-30 15:24:31 +0100
commit7904544b8426cd7b29af4ef891890a9c4aba42a7 (patch)
tree9b8e34b023aa5408130db28238219252d4e2ab69 /src/plugins/cmakeprojectmanager
parent60a1ee12ba09085f9e14e1a4f6e915705a4c4b48 (diff)
downloadqt-creator-7904544b8426cd7b29af4ef891890a9c4aba42a7.tar.gz
Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
Diffstat (limited to 'src/plugins/cmakeprojectmanager')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp8
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h4
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp21
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h4
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp34
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.h8
-rw-r--r--src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/makestep.cpp12
8 files changed, 45 insertions, 48 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index 4cf0a74391..76c260b40a 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -33,14 +33,14 @@
using namespace CMakeProjectManager;
using namespace Internal;
-CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro, const QString &name)
- : BuildConfiguration(pro, name)
+CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro)
+ : BuildConfiguration(pro)
{
}
-CMakeBuildConfiguration::CMakeBuildConfiguration(const QString &name, BuildConfiguration *source)
- : BuildConfiguration(name, source)
+CMakeBuildConfiguration::CMakeBuildConfiguration(BuildConfiguration *source)
+ : BuildConfiguration(source)
{
}
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
index 2152b8bb23..3eb7160077 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
@@ -40,8 +40,8 @@ class CMakeProject;
class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration
{
public:
- CMakeBuildConfiguration(CMakeProject *pro, const QString &name);
- CMakeBuildConfiguration(const QString &name, BuildConfiguration *source);
+ CMakeBuildConfiguration(CMakeProject *pro);
+ CMakeBuildConfiguration(BuildConfiguration *source);
};
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
index ecae63b841..5aa29db273 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
@@ -41,7 +41,7 @@ using namespace CMakeProjectManager;
using namespace CMakeProjectManager::Internal;
CMakeBuildEnvironmentWidget::CMakeBuildEnvironmentWidget(CMakeProject *project)
- : BuildConfigWidget(), m_pro(project)
+ : BuildConfigWidget(), m_pro(project), m_buildConfiguration(0)
{
QVBoxLayout *vbox = new QVBoxLayout(this);
vbox->setMargin(0);
@@ -63,29 +63,26 @@ QString CMakeBuildEnvironmentWidget::displayName() const
return tr("Build Environment");
}
-void CMakeBuildEnvironmentWidget::init(const QString &buildConfigurationName)
+void CMakeBuildEnvironmentWidget::init(ProjectExplorer::BuildConfiguration *bc)
{
if (debug)
qDebug() << "Qt4BuildConfigWidget::init()";
- m_buildConfiguration = buildConfigurationName;
+ m_buildConfiguration = bc;
- ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfigurationName);
- m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(bc));
- m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
- m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(bc));
+ m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(m_buildConfiguration));
+ m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
+ m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(m_buildConfiguration));
m_buildEnvironmentWidget->updateButtons();
}
void CMakeBuildEnvironmentWidget::environmentModelUserChangesUpdated()
{
- m_pro->setUserEnvironmentChanges(
- m_pro->buildConfiguration(m_buildConfiguration), m_buildEnvironmentWidget->userChanges());
+ m_pro->setUserEnvironmentChanges(m_buildConfiguration, m_buildEnvironmentWidget->userChanges());
}
void CMakeBuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
{
- ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
- m_pro->setUseSystemEnvironment(bc, !checked);
- m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
+ m_pro->setUseSystemEnvironment(m_buildConfiguration, !checked);
+ m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
}
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
index e059783849..c732044b9d 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
@@ -51,7 +51,7 @@ public:
CMakeBuildEnvironmentWidget(CMakeProject *project);
QString displayName() const;
- void init(const QString &buildConfiguration);
+ void init(ProjectExplorer::BuildConfiguration *bc);
private slots:
void environmentModelUserChangesUpdated();
@@ -61,7 +61,7 @@ private:
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
QCheckBox *m_clearSystemEnvironmentCheckBox;
CMakeProject *m_pro;
- QString m_buildConfiguration;
+ ProjectExplorer::BuildConfiguration *m_buildConfiguration;
};
} // namespace Internal
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 9c42cbf1b1..08ea3b45e9 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -104,7 +104,8 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
&ok);
if (!ok || buildConfigurationName.isEmpty())
return false;
- BuildConfiguration *bc = new CMakeBuildConfiguration(m_project, buildConfigurationName);
+ BuildConfiguration *bc = new CMakeBuildConfiguration(m_project);
+ bc->setDisplayName(buildConfigurationName);
MakeStep *makeStep = new MakeStep(bc);
bc->insertBuildStep(0, makeStep);
@@ -133,17 +134,17 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
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 *bc = new CMakeBuildConfiguration(name, old);
+ CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(old);
m_project->addBuildConfiguration(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;
}
@@ -590,7 +591,7 @@ void CMakeProject::setUseSystemEnvironment(BuildConfiguration *configuration, bo
if (b == useSystemEnvironment(configuration))
return;
configuration->setValue("clearSystemEnvironment", !b);
- emit environmentChanged(configuration->name());
+ emit environmentChanged(configuration);
}
bool CMakeProject::useSystemEnvironment(BuildConfiguration *configuration) const
@@ -611,7 +612,7 @@ void CMakeProject::setUserEnvironmentChanges(BuildConfiguration *configuration,
if (list == configuration->value("userEnvironmentChanges"))
return;
configuration->setValue("userEnvironmentChanges", list);
- emit environmentChanged(configuration->name());
+ emit environmentChanged(configuration);
}
QString CMakeProject::buildDirectory(BuildConfiguration *configuration) const
@@ -664,7 +665,8 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader
if (copw.exec() != QDialog::Accepted)
return false;
- CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this, "all");
+ CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this);
+ bc->setDisplayName("all");
addBuildConfiguration(bc);
bc->setValue("msvcVersion", copw.msvcVersion());
if (!copw.buildDirectory().isEmpty())
@@ -792,7 +794,7 @@ void CMakeFile::modified(ReloadBehavior *behavior)
}
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeProject *project)
- : m_project(project)
+ : m_project(project), m_buildConfiguration(0)
{
QFormLayout *fl = new QFormLayout(this);
fl->setContentsMargins(20, -1, 0, -1);
@@ -821,10 +823,9 @@ QString CMakeBuildSettingsWidget::displayName() const
return "CMake";
}
-void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
+void CMakeBuildSettingsWidget::init(BuildConfiguration *bc)
{
- m_buildConfiguration = buildConfigurationName;
- BuildConfiguration *bc = m_project->buildConfiguration(buildConfigurationName);
+ m_buildConfiguration = bc;
m_pathLineEdit->setText(m_project->buildDirectory(bc));
if (m_project->buildDirectory(bc) == m_project->sourceDirectory())
m_changeButton->setEnabled(false);
@@ -834,14 +835,13 @@ void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
{
- BuildConfiguration *bc = m_project->buildConfiguration(m_buildConfiguration);
CMakeOpenProjectWizard copw(m_project->projectManager(),
m_project->sourceDirectory(),
- m_project->buildDirectory(bc),
- m_project->environment(bc));
+ m_project->buildDirectory(m_buildConfiguration),
+ m_project->environment(m_buildConfiguration));
if (copw.exec() == QDialog::Accepted) {
- m_project->changeBuildDirectory(bc, copw.buildDirectory());
- m_pathLineEdit->setText(m_project->buildDirectory(bc));
+ m_project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory());
+ m_pathLineEdit->setText(m_project->buildDirectory(m_buildConfiguration));
}
}
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index 6e61e7889f..f9e694dc6a 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -74,8 +74,8 @@ public:
QString displayNameForType(const QString &type) const;
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
- ProjectExplorer::BuildConfiguration *clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const;
- ProjectExplorer::BuildConfiguration *restore(const QString &name) const;
+ ProjectExplorer::BuildConfiguration *clone(ProjectExplorer::BuildConfiguration *source) const;
+ ProjectExplorer::BuildConfiguration *restore() const;
private:
CMakeProject *m_project;
@@ -232,14 +232,14 @@ public:
// This is called to set up the config widget before showing it
// buildConfiguration is QString::null for the non buildConfiguration specific page
- virtual void init(const QString &buildConfiguration);
+ virtual void init(ProjectExplorer::BuildConfiguration *bc);
private slots:
void openChangeBuildDirectoryDialog();
private:
CMakeProject *m_project;
QLineEdit *m_pathLineEdit;
QPushButton *m_changeButton;
- QString m_buildConfiguration;
+ ProjectExplorer::BuildConfiguration *m_buildConfiguration;
};
} // namespace Internal
diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
index da290d66a7..fc4c5868ad 100644
--- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
@@ -58,7 +58,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(CMakeProject *pro, const QString &t
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
this, SIGNAL(baseEnvironmentChanged()));
- connect(pro, SIGNAL(environmentChanged(QString)),
+ connect(pro, SIGNAL(environmentChanged(ProjectExplorer::BuildConfiguration *)),
this, SIGNAL(baseEnvironmentChanged()));
}
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index e0ea03b4f9..7e49f180c2 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -202,7 +202,8 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
fl->addRow(tr("Targets:"), m_targetsList);
// 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()) {
QListWidgetItem *item = new QListWidgetItem(target, m_targetsList);
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
@@ -251,11 +252,10 @@ void MakeStepConfigWidget::updateDetails()
{
QStringList arguments = m_makeStep->m_buildTargets;
arguments << m_makeStep->additionalArguments();
- m_summaryText = tr("<b>Make:</b> %1 %2")
- .arg(m_makeStep->project()->toolChain(
- m_makeStep->buildConfiguration())
- ->makeCommand(),
- arguments.join(" "));
+
+ BuildConfiguration *bc = m_makeStep->buildConfiguration();
+ CMakeProject *pro = static_cast<CMakeProject *>(bc->project());
+ m_summaryText = tr("<b>Make:</b> %1 %2").arg(pro->toolChain(bc)->makeCommand(), arguments.join(" "));
emit updateSummary();
}