forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.3'
Conflicts: tests/auto/debugger/tst_dumpers.cpp Change-Id: Id8b53b000f94a1b5ab923db79f67bad3276d09dc
This commit is contained in:
@@ -192,6 +192,9 @@ namespace Internal {
|
||||
|
||||
QbsRootProjectNode *QbsNodeTreeBuilder::buildTree(QbsProject *project)
|
||||
{
|
||||
if (!project->qbsProjectData().isValid())
|
||||
return nullptr;
|
||||
|
||||
auto root = new QbsRootProjectNode(project);
|
||||
setupProjectNode(root, project->qbsProjectData(), project->qbsProject());
|
||||
auto buildSystemFiles
|
||||
|
||||
@@ -133,7 +133,7 @@ QbsProject::QbsProject(const FileName &fileName) :
|
||||
setProjectContext(Context(Constants::PROJECT_ID));
|
||||
setProjectLanguages(Context(ProjectExplorer::Constants::CXX_LANGUAGE_ID));
|
||||
|
||||
setDisplayName(fileName.toFileInfo().completeBaseName());
|
||||
rebuildProjectTree();
|
||||
|
||||
connect(this, &Project::activeTargetChanged, this, &QbsProject::changeActiveTarget);
|
||||
connect(this, &Project::addedTarget, this, &QbsProject::targetWasAdded);
|
||||
@@ -255,7 +255,7 @@ bool QbsProject::addFilesToProduct(const QStringList &filePaths,
|
||||
}
|
||||
if (notAdded->count() != filePaths.count()) {
|
||||
m_projectData = m_qbsProject.projectData();
|
||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
||||
rebuildProjectTree();
|
||||
}
|
||||
return notAdded->isEmpty();
|
||||
}
|
||||
@@ -282,7 +282,7 @@ bool QbsProject::removeFilesFromProduct(const QStringList &filePaths,
|
||||
}
|
||||
if (notRemoved->count() != filePaths.count()) {
|
||||
m_projectData = m_qbsProject.projectData();
|
||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
||||
rebuildProjectTree();
|
||||
emit fileListChanged();
|
||||
}
|
||||
return notRemoved->isEmpty();
|
||||
@@ -454,7 +454,7 @@ void QbsProject::updateAfterParse()
|
||||
void QbsProject::updateProjectNodes()
|
||||
{
|
||||
OpTimer opTimer("updateProjectNodes");
|
||||
setRootProjectNode(Internal::QbsNodeTreeBuilder::buildTree(this));
|
||||
rebuildProjectTree();
|
||||
}
|
||||
|
||||
void QbsProject::handleQbsParsingDone(bool success)
|
||||
@@ -495,6 +495,13 @@ void QbsProject::handleQbsParsingDone(bool success)
|
||||
emit parsingFinished();
|
||||
}
|
||||
|
||||
void QbsProject::rebuildProjectTree()
|
||||
{
|
||||
QbsProjectNode *newRoot = Internal::QbsNodeTreeBuilder::buildTree(this);
|
||||
setDisplayName(newRoot ? newRoot->displayName() : projectFilePath().toFileInfo().completeBaseName());
|
||||
setRootProjectNode(newRoot);
|
||||
}
|
||||
|
||||
void QbsProject::handleRuleExecutionDone()
|
||||
{
|
||||
qCDebug(qbsPmLog) << "Rule execution done";
|
||||
|
||||
@@ -114,6 +114,8 @@ signals:
|
||||
private:
|
||||
void handleQbsParsingDone(bool success);
|
||||
|
||||
void rebuildProjectTree();
|
||||
|
||||
void targetWasAdded(ProjectExplorer::Target *t);
|
||||
void targetWasRemoved(ProjectExplorer::Target *t);
|
||||
void changeActiveTarget(ProjectExplorer::Target *t);
|
||||
|
||||
@@ -112,9 +112,14 @@ QbsRunConfiguration::QbsRunConfiguration(Target *parent, Core::Id id) :
|
||||
m_uniqueProductName(uniqueProductNameFromId(id)),
|
||||
m_currentBuildStepList(0)
|
||||
{
|
||||
addExtraAspect(new LocalEnvironmentAspect(this, [](RunConfiguration *rc, Environment &env) {
|
||||
static_cast<QbsRunConfiguration *>(rc)->addToBaseEnvironment(env);
|
||||
}));
|
||||
auto * const envAspect = new LocalEnvironmentAspect(this,
|
||||
[](RunConfiguration *rc, Environment &env) {
|
||||
static_cast<QbsRunConfiguration *>(rc)->addToBaseEnvironment(env);
|
||||
}
|
||||
);
|
||||
addExtraAspect(envAspect);
|
||||
connect(static_cast<QbsProject *>(parent->project()), &QbsProject::parsingFinished, this,
|
||||
[envAspect]() { envAspect->buildEnvironmentHasChanged(); });
|
||||
addExtraAspect(new ArgumentsAspect(this, QStringLiteral("Qbs.RunConfiguration.CommandLineArguments")));
|
||||
addExtraAspect(new WorkingDirectoryAspect(this, QStringLiteral("Qbs.RunConfiguration.WorkingDirectory")));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user