From 90a02875cf1daaa9210285f289a1ab4934e7be36 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 14 Apr 2011 14:48:14 +0200 Subject: [PATCH] ToolChain: Remove invalid toolchain when not needed Remove the invalid toolchain from the combobox when it is no longer needed. --- .../qt4projectconfigwidget.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index 3d7e781ff6b..d51748ef266 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -458,6 +458,7 @@ void Qt4ProjectConfigWidget::toolChainChanged() { if (m_ignoreChange) return; + bool foundTc = false; for (int i = 0; i < m_ui->toolChainComboBox->count(); ++i) { ProjectExplorer::ToolChain *tc = static_cast(m_ui->toolChainComboBox->itemData(i, Qt::UserRole).value()); @@ -465,13 +466,20 @@ void Qt4ProjectConfigWidget::toolChainChanged() m_ignoreChange = true; m_ui->toolChainComboBox->setCurrentIndex(i); m_ignoreChange = false; - return; + foundTc = true; + break; } } - m_ignoreChange = true; - m_ui->toolChainComboBox->addItem(tr(""), qVariantFromValue(static_cast(0))); - m_ui->toolChainComboBox->setCurrentIndex(m_ui->toolChainComboBox->count() - 1); - m_ignoreChange = false; + if (foundTc) { + int index = m_ui->toolChainComboBox->findData(qVariantFromValue(static_cast(0))); + if (index >= 0) + m_ui->toolChainComboBox->removeItem(index); + } else { + m_ignoreChange = true; + m_ui->toolChainComboBox->addItem(tr(""), qVariantFromValue(static_cast(0))); + m_ui->toolChainComboBox->setCurrentIndex(m_ui->toolChainComboBox->count() - 1); + m_ignoreChange = false; + } } void Qt4ProjectConfigWidget::updateToolChainCombo()