QbsProjectManager: Don't offer "Add File" functionality for folders.

It does not make sense to add files to anything besides products and
groups.

Task-number: QTCREATORBUG-14286
Change-Id: Iced8cefc4eff3857e9a1a6d3a3a9311dcbb44f11
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
Christian Kandeler
2015-04-15 15:04:55 +02:00
parent bde83c30bf
commit 3fce8cfc4f
2 changed files with 26 additions and 3 deletions

View File

@@ -264,6 +264,19 @@ QString QbsFileNode::displayName() const
return ProjectExplorer::FileNode::displayName() + QLatin1Char(':') + QString::number(l); return ProjectExplorer::FileNode::displayName() + QLatin1Char(':') + QString::number(l);
} }
QbsFolderNode::QbsFolderNode(const Utils::FileName &folderPath, ProjectExplorer::NodeType nodeType,
const QString &displayName)
: ProjectExplorer::FolderNode(folderPath, nodeType, displayName)
{
}
QList<ProjectExplorer::ProjectAction> QbsFolderNode::supportedActions(ProjectExplorer::Node *node) const
{
Q_UNUSED(node);
return QList<ProjectExplorer::ProjectAction>();
}
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// QbsBaseProjectNode: // QbsBaseProjectNode:
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -547,9 +560,9 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro
break; break;
} }
if (!fn) { if (!fn) {
fn = new FolderNode(Utils::FileName::fromString(c->path()), fn = new QbsFolderNode(Utils::FileName::fromString(c->path()),
ProjectExplorer::FolderNodeType, ProjectExplorer::FolderNodeType,
displayNameFromPath(c->path(), baseDir)); displayNameFromPath(c->path(), baseDir));
root->addFolderNodes(QList<FolderNode *>() << fn); root->addFolderNodes(QList<FolderNode *>() << fn);
} else { } else {
foldersToRemove.removeOne(fn); foldersToRemove.removeOne(fn);

View File

@@ -57,6 +57,16 @@ public:
QString displayName() const; QString displayName() const;
}; };
class QbsFolderNode : public ProjectExplorer::FolderNode
{
public:
QbsFolderNode(const Utils::FileName &folderPath, ProjectExplorer::NodeType nodeType,
const QString &displayName);
private:
QList<ProjectExplorer::ProjectAction> supportedActions(ProjectExplorer::Node *node) const;
};
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// QbsBaseProjectNode: // QbsBaseProjectNode:
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------