forked from qt-creator/qt-creator
ProjectNodes: Handle supported actions one-by-one
Getting the full list for a node can get quite expensive e.g. in cases of recursive calls of QMakeProjectManager::findPriFile. However, the FlatModel needs to decide quickly on whether an item is editable to potentially allow renaming. So split up QList<Actions> supportedActions() into individual bool supportsAction(action) calls and make sure Rename is not on the critical path. Task-number: QTCREATORBUG-17953 Change-Id: I31841847f8aa7d7b94c63d76ce71efb1c930fa69 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -28,8 +28,6 @@
|
||||
#include <projectexplorer/projectnodes.h>
|
||||
|
||||
namespace CMakeProjectManager {
|
||||
class CMakeProject;
|
||||
|
||||
namespace Internal {
|
||||
|
||||
class CMakeInputsNode : public ProjectExplorer::ProjectNode
|
||||
@@ -40,7 +38,6 @@ public:
|
||||
static Utils::FileName inputsPathFromCMakeListsPath(const Utils::FileName &cmakeLists);
|
||||
|
||||
bool showInSimpleTree() const final;
|
||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const final;
|
||||
};
|
||||
|
||||
class CMakeListsNode : public ProjectExplorer::ProjectNode
|
||||
@@ -49,7 +46,6 @@ public:
|
||||
CMakeListsNode(const Utils::FileName &cmakeListPath);
|
||||
|
||||
bool showInSimpleTree() const final;
|
||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const final;
|
||||
};
|
||||
|
||||
class CMakeProjectNode : public ProjectExplorer::ProjectNode
|
||||
@@ -59,7 +55,6 @@ public:
|
||||
|
||||
bool showInSimpleTree() const final;
|
||||
QString tooltip() const final;
|
||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const final;
|
||||
};
|
||||
|
||||
class CMakeTargetNode : public ProjectExplorer::ProjectNode
|
||||
@@ -71,7 +66,6 @@ public:
|
||||
|
||||
bool showInSimpleTree() const final;
|
||||
QString tooltip() const final;
|
||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const final;
|
||||
|
||||
private:
|
||||
QString m_tooltip;
|
||||
|
||||
Reference in New Issue
Block a user