diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index ed279970d50a2746b292e7c34af4312fa2216ace..c2b2cb7d94c9be42c03b33a128bd4ee857337189 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -80,7 +80,10 @@ QString BuildConfiguration::displayName() const void BuildConfiguration::setDisplayName(const QString &name) { + if (value("ProjectExplorer.BuildConfiguration.DisplayName").toString() == name) + return; setValue("ProjectExplorer.BuildConfiguration.DisplayName", name); + emit displayNameChanged(); } QVariant BuildConfiguration::value(const QString & key) const diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 09950668b2d796ab911452ee4e11ef2b3aa705f0..a54e7a6705b52e8a12a1c41d0dea2318d2fae5fd 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -82,6 +82,7 @@ public: signals: void environmentChanged(); void buildDirectoryChanged(); + void displayNameChanged(); protected: BuildConfiguration(Project * project); diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index d73e2c9790443f77899d929b893e260cfc41ccd8..45d939d5b03fd7ad19ff7dc3c1b9ba294e1a38eb 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -200,8 +200,7 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project) connect(m_removeButton, SIGNAL(clicked()), this, SLOT(deleteConfiguration())); - connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *)), - this, SLOT(buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *))); + // TODO update on displayNameChange connect(m_project, SIGNAL(activeBuildConfigurationChanged()), this, SLOT(checkMakeActiveLabel())); @@ -231,17 +230,6 @@ void BuildSettingsWidget::updateAddButtonMenu() } } -void BuildSettingsWidget::buildConfigurationDisplayNameChanged(BuildConfiguration *bc) -{ - for (int i=0; i<m_buildConfigurationComboBox->count(); ++i) { - if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == bc) { - m_buildConfigurationComboBox->setItemText(i, bc->displayName()); - break; - } - } -} - - void BuildSettingsWidget::updateBuildSettings() { // TODO save position, entry from combbox @@ -350,7 +338,7 @@ void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfigura newDisplayName = Project::makeUnique(newDisplayName, buildConfigurationDisplayNames); m_buildConfiguration = m_project->buildConfigurationFactory()->clone(sourceConfiguration); - m_project->setDisplayNameFor(m_buildConfiguration, newDisplayName); + m_buildConfiguration->setDisplayName(newDisplayName); updateBuildSettings(); } diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h index 0026553b77e21f5ef806ed697aa941d05da33692..652f91e116feb8f3357be2878b49918268026e22 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.h +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h @@ -94,7 +94,6 @@ public: ~BuildSettingsWidget(); private slots: - void buildConfigurationDisplayNameChanged(ProjectExplorer::BuildConfiguration *bc); void updateBuildSettings(); void currentIndexChanged(int index); void activeBuildConfigurationChanged(); diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp index 2804ec414f98c12455202d22c6c2000e6b55a338..0930901be9ee86749c7d5c6f5f86e1b0241d2d76 100644 --- a/src/plugins/projectexplorer/buildstepspage.cpp +++ b/src/plugins/projectexplorer/buildstepspage.cpp @@ -49,6 +49,7 @@ BuildStepsPage::BuildStepsPage(Project *project, bool clean) : BuildConfigWidget(), m_clean(clean) { + Q_UNUSED(project) m_vbox = new QVBoxLayout(this); m_vbox->setContentsMargins(0, 0, 0, 0); m_vbox->setSpacing(0); diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 6a05b9264dda1193b35c7d5d508a24ff30eb1547..5d5bd9a3f71ad9b8236161d60b348ba532e67329 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -463,23 +463,6 @@ EditorConfiguration *Project::editorConfiguration() const return m_editorConfiguration; } -void Project::setDisplayNameFor(BuildConfiguration *configuration, const QString &displayName) -{ - if (configuration->displayName() == displayName) - return; - QString dn = displayName; - QStringList displayNames; - foreach (BuildConfiguration *bc, m_buildConfigurationValues) { - if (bc != configuration) - displayNames << bc->displayName(); - } - dn = makeUnique(displayName, displayNames); - - configuration->setDisplayName(displayName); - - emit buildConfigurationDisplayNameChanged(configuration); -} - QByteArray Project::predefinedMacros(const QString &) const { return QByteArray(); diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 4c543169ec5de5bead1af259206f618b698c5895..3885725120e932ebacbdf939d6e516cbdae44d44 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -88,10 +88,6 @@ public: void removeBuildConfiguration(BuildConfiguration *configuration); QList<BuildConfiguration *> buildConfigurations() const; - - // remove and add "QString uniqueConfigurationDisplayName(const QString &proposedName) const" instead - // move into BuildConfiguration * - void setDisplayNameFor(BuildConfiguration *configuration, const QString &displayName); BuildConfiguration *activeBuildConfiguration() const; void setActiveBuildConfiguration(BuildConfiguration *configuration); @@ -146,10 +142,6 @@ signals: void removedBuildConfiguration(ProjectExplorer::Project *p, BuildConfiguration *bc); void addedBuildConfiguration(ProjectExplorer::Project *p, BuildConfiguration *bc); - // This signal is jut there for updating the tree list in the buildsettings wizard - void buildConfigurationDisplayNameChanged(BuildConfiguration *bc); - - protected: /* This method is called when the project .user file is saved. Simply call * writer.saveValue() for each value you want to save. Make sure to always diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index d3cb0ac77f766f9ea16adcfbeebcdd376dfb3b43..3aff94f2a595e78a2e38f81dcb4d38169ba9424c 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -343,7 +343,7 @@ Qt4BuildConfiguration *Qt4Project::activeQt4BuildConfiguration() const void Qt4Project::defaultQtVersionChanged() { - if (static_cast<Qt4BuildConfiguration *>(activeBuildConfiguration())->qtVersionId() == 0) + if (activeQt4BuildConfiguration()->qtVersionId() == 0) m_rootProjectNode->update(); } diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index b155944af6a088c25533d3056f1995e736ea053d..768e0c735a97dbcc96b2f7fd1b44819e7269b685 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -165,7 +165,7 @@ void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc) void Qt4ProjectConfigWidget::changeConfigName(const QString &newName) { - m_buildConfiguration->project()->setDisplayNameFor(m_buildConfiguration, newName); + m_buildConfiguration->setDisplayName(newName); } void Qt4ProjectConfigWidget::setupQtVersionsComboBox()