diff options
author | dt <qtc-committer@nokia.com> | 2009-11-24 15:36:31 +0100 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2009-11-30 15:24:31 +0100 |
commit | 7904544b8426cd7b29af4ef891890a9c4aba42a7 (patch) | |
tree | 9b8e34b023aa5408130db28238219252d4e2ab69 /src/plugins/cmakeprojectmanager | |
parent | 60a1ee12ba09085f9e14e1a4f6e915705a4c4b48 (diff) | |
download | qt-creator-7904544b8426cd7b29af4ef891890a9c4aba42a7.tar.gz |
Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
Diffstat (limited to 'src/plugins/cmakeprojectmanager')
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(); } |