summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/projectexplorer/projectwindow.cpp24
-rw-r--r--src/plugins/projectexplorer/projectwindow.h2
2 files changed, 17 insertions, 9 deletions
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index 2414782b1b..09780c1c8f 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -502,8 +502,11 @@ BuildConfigurationComboBox::BuildConfigurationComboBox(Project *p, QWidget *pare
addWidget(m_label);
//m_comboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
- foreach(BuildConfiguration *buildConfiguration, p->buildConfigurations())
+ foreach(BuildConfiguration *buildConfiguration, p->buildConfigurations()) {
m_comboBox->addItem(buildConfiguration->displayName(), QVariant::fromValue(buildConfiguration));
+ connect(buildConfiguration, SIGNAL(displayNameChanged()),
+ this, SLOT(displayNameChanged()));
+ }
if (p->buildConfigurations().count() == 1) {
m_label->setText(m_comboBox->itemText(0));
setCurrentWidget(m_label);
@@ -531,15 +534,16 @@ BuildConfigurationComboBox::~BuildConfigurationComboBox()
}
-void BuildConfigurationComboBox::nameChanged(BuildConfiguration *bc)
+void BuildConfigurationComboBox::displayNameChanged()
{
- const int index(buildConfigurationToIndex(bc));
- if (index == -1)
- return;
- const QString &displayName = bc->displayName();
- m_comboBox->setItemText(index, displayName);
+ for (int i=0; i < m_comboBox->count(); ++i) {
+ BuildConfiguration *bc = m_comboBox->itemData(i).value<BuildConfiguration *>();
+ const QString &displayName = bc->displayName();
+ m_comboBox->setItemText(i, displayName);
+ }
+
if (m_comboBox->count() == 1)
- m_label->setText(displayName);
+ m_label->setText(m_comboBox->itemText(0));
}
int BuildConfigurationComboBox::buildConfigurationToIndex(BuildConfiguration *bc)
@@ -568,6 +572,8 @@ void BuildConfigurationComboBox::addedBuildConfiguration(BuildConfiguration *bc)
if (m_comboBox->count() == 2)
setCurrentWidget(m_comboBox);
ignoreIndexChange = false;
+ connect(bc, SIGNAL(displayNameChanged()),
+ this, SLOT(displayNameChanged()));
}
void BuildConfigurationComboBox::removedBuildConfiguration(BuildConfiguration * bc)
@@ -582,6 +588,8 @@ void BuildConfigurationComboBox::removedBuildConfiguration(BuildConfiguration *
setCurrentWidget(m_label);
}
ignoreIndexChange = false;
+ connect(bc, SIGNAL(displayNameChanged()),
+ this, SLOT(displayNameChanged()));
}
void BuildConfigurationComboBox::changedIndex(int newIndex)
diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h
index 55e43cc202..42532a65a1 100644
--- a/src/plugins/projectexplorer/projectwindow.h
+++ b/src/plugins/projectexplorer/projectwindow.h
@@ -95,7 +95,7 @@ public:
BuildConfigurationComboBox(ProjectExplorer::Project *p, QWidget *parent = 0);
~BuildConfigurationComboBox();
private slots:
- void nameChanged(BuildConfiguration *bc);
+ void displayNameChanged();
void activeConfigurationChanged();
void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);