summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qt4projectmanager/qmakestep.cpp21
-rw-r--r--src/plugins/qt4projectmanager/qmakestep.h7
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp2
-rw-r--r--src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp2
4 files changed, 19 insertions, 13 deletions
diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index 6a7f03aaaa..42ab6d2468 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 36df20026a..c6a4a37b95 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 88d2afad29..9fafc02dd5 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 f97ae476e5..fb9ba63807 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));