Update qbs submodule

To HEAD of 1.8 branch, and adapt to changed API.

Change-Id: Ie180b114726134a06dfefe9dc3a6dc27997f246c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Joerg Bornemann
2017-03-31 11:32:39 +02:00
parent 8bfc47c889
commit 848b8c0f44
4 changed files with 27 additions and 6 deletions

View File

@@ -232,8 +232,14 @@ static QList<ProjectExplorer::ProjectAction> supportedNodeActions(ProjectExplore
return actions; return actions;
if (managesFiles) if (managesFiles)
actions << ProjectExplorer::AddNewFile << ProjectExplorer::AddExistingFile; actions << ProjectExplorer::AddNewFile << ProjectExplorer::AddExistingFile;
auto equalsNodeFilePath = [node](const QString &str)
{
return str == node->filePath().toString();
};
if (node->nodeType() == ProjectExplorer::NodeType::File if (node->nodeType() == ProjectExplorer::NodeType::File
&& !project->qbsProject().buildSystemFiles().contains(node->filePath().toString())) { && !Utils::contains(project->qbsProject().buildSystemFiles(), equalsNodeFilePath)) {
actions << ProjectExplorer::RemoveFile << ProjectExplorer::Rename; actions << ProjectExplorer::RemoveFile << ProjectExplorer::Rename;
} }
return actions; return actions;

View File

@@ -169,9 +169,16 @@ QSet<QString> referencedBuildSystemFiles(const qbs::ProjectData &data)
QStringList unreferencedBuildSystemFiles(const qbs::Project &p) QStringList unreferencedBuildSystemFiles(const qbs::Project &p)
{ {
return p.isValid() QStringList result;
? p.buildSystemFiles().subtract(referencedBuildSystemFiles(p.projectData())).toList() if (!p.isValid())
: QStringList(); return result;
const std::set<QString> &available = p.buildSystemFiles();
const QSet<QString> &referenced = referencedBuildSystemFiles(p.projectData());
std::set_difference(available.begin(), available.end(), referenced.begin(), referenced.end(),
std::back_inserter(result));
return result;
} }
} // namespace } // namespace

View File

@@ -411,12 +411,20 @@ bool QbsProject::checkCancelStatus()
return true; return true;
} }
static QSet<QString> toQStringSet(const std::set<QString> &src)
{
QSet<QString> result;
result.reserve(src.size());
std::copy(src.begin(), src.end(), Utils::inserter(result));
return result;
}
void QbsProject::updateAfterParse() void QbsProject::updateAfterParse()
{ {
qCDebug(qbsPmLog) << "Updating data after parse"; qCDebug(qbsPmLog) << "Updating data after parse";
OpTimer opTimer("updateAfterParse"); OpTimer opTimer("updateAfterParse");
updateProjectNodes(); updateProjectNodes();
updateDocuments(m_qbsProject.buildSystemFiles()); updateDocuments(toQStringSet(m_qbsProject.buildSystemFiles()));
updateBuildTargetData(); updateBuildTargetData();
updateCppCodeModel(); updateCppCodeModel();
updateQmlJsCodeModel(); updateQmlJsCodeModel();