CMake: Improve emission of enabledChanged signals of build configurations

Change-Id: I542b93512466727ac4ee66a8ca41e503106ebdcb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2017-04-07 11:15:26 +02:00
parent 758e50fa45
commit 7a388e7b4b
2 changed files with 10 additions and 5 deletions

View File

@@ -145,7 +145,7 @@ void CMakeBuildConfiguration::ctor()
connect(m_buildDirManager.get(), &BuildDirManager::dataAvailable, connect(m_buildDirManager.get(), &BuildDirManager::dataAvailable,
this, [this, project]() { this, [this, project]() {
project->updateProjectData(this); project->updateProjectData(this);
emit enabledChanged(); clearError();
emit dataAvailable(); emit dataAvailable();
}); });
connect(m_buildDirManager.get(), &BuildDirManager::errorOccured, connect(m_buildDirManager.get(), &BuildDirManager::errorOccured,
@@ -153,7 +153,7 @@ void CMakeBuildConfiguration::ctor()
connect(m_buildDirManager.get(), &BuildDirManager::configurationStarted, connect(m_buildDirManager.get(), &BuildDirManager::configurationStarted,
this, [this, project]() { this, [this, project]() {
project->handleParsingStarted(); project->handleParsingStarted();
emit enabledChanged(); clearError(ForceEnabledChanged::True);
emit parsingStarted(); emit parsingStarted();
}); });
@@ -176,6 +176,7 @@ bool CMakeBuildConfiguration::isParsing() const
void CMakeBuildConfiguration::resetData() void CMakeBuildConfiguration::resetData()
{ {
clearError();
m_buildDirManager->resetData(); m_buildDirManager->resetData();
} }
@@ -342,12 +343,14 @@ void CMakeBuildConfiguration::setCurrentCMakeConfiguration(const QList<ConfigMod
m_buildDirManager->forceReparse(); m_buildDirManager->forceReparse();
} }
void CMakeBuildConfiguration::clearError() void CMakeBuildConfiguration::clearError(ForceEnabledChanged fec)
{ {
if (!m_error.isEmpty()) { if (!m_error.isEmpty()) {
m_error.clear(); m_error.clear();
emit enabledChanged(); fec = ForceEnabledChanged::True;
} }
if (fec == ForceEnabledChanged::True)
emit enabledChanged();
} }
void CMakeBuildConfiguration::emitBuildTypeChanged() void CMakeBuildConfiguration::emitBuildTypeChanged()

View File

@@ -109,10 +109,12 @@ protected:
private: private:
void ctor(); void ctor();
enum ForceEnabledChanged : quint8 { False, True };
void clearError(ForceEnabledChanged fec = ForceEnabledChanged::False);
QList<ConfigModel::DataItem> completeCMakeConfiguration() const; QList<ConfigModel::DataItem> completeCMakeConfiguration() const;
void setCurrentCMakeConfiguration(const QList<ConfigModel::DataItem> &items); void setCurrentCMakeConfiguration(const QList<ConfigModel::DataItem> &items);
void clearError();
void setError(const QString &message); void setError(const QString &message);
void setWarning(const QString &message); void setWarning(const QString &message);