From 491b057d14997c4133dfb2721b082e2fdbdea210 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 24 May 2018 17:01:10 +0200 Subject: [PATCH] QbsProjectManager: Add new files to the top-level product ... by default. The "New File" wizard, if not invoked from the context menu, implicitly prefers Groups over Products, because the respective nodes are tried first. Thus, we lower the priority of group nodes so that their parent product will be a better match unless the group was specifically selected. Task-number: QTCREATORBUG-20480 Change-Id: I0c5b2dbf861065ee97ab957ec8bd86132295893e Reviewed-by: Tobias Hunger --- src/plugins/qbsprojectmanager/qbsnodes.cpp | 9 +++++++++ src/plugins/qbsprojectmanager/qbsnodes.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp index 9bdb87d9eb4..9a0091cf883 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp @@ -353,6 +353,15 @@ bool QbsGroupNode::renameFile(const QString &filePath, const QString &newFilePat prdNode->qbsProductData(), m_qbsGroupData); } +FolderNode::AddNewInformation QbsGroupNode::addNewInformation(const QStringList &files, + Node *context) const +{ + AddNewInformation info = QbsBaseProjectNode::addNewInformation(files, context); + if (context != this) + --info.priority; + return info; +} + // -------------------------------------------------------------------- // QbsProductNode: // -------------------------------------------------------------------- diff --git a/src/plugins/qbsprojectmanager/qbsnodes.h b/src/plugins/qbsprojectmanager/qbsnodes.h index 45a7bb4a3a5..16987a875b6 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.h +++ b/src/plugins/qbsprojectmanager/qbsnodes.h @@ -89,6 +89,8 @@ public: qbs::GroupData qbsGroupData() const { return m_qbsGroupData; } private: + AddNewInformation addNewInformation(const QStringList &files, Node *context) const override; + qbs::GroupData m_qbsGroupData; QString m_productPath; };