From 27b48029884442583456c34c75fbf9356e64a075 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 7 Aug 2013 12:29:52 +0200 Subject: [PATCH] UiCodemodel support for qbs Change-Id: I0c83f3bb5c1c127169d695f42c169f4e28d1b06d Reviewed-by: Tobias Hunger --- src/plugins/qbsprojectmanager/qbsproject.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index fd20573f112..1d52701d66d 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -527,6 +528,7 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj) qtVersionForPart = CppTools::ProjectPart::Qt5; } + QHash uiFiles; QStringList allFiles; foreach (const qbs::ProductData &prd, prj.allProducts()) { foreach (const qbs::GroupData &grp, prd.groups()) { @@ -578,9 +580,16 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj) ProjectExplorer::SysRootKitInformation::sysRoot(k)); CppTools::ProjectFileAdder adder(part->files); - foreach (const QString &file, grp.allFilePaths()) + foreach (const QString &file, grp.allFilePaths()) { + if (file.endsWith(QLatin1String(".ui"))) { + QStringList generated = m_rootProjectNode->qbsProject() + ->generatedFiles(prd, file, QStringList(QLatin1String("hpp"))); + if (generated.count() == 1) + uiFiles.insert(file, generated.at(0)); + } if (adder.maybeAdd(file)) allFiles.append(file); + } part->files << CppTools::ProjectFile(QLatin1String(CONFIGURATION_PATH), CppTools::ProjectFile::CXXHeader); @@ -598,6 +607,8 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj) if (pinfo.projectParts().isEmpty()) return; + QtSupport::UiCodeModelManager::update(this, uiFiles); + // Register update the code model: m_codeModelFuture = modelmanager->updateProjectInfo(pinfo); }