From 4798ec5529666e2297881fa4433e5e9880d920d4 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Thu, 29 Oct 2009 19:42:56 +0100
Subject: [PATCH] On qt version change updat qmakestep config widget

That is the effective qmake command and summary label.
---
 src/plugins/qt4projectmanager/qmakestep.cpp  | 10 ++++++++++
 src/plugins/qt4projectmanager/qmakestep.h    |  1 +
 src/plugins/qt4projectmanager/qt4project.cpp |  1 +
 src/plugins/qt4projectmanager/qt4project.h   |  1 +
 4 files changed, 13 insertions(+)

diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index fc6296576ab..92dc312a3a1 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -209,6 +209,8 @@ QMakeStepConfigWidget::QMakeStepConfigWidget(QMakeStep *step)
     connect(m_ui.buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(buildConfigurationChanged()));
     connect(step, SIGNAL(changed()),
             this, SLOT(update()));
+    connect(step->project(), SIGNAL(qtVersionChanged(ProjectExplorer::BuildConfiguration *)),
+            this, SLOT(qtVersionChanged(ProjectExplorer::BuildConfiguration *)));
 }
 
 QString QMakeStepConfigWidget::summaryText() const
@@ -216,6 +218,14 @@ QString QMakeStepConfigWidget::summaryText() const
     return m_summaryText;
 }
 
+void QMakeStepConfigWidget::qtVersionChanged(ProjectExplorer::BuildConfiguration *bc)
+{
+    if (bc && bc->name() == m_buildConfiguration) {
+        updateTitleLabel();
+        updateEffectiveQMakeCall();
+    }
+}
+
 void QMakeStepConfigWidget::updateTitleLabel()
 {
     Qt4Project *qt4project = qobject_cast<Qt4Project *>(m_step->project());
diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h
index 6588fa41bf6..d23d471636e 100644
--- a/src/plugins/qt4projectmanager/qmakestep.h
+++ b/src/plugins/qt4projectmanager/qmakestep.h
@@ -107,6 +107,7 @@ private slots:
     void qmakeArgumentsLineEditTextEdited();
     void buildConfigurationChanged();
     void update();
+    void qtVersionChanged(ProjectExplorer::BuildConfiguration *bc);
 private:
     void updateTitleLabel();
     void updateEffectiveQMakeCall();
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 3f6e89b963b..b188b7855af 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -984,6 +984,7 @@ int Qt4Project::qtVersionId(BuildConfiguration *configuration) const
 void Qt4Project::setQtVersion(BuildConfiguration *configuration, int id)
 {
     configuration->setValue(KEY_QT_VERSION_ID, id);
+    emit qtVersionChanged(configuration);
     updateActiveRunConfiguration();
 }
 
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index a9ed61871dd..95f2c79b4d0 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -238,6 +238,7 @@ public:
     static QString extractSpecFromArgumentList(const QStringList &list);
 signals:
     void targetInformationChanged();
+    void qtVersionChanged(ProjectExplorer::BuildConfiguration *);
 
 public slots:
     void update();
-- 
GitLab