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:
@@ -144,12 +144,15 @@ void CMakeBuildConfiguration::ctor()
|
||||
|
||||
connect(m_buildDirManager.get(), &BuildDirManager::dataAvailable,
|
||||
this, [this, project]() {
|
||||
project->updateProjectData(this);
|
||||
clearError();
|
||||
project->updateProjectData(this);
|
||||
emit dataAvailable();
|
||||
});
|
||||
connect(m_buildDirManager.get(), &BuildDirManager::errorOccured,
|
||||
this, &CMakeBuildConfiguration::setError);
|
||||
this, [this, project](const QString &msg) {
|
||||
setError(msg);
|
||||
project->handleParsingError(this);
|
||||
});
|
||||
connect(m_buildDirManager.get(), &BuildDirManager::configurationStarted,
|
||||
this, [this, project]() {
|
||||
project->handleParsingStarted();
|
||||
|
||||
@@ -204,7 +204,7 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc)
|
||||
setError(bc->error());
|
||||
setWarning(bc->warning());
|
||||
|
||||
connect(project, &CMakeProject::parsingStarted, this, [this]() {
|
||||
connect(project, &ProjectExplorer::Project::parsingStarted, this, [this]() {
|
||||
updateButtonState();
|
||||
m_showProgressTimer.start();
|
||||
});
|
||||
|
||||
@@ -188,7 +188,18 @@ void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc)
|
||||
|
||||
emit bc->emitBuildTypeChanged();
|
||||
|
||||
emit parsingFinished();
|
||||
emitParsingFinished(true);
|
||||
}
|
||||
|
||||
void CMakeProject::handleParsingError(CMakeBuildConfiguration *bc)
|
||||
{
|
||||
QTC_ASSERT(bc, return);
|
||||
|
||||
Target *t = activeTarget();
|
||||
if (!t || t->activeBuildConfiguration() != bc)
|
||||
return;
|
||||
|
||||
emitParsingFinished(false);
|
||||
}
|
||||
|
||||
void CMakeProject::updateQmlJSCodeModel()
|
||||
@@ -369,7 +380,7 @@ void CMakeProject::handleActiveBuildConfigurationChanged()
|
||||
void CMakeProject::handleParsingStarted()
|
||||
{
|
||||
if (activeTarget() && activeTarget()->activeBuildConfiguration() == sender())
|
||||
emit parsingStarted();
|
||||
emitParsingStarted();
|
||||
}
|
||||
|
||||
void CMakeProject::handleTreeScanningFinished()
|
||||
|
||||
@@ -105,10 +105,6 @@ public:
|
||||
|
||||
ProjectExplorer::ProjectImporter *projectImporter() const final;
|
||||
|
||||
signals:
|
||||
/// emitted when cmake is running:
|
||||
void parsingStarted();
|
||||
|
||||
protected:
|
||||
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) final;
|
||||
bool setupTarget(ProjectExplorer::Target *t) final;
|
||||
@@ -121,6 +117,7 @@ private:
|
||||
void handleParsingStarted();
|
||||
void handleTreeScanningFinished();
|
||||
void updateProjectData(Internal::CMakeBuildConfiguration *cmakeBc);
|
||||
void handleParsingError(Internal::CMakeBuildConfiguration *bc);
|
||||
void updateQmlJSCodeModel();
|
||||
|
||||
void createGeneratedCodeModelSupport();
|
||||
|
||||
Reference in New Issue
Block a user