Autotools: Use new step widget update logic more intensively

Change-Id: I4dbd1c331152a408b6d7a60a4cbc793995153364
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-06-25 10:41:32 +02:00
parent 1d2a15e143
commit 6e3c039f9e
4 changed files with 36 additions and 59 deletions

View File

@@ -69,6 +69,24 @@ AutogenStep::AutogenStep(BuildStepList *bsl) : AbstractProcessStep(bsl, AUTOGEN_
m_additionalArgumentsAspect->setLabelText(tr("Arguments:"));
m_additionalArgumentsAspect->setDisplayStyle(BaseStringAspect::LineEditDisplay);
m_additionalArgumentsAspect->setHistoryCompleter("AutotoolsPM.History.AutogenStepArgs");
connect(m_additionalArgumentsAspect, &ProjectConfigurationAspect::changed, this, [this] {
m_runAutogen = true;
});
setSummaryUpdater([this] {
BuildConfiguration *bc = buildConfiguration();
ProcessParameters param;
param.setMacroExpander(bc->macroExpander());
param.setEnvironment(bc->environment());
param.setWorkingDirectory(bc->target()->project()->projectDirectory());
param.setCommandLine({FilePath::fromString("./autogen.sh"),
m_additionalArgumentsAspect->value(),
CommandLine::Raw});
return param.summary(displayName());
});
}
bool AutogenStep::init()
@@ -111,31 +129,3 @@ void AutogenStep::doRun()
m_runAutogen = false;
AbstractProcessStep::doRun();
}
BuildStepConfigWidget *AutogenStep::createConfigWidget()
{
auto widget = AbstractProcessStep::createConfigWidget();
auto updateDetails = [this, widget] {
BuildConfiguration *bc = buildConfiguration();
ProcessParameters param;
param.setMacroExpander(bc->macroExpander());
param.setEnvironment(bc->environment());
param.setWorkingDirectory(bc->target()->project()->projectDirectory());
param.setCommandLine({FilePath::fromString("./autogen.sh"),
m_additionalArgumentsAspect->value(),
CommandLine::Raw});
widget->setSummaryText(param.summary(displayName()));
};
updateDetails();
connect(m_additionalArgumentsAspect, &ProjectConfigurationAspect::changed, this, [=] {
updateDetails();
m_runAutogen = true;
});
return widget;
}

View File

@@ -66,8 +66,6 @@ class AutogenStep : public ProjectExplorer::AbstractProcessStep
public:
explicit AutogenStep(ProjectExplorer::BuildStepList *bsl);
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
private:
bool init() override;
void doRun() override;

View File

@@ -66,6 +66,24 @@ AutoreconfStep::AutoreconfStep(BuildStepList *bsl) : AbstractProcessStep(bsl, AU
m_additionalArgumentsAspect->setValue("--force --install");
m_additionalArgumentsAspect->setDisplayStyle(BaseStringAspect::LineEditDisplay);
m_additionalArgumentsAspect->setHistoryCompleter("AutotoolsPM.History.AutoreconfStepArgs");
connect(m_additionalArgumentsAspect, &ProjectConfigurationAspect::changed, this, [this] {
m_runAutoreconf = true;
});
setSummaryUpdater([this] {
BuildConfiguration *bc = buildConfiguration();
ProcessParameters param;
param.setMacroExpander(bc->macroExpander());
param.setEnvironment(bc->environment());
param.setWorkingDirectory(bc->target()->project()->projectDirectory());
param.setCommandLine({Utils::FilePath::fromString("autoreconf"),
m_additionalArgumentsAspect->value(),
Utils::CommandLine::Raw});
return param.summary(displayName());
});
}
bool AutoreconfStep::init()
@@ -101,31 +119,3 @@ void AutoreconfStep::doRun()
m_runAutoreconf = false;
AbstractProcessStep::doRun();
}
BuildStepConfigWidget *AutoreconfStep::createConfigWidget()
{
auto widget = AbstractProcessStep::createConfigWidget();
auto updateDetails = [this, widget] {
BuildConfiguration *bc = buildConfiguration();
ProcessParameters param;
param.setMacroExpander(bc->macroExpander());
param.setEnvironment(bc->environment());
param.setWorkingDirectory(bc->target()->project()->projectDirectory());
param.setCommandLine({Utils::FilePath::fromString("autoreconf"),
m_additionalArgumentsAspect->value(),
Utils::CommandLine::Raw});
widget->setSummaryText(param.summary(displayName()));
};
updateDetails();
connect(m_additionalArgumentsAspect, &ProjectConfigurationAspect::changed, this, [=] {
updateDetails();
m_runAutoreconf = true;
});
return widget;
}

View File

@@ -68,7 +68,6 @@ public:
bool init() override;
void doRun() override;
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
private:
ProjectExplorer::BaseStringAspect *m_additionalArgumentsAspect = nullptr;