forked from qt-creator/qt-creator
Qbs: Set displayName from rootProjectNode
Set the displayName of QbsProjects from the rootProjectNode if that exists. This fixes the project name not updating based on the name set inside the qbs files. Extract that into a new method so that it can be used consistently. Task-number: QTCREATORBUG-18100 Change-Id: I417264ee8843a9e0665bbc190f1dbc7869eed0e9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -132,7 +132,7 @@ QbsProject::QbsProject(const FileName &fileName) :
|
|||||||
setProjectContext(Context(Constants::PROJECT_ID));
|
setProjectContext(Context(Constants::PROJECT_ID));
|
||||||
setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
|
setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
|
||||||
|
|
||||||
setDisplayName(fileName.toFileInfo().completeBaseName());
|
rebuildProjectTree();
|
||||||
|
|
||||||
connect(this, &Project::activeTargetChanged, this, &QbsProject::changeActiveTarget);
|
connect(this, &Project::activeTargetChanged, this, &QbsProject::changeActiveTarget);
|
||||||
connect(this, &Project::addedTarget, this, &QbsProject::targetWasAdded);
|
connect(this, &Project::addedTarget, this, &QbsProject::targetWasAdded);
|
||||||
@@ -254,7 +254,7 @@ bool QbsProject::addFilesToProduct(const QStringList &filePaths,
|
|||||||
}
|
}
|
||||||
if (notAdded->count() != filePaths.count()) {
|
if (notAdded->count() != filePaths.count()) {
|
||||||
m_projectData = m_qbsProject.projectData();
|
m_projectData = m_qbsProject.projectData();
|
||||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
rebuildProjectTree();
|
||||||
}
|
}
|
||||||
return notAdded->isEmpty();
|
return notAdded->isEmpty();
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,7 @@ bool QbsProject::removeFilesFromProduct(const QStringList &filePaths,
|
|||||||
}
|
}
|
||||||
if (notRemoved->count() != filePaths.count()) {
|
if (notRemoved->count() != filePaths.count()) {
|
||||||
m_projectData = m_qbsProject.projectData();
|
m_projectData = m_qbsProject.projectData();
|
||||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
rebuildProjectTree();
|
||||||
emit fileListChanged();
|
emit fileListChanged();
|
||||||
}
|
}
|
||||||
return notRemoved->isEmpty();
|
return notRemoved->isEmpty();
|
||||||
@@ -431,7 +431,7 @@ void QbsProject::updateAfterParse()
|
|||||||
void QbsProject::updateProjectNodes()
|
void QbsProject::updateProjectNodes()
|
||||||
{
|
{
|
||||||
OpTimer opTimer("updateProjectNodes");
|
OpTimer opTimer("updateProjectNodes");
|
||||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
rebuildProjectTree();
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsProject::handleQbsParsingDone(bool success)
|
void QbsProject::handleQbsParsingDone(bool success)
|
||||||
@@ -472,6 +472,13 @@ void QbsProject::handleQbsParsingDone(bool success)
|
|||||||
emit parsingFinished();
|
emit parsingFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QbsProject::rebuildProjectTree()
|
||||||
|
{
|
||||||
|
QbsProjectNode *newRoot = Internal::QbsNodeTreeBuilder::buildTree(this);
|
||||||
|
setDisplayName(newRoot ? newRoot->displayName() : projectFilePath().toFileInfo().completeBaseName());
|
||||||
|
setRootProjectNode(newRoot);
|
||||||
|
}
|
||||||
|
|
||||||
void QbsProject::handleRuleExecutionDone()
|
void QbsProject::handleRuleExecutionDone()
|
||||||
{
|
{
|
||||||
qCDebug(qbsPmLog) << "Rule execution done";
|
qCDebug(qbsPmLog) << "Rule execution done";
|
||||||
|
|||||||
@@ -113,6 +113,8 @@ signals:
|
|||||||
private:
|
private:
|
||||||
void handleQbsParsingDone(bool success);
|
void handleQbsParsingDone(bool success);
|
||||||
|
|
||||||
|
void rebuildProjectTree();
|
||||||
|
|
||||||
void targetWasAdded(ProjectExplorer::Target *t);
|
void targetWasAdded(ProjectExplorer::Target *t);
|
||||||
void targetWasRemoved(ProjectExplorer::Target *t);
|
void targetWasRemoved(ProjectExplorer::Target *t);
|
||||||
void changeActiveTarget(ProjectExplorer::Target *t);
|
void changeActiveTarget(ProjectExplorer::Target *t);
|
||||||
|
|||||||
Reference in New Issue
Block a user