forked from qt-creator/qt-creator
Project: Move signalling of parsing state into Project
Get rid of duplicated code to do such signaling in derived Project types. Change-Id: I26914a1d751d72ee65c15a7943e0e7f34978f042 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -69,8 +69,8 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target) :
|
||||
m_isParsing(true),
|
||||
m_parsingError(false)
|
||||
{
|
||||
connect(project(), &QbsProject::projectParsingStarted, this, &BuildConfiguration::enabledChanged);
|
||||
connect(project(), &QbsProject::projectParsingDone, this, &BuildConfiguration::enabledChanged);
|
||||
connect(project(), &Project::parsingStarted, this, &BuildConfiguration::enabledChanged);
|
||||
connect(project(), &Project::parsingFinished, this, &BuildConfiguration::enabledChanged);
|
||||
|
||||
BuildStepList *bsl = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||
connect(bsl, &BuildStepList::stepInserted, this, &QbsBuildConfiguration::buildStepInserted);
|
||||
|
||||
@@ -346,7 +346,8 @@ void QbsBuildStep::buildingDone(bool success)
|
||||
|
||||
void QbsBuildStep::reparsingDone(bool success)
|
||||
{
|
||||
disconnect(qbsProject(), &QbsProject::projectParsingDone, this, &QbsBuildStep::reparsingDone);
|
||||
disconnect(qbsProject(), &ProjectExplorer::Project::parsingFinished,
|
||||
this, &QbsBuildStep::reparsingDone);
|
||||
m_parsingProject = false;
|
||||
if (m_job) { // This was a scheduled reparsing after building.
|
||||
finish();
|
||||
@@ -485,7 +486,8 @@ void QbsBuildStep::setCleanInstallRoot(bool clean)
|
||||
void QbsBuildStep::parseProject()
|
||||
{
|
||||
m_parsingProject = true;
|
||||
connect(qbsProject(), &QbsProject::projectParsingDone, this, &QbsBuildStep::reparsingDone);
|
||||
connect(qbsProject(), &ProjectExplorer::Project::parsingFinished,
|
||||
this, &QbsBuildStep::reparsingDone);
|
||||
qbsProject()->parseCurrentBuildConfiguration();
|
||||
}
|
||||
|
||||
|
||||
@@ -286,7 +286,7 @@ QbsInstallStepConfigWidget::QbsInstallStepConfigWidget(QbsInstallStep *step) :
|
||||
connect(m_ui->keepGoingCheckBox, &QAbstractButton::toggled,
|
||||
this, &QbsInstallStepConfigWidget::changeKeepGoing);
|
||||
|
||||
connect(project, &QbsProject::projectParsingDone,
|
||||
connect(project, &ProjectExplorer::Project::parsingFinished,
|
||||
this, &QbsInstallStepConfigWidget::updateState);
|
||||
|
||||
updateState();
|
||||
|
||||
@@ -502,8 +502,7 @@ void QbsProject::handleQbsParsingDone(bool success)
|
||||
|
||||
if (dataChanged)
|
||||
updateAfterParse();
|
||||
emit projectParsingDone(success);
|
||||
emit parsingFinished();
|
||||
emitParsingFinished(success);
|
||||
}
|
||||
|
||||
void QbsProject::rebuildProjectTree()
|
||||
@@ -529,7 +528,7 @@ void QbsProject::handleRuleExecutionDone()
|
||||
QTC_ASSERT(m_qbsProject.isValid(), return);
|
||||
m_projectData = m_qbsProject.projectData();
|
||||
updateAfterParse();
|
||||
emit projectParsingDone(true);
|
||||
// finishParsing(true);
|
||||
}
|
||||
|
||||
void QbsProject::targetWasAdded(Target *t)
|
||||
@@ -699,7 +698,7 @@ void QbsProject::parse(const QVariantMap &config, const Environment &env, const
|
||||
|
||||
QbsManager::instance()->updateProfileIfNecessary(activeTarget()->kit());
|
||||
m_qbsProjectParser->parse(config, env, dir, configName);
|
||||
emit projectParsingStarted();
|
||||
emitParsingStarted();
|
||||
}
|
||||
|
||||
void QbsProject::prepareForParsing()
|
||||
|
||||
@@ -108,14 +108,9 @@ public:
|
||||
const qbs::ProductData &product);
|
||||
static QString uniqueProductName(const qbs::ProductData &product);
|
||||
|
||||
public:
|
||||
void invalidate();
|
||||
void delayParsing();
|
||||
|
||||
signals:
|
||||
void projectParsingStarted();
|
||||
void projectParsingDone(bool);
|
||||
|
||||
private:
|
||||
void handleQbsParsingDone(bool success);
|
||||
|
||||
|
||||
@@ -295,9 +295,9 @@ void QbsProjectManagerPlugin::projectWasAdded(Project *project)
|
||||
if (!qbsProject)
|
||||
return;
|
||||
|
||||
connect(qbsProject, &QbsProject::projectParsingStarted,
|
||||
connect(qbsProject, &Project::parsingStarted,
|
||||
this, &QbsProjectManagerPlugin::projectChanged);
|
||||
connect(qbsProject, &QbsProject::projectParsingDone,
|
||||
connect(qbsProject, &Project::parsingFinished,
|
||||
this, &QbsProjectManagerPlugin::projectChanged);
|
||||
}
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ QbsRunConfiguration::QbsRunConfiguration(Target *parent, Core::Id id) :
|
||||
}
|
||||
);
|
||||
addExtraAspect(envAspect);
|
||||
connect(static_cast<QbsProject *>(parent->project()), &QbsProject::parsingFinished, this,
|
||||
connect(static_cast<QbsProject *>(parent->project()), &Project::parsingFinished, this,
|
||||
[envAspect]() { envAspect->buildEnvironmentHasChanged(); });
|
||||
addExtraAspect(new ArgumentsAspect(this, QStringLiteral("Qbs.RunConfiguration.CommandLineArguments")));
|
||||
addExtraAspect(new WorkingDirectoryAspect(this, QStringLiteral("Qbs.RunConfiguration.WorkingDirectory")));
|
||||
@@ -162,8 +162,8 @@ void QbsRunConfiguration::ctor()
|
||||
setDefaultDisplayName(defaultDisplayName());
|
||||
|
||||
QbsProject *project = static_cast<QbsProject *>(target()->project());
|
||||
connect(project, &QbsProject::projectParsingStarted, this, &RunConfiguration::enabledChanged);
|
||||
connect(project, &QbsProject::projectParsingDone, this, [this](bool success) {
|
||||
connect(project, &Project::parsingStarted, this, &RunConfiguration::enabledChanged);
|
||||
connect(project, &Project::parsingFinished, this, [this](bool success) {
|
||||
auto terminalAspect = extraAspect<TerminalAspect>();
|
||||
if (success && !terminalAspect->isUserSet())
|
||||
terminalAspect->setUseTerminal(isConsoleApplication());
|
||||
|
||||
Reference in New Issue
Block a user