From 16fcb82d088b7060cf4b4268b99e8a4b60ee3650 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Mon, 30 Nov 2009 16:34:30 +0100
Subject: [PATCH] Fix signal names and also ensure that we don't reset the
 cursor position

---
 src/plugins/qt4projectmanager/qmakestep.cpp   | 21 ++++++++++++-------
 src/plugins/qt4projectmanager/qmakestep.h     |  7 ++++---
 src/plugins/qt4projectmanager/qt4project.cpp  |  2 +-
 .../qt4projectconfigwidget.cpp                |  2 +-
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index 6a7f03aaaa3..42ab6d24680 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -216,10 +216,10 @@ bool QMakeStep::processFinished(int exitCode, QProcess::ExitStatus status)
     return result;
 }
 
-void QMakeStep::setQMakeArguments(const QStringList &arguments)
+void QMakeStep::setUserArguments(const QStringList &arguments)
 {
     m_userArgs = arguments;
-    emit changed();
+    emit userArgumentsChanged();
 }
 
 QStringList QMakeStep::userArguments()
@@ -240,14 +240,14 @@ void QMakeStep::storeIntoLocalMap(QMap<QString, QVariant> &map)
 }
 
 QMakeStepConfigWidget::QMakeStepConfigWidget(QMakeStep *step)
-    : BuildStepConfigWidget(), m_step(step)
+    : BuildStepConfigWidget(), m_step(step), m_ignoreChange(false)
 {
     m_ui.setupUi(this);
     connect(m_ui.qmakeAdditonalArgumentsLineEdit, SIGNAL(textEdited(const QString&)),
             this, SLOT(qmakeArgumentsLineEditTextEdited()));
     connect(m_ui.buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(buildConfigurationChanged()));
-    connect(step, SIGNAL(changed()),
-            this, SLOT(update()));
+    connect(step, SIGNAL(userArgumentsChanged()),
+            this, SLOT(userArgumentsChanged()));
     connect(step->buildConfiguration(), SIGNAL(qtVersionChanged()),
             this, SLOT(qtVersionChanged()));
 }
@@ -289,8 +289,10 @@ void QMakeStepConfigWidget::updateTitleLabel()
 
 void QMakeStepConfigWidget::qmakeArgumentsLineEditTextEdited()
 {
-    m_step->setQMakeArguments(
+    m_ignoreChange = true;
+    m_step->setUserArguments(
             ProjectExplorer::Environment::parseCombinedArgString(m_ui.qmakeAdditonalArgumentsLineEdit->text()));
+    m_ignoreChange = false;
 
     m_step->qt4BuildConfiguration()->qt4Project()->invalidateCachedTargetInformation();
     updateTitleLabel();
@@ -321,9 +323,12 @@ QString QMakeStepConfigWidget::displayName() const
     return m_step->displayName();
 }
 
-void QMakeStepConfigWidget::update()
+void QMakeStepConfigWidget::userArgumentsChanged()
 {
-    init();
+    if (m_ignoreChange)
+        return;
+    QString qmakeArgs = ProjectExplorer::Environment::joinArgumentList(m_step->userArguments());
+    m_ui.qmakeAdditonalArgumentsLineEdit->setText(qmakeArgs);
 }
 
 void QMakeStepConfigWidget::init()
diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h
index 36df20026af..c6a4a37b95d 100644
--- a/src/plugins/qt4projectmanager/qmakestep.h
+++ b/src/plugins/qt4projectmanager/qmakestep.h
@@ -83,13 +83,13 @@ public:
 
     QStringList allArguments();
     QStringList userArguments();
-    void setQMakeArguments(const QStringList &arguments);
+    void setUserArguments(const QStringList &arguments);
 
     virtual void restoreFromLocalMap(const QMap<QString, QVariant> &map);
     virtual void storeIntoLocalMap(QMap<QString, QVariant> &map);
 
 signals:
-    void changed();
+    void userArgumentsChanged();
 
 protected:
     virtual void processStartupFailed();
@@ -115,7 +115,7 @@ public:
 private slots:
     void qmakeArgumentsLineEditTextEdited();
     void buildConfigurationChanged();
-    void update();
+    void userArgumentsChanged();
     void qtVersionChanged();
 private:
     void updateTitleLabel();
@@ -123,6 +123,7 @@ private:
     Ui::QMakeStep m_ui;
     QMakeStep *m_step;
     QString m_summaryText;
+    bool m_ignoreChange;
 };
 
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 88d2afad297..9fafc02dd52 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -476,7 +476,7 @@ Qt4BuildConfiguration *Qt4Project::addQt4BuildConfiguration(QString displayName,
     cleanStep->setClean(true);
     bc->insertCleanStep(0, cleanStep);
     if (!additionalArguments.isEmpty())
-        qmakeStep->setQMakeArguments(additionalArguments);
+        qmakeStep->setUserArguments(additionalArguments);
 
     // set some options for qmake and make
     if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index f97ae476e5d..fb9ba63807c 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -298,7 +298,7 @@ void Qt4ProjectConfigWidget::importLabelClicked()
             // Combo box will be updated at the end
 
             QMakeStep *qmakeStep = m_buildConfiguration->qmakeStep();
-            qmakeStep->setQMakeArguments(additionalArguments);
+            qmakeStep->setUserArguments(additionalArguments);
             MakeStep *makeStep = m_buildConfiguration->makeStep();
 
             m_buildConfiguration->setValue("buildConfiguration", int(qmakeBuildConfig));
-- 
GitLab