From 7da95de7b2af1e72341384fc4e934a750b996eef Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 10 Apr 2015 17:13:03 +0200 Subject: [PATCH] QbsProjectManager: Take the file type into account... ...when rebuilding the project tree. Consider this product: CppApplication { files: ["form.ui"] } Now change it to this: QtGuiApplication { files: ["form.ui"] } The qbs file tags will now include "ui", so the Qt Creator file type must change from "UnknownFileType" to "FormType". Therefore, we need to replace the respective file node in the tree. Change-Id: I6aa7e66d1af584e8ded2ffbb9b1215e8fc1135b8 Reviewed-by: Joerg Bornemann --- src/plugins/qbsprojectmanager/qbsnodes.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp index f14d9956df4..8e1f783806b 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp @@ -519,10 +519,11 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro // Handle files: if (c->isFile()) { + const ProjectExplorer::FileType newFileType = fileType(group, c->path()); ProjectExplorer::FileNode *fn = 0; foreach (ProjectExplorer::FileNode *f, root->fileNodes()) { // There can be one match only here! - if (f->path() != path) + if (f->path() != path || f->fileType() != newFileType) continue; fn = f; break; @@ -532,7 +533,7 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro if (updateExisting) fn->emitNodeUpdated(); } else { - fn = new ProjectExplorer::FileNode(path, fileType(group, c->path()), false); + fn = new ProjectExplorer::FileNode(path, newFileType, false); filesToAdd.append(fn); } continue;