ProjectExplorer: Fix enabling state of main project nodes

Since the rootProjectNode() containing the parsed files is now nested
under a new project node the main node needs to delegate enable/disable
decisions.

Task-number: QTCREATORBUG-17922
Change-Id: Ie7bb6d6802072a2127b32c0fe51fb25fc1c9c6cc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2017-03-27 17:51:19 +02:00
parent 7f5b37ed14
commit 2ee7967750
7 changed files with 79 additions and 43 deletions

View File

@@ -318,9 +318,11 @@ void QmakeProjectManagerPlugin::updateContextActions()
{
Node *node = ProjectTree::currentNode();
Project *project = ProjectTree::currentProject();
m_addLibraryActionContextMenu->setEnabled(dynamic_cast<QmakeProFileNode *>(node));
auto proFileNode = dynamic_cast<QmakeProFileNode *>(node);
ContainerNode *containerNode = node ? node->asContainerNode() : nullptr;
ProjectNode *proFileNode = containerNode ? containerNode->rootProjectNode() : dynamic_cast<QmakeProFileNode *>(node);
m_addLibraryActionContextMenu->setEnabled(proFileNode);
QmakeProject *qmakeProject = qobject_cast<QmakeProject *>(QmakeManager::contextProject());
QmakeProFileNode *subProjectNode = nullptr;
if (node) {