diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 9642de569acdb2b2189df1e7928ca7a1996595b1..beb2fbc45e758bb1ddfb90bbc436adefb6f53d2c 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -54,7 +54,7 @@ MakeStep::MakeStep(ProjectExplorer::BuildConfiguration *bc) MakeStep::MakeStep(MakeStep *bs, ProjectExplorer::BuildConfiguration *bc) : AbstractMakeStep(bs, bc), m_clean(bs->m_clean), - m_makeargs(bs->m_makeargs), + m_userArgs(bs->m_userArgs), m_makeCmd(bs->m_makeCmd) { @@ -84,7 +84,7 @@ void MakeStep::restoreFromGlobalMap(const QMap<QString, QVariant> &map) void MakeStep::restoreFromLocalMap(const QMap<QString, QVariant> &map) { - m_makeargs = map.value("makeargs").toStringList(); + m_userArgs = map.value("makeargs").toStringList(); m_makeCmd = map.value("makeCmd").toString(); if (map.value("clean").isValid() && map.value("clean").toBool()) m_clean = true; @@ -93,7 +93,7 @@ void MakeStep::restoreFromLocalMap(const QMap<QString, QVariant> &map) void MakeStep::storeIntoLocalMap(QMap<QString, QVariant> &map) { - map["makeargs"] = m_makeargs; + map["makeargs"] = m_userArgs; map["makeCmd"] = m_makeCmd; if (m_clean) map["clean"] = true; @@ -128,7 +128,7 @@ bool MakeStep::init() // we should stop the clean queue // That is mostly so that rebuild works on a alrady clean project setIgnoreReturnValue(m_clean); - QStringList args = m_makeargs; + QStringList args = m_userArgs; if (!m_clean) { if (!bc->defaultMakeTarget().isEmpty()) args << bc->defaultMakeTarget(); @@ -196,19 +196,19 @@ ProjectExplorer::BuildStepConfigWidget *MakeStep::createConfigWidget() return new MakeStepConfigWidget(this); } -QStringList MakeStep::makeArguments() +QStringList MakeStep::userArguments() { - return m_makeargs; + return m_userArgs; } -void MakeStep::setMakeArguments(const QStringList &arguments) +void MakeStep::setUserArguments(const QStringList &arguments) { - m_makeargs = arguments; - emit changed(); + m_userArgs = arguments; + emit userArgumentsChanged(); } MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) - : BuildStepConfigWidget(), m_makeStep(makeStep) + : BuildStepConfigWidget(), m_makeStep(makeStep), m_ignoreChange(false) { m_ui.setupUi(this); connect(m_ui.makeLineEdit, SIGNAL(textEdited(QString)), @@ -216,8 +216,8 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) connect(m_ui.makeArgumentsLineEdit, SIGNAL(textEdited(QString)), this, SLOT(makeArgumentsLineEditTextEdited())); - connect(makeStep, SIGNAL(changed()), - this, SLOT(update())); + connect(makeStep, SIGNAL(userArgumentsChanged()), + this, SLOT(userArgumentsChanged())); connect(makeStep->buildConfiguration(), SIGNAL(buildDirectoryChanged()), this, SLOT(updateDetails())); @@ -257,7 +257,7 @@ void MakeStepConfigWidget::updateDetails() // FIXME doing this without the user having a way to override this is rather bad // so we only do it for unix and if the user didn't override the make command // but for now this is the least invasive change - QStringList args = m_makeStep->makeArguments(); + QStringList args = m_makeStep->userArguments(); ProjectExplorer::ToolChain::ToolChainType t = ProjectExplorer::ToolChain::UNKNOWN; ProjectExplorer::ToolChain *toolChain = bc->toolChain(); if (toolChain) @@ -281,9 +281,11 @@ QString MakeStepConfigWidget::displayName() const return m_makeStep->displayName(); } -void MakeStepConfigWidget::update() +void MakeStepConfigWidget::userArgumentsChanged() { - init(); + const QStringList &makeArguments = m_makeStep->userArguments(); + m_ui.makeArgumentsLineEdit->setText(ProjectExplorer::Environment::joinArgumentList(makeArguments)); + updateDetails(); } void MakeStepConfigWidget::init() @@ -293,7 +295,7 @@ void MakeStepConfigWidget::init() const QString &makeCmd = m_makeStep->m_makeCmd; m_ui.makeLineEdit->setText(makeCmd); - const QStringList &makeArguments = m_makeStep->makeArguments(); + const QStringList &makeArguments = m_makeStep->userArguments(); m_ui.makeArgumentsLineEdit->setText(ProjectExplorer::Environment::joinArgumentList(makeArguments)); updateDetails(); } @@ -306,8 +308,10 @@ void MakeStepConfigWidget::makeLineEditTextEdited() void MakeStepConfigWidget::makeArgumentsLineEditTextEdited() { - m_makeStep->setMakeArguments( + m_ignoreChange = true; + m_makeStep->setUserArguments( ProjectExplorer::Environment::parseCombinedArgString(m_ui.makeArgumentsLineEdit->text())); + m_ignoreChange = false; updateDetails(); } diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h index 8e670fa2f19582f7be06637f940768d22e5f5456..db70e16a0e05be71ec76f407583be35e763769f2 100644 --- a/src/plugins/qt4projectmanager/makestep.h +++ b/src/plugins/qt4projectmanager/makestep.h @@ -80,8 +80,8 @@ public: virtual QString displayName(); virtual ProjectExplorer::BuildStepConfigWidget *createConfigWidget(); virtual bool immutable() const; - QStringList makeArguments(); - void setMakeArguments(const QStringList &arguments); + QStringList userArguments(); + void setUserArguments(const QStringList &arguments); virtual void restoreFromGlobalMap(const QMap<QString, QVariant> &map); @@ -91,10 +91,10 @@ public: virtual void storeIntoLocalMap(QMap<QString, QVariant> &map); signals: - void changed(); + void userArgumentsChanged(); private: bool m_clean; - QStringList m_makeargs; + QStringList m_userArgs; QString m_makeCmd; }; @@ -109,13 +109,14 @@ public: private slots: void makeLineEditTextEdited(); void makeArgumentsLineEditTextEdited(); - void update(); void updateMakeOverrideLabel(); void updateDetails(); + void userArgumentsChanged(); private: Ui::MakeStep m_ui; MakeStep *m_makeStep; QString m_summaryText; + bool m_ignoreChange; }; } // Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 32325ec5666386d98bf1302e16cf340bf51d0550..ab5d39075c2546efdf7f77fbb9580bd4f5a92115 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -327,6 +327,8 @@ void QMakeStepConfigWidget::userArgumentsChanged() return; QString qmakeArgs = ProjectExplorer::Environment::joinArgumentList(m_step->userArguments()); m_ui.qmakeAdditonalArgumentsLineEdit->setText(qmakeArgs); + updateTitleLabel(); + updateEffectiveQMakeCall(); } void QMakeStepConfigWidget::init() diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 9fafc02dd52ebccd1b1ca770a87f8cc664a03ac2..78f830c9b1c108932ad1073b8e6bc9a3d47fde94 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -480,7 +480,7 @@ Qt4BuildConfiguration *Qt4Project::addQt4BuildConfiguration(QString displayName, // set some options for qmake and make if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets - makeStep->setMakeArguments(QStringList() << (debug ? "debug" : "release")); + makeStep->setUserArguments(QStringList() << (debug ? "debug" : "release")); bc->setValue("buildConfiguration", int(qmakeBuildConfiguration)); diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index fb9ba63807c6070dfb855149e664143945f533ef..13ac7cb6d6c68eba10fc770ebf74555ca18f43f7 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -306,7 +306,7 @@ void Qt4ProjectConfigWidget::importLabelClicked() // If we are switching to BuildAll we want "release" in there and no "debug" // or "debug" in there and no "release" // If we are switching to not BuildAl we want neither "release" nor "debug" in there - QStringList makeCmdArguments = makeStep->makeArguments(); + QStringList makeCmdArguments = makeStep->userArguments(); bool debug = qmakeBuildConfig & QtVersion::DebugBuild; if (qmakeBuildConfig & QtVersion::BuildAll) { makeCmdArguments.removeAll(debug ? "release" : "debug"); @@ -316,7 +316,7 @@ void Qt4ProjectConfigWidget::importLabelClicked() makeCmdArguments.removeAll("debug"); makeCmdArguments.removeAll("release"); } - makeStep->setMakeArguments(makeCmdArguments); + makeStep->setUserArguments(makeCmdArguments); } } setupQtVersionsComboBox();