diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 1a1416ef672..dee068e99b4 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -209,7 +209,7 @@ QString Node::tooltip() const bool Node::isEnabled() const { - if (!m_isEnabled) + if (!m_flags.testFlag(FlagIsEnabled)) return false; FolderNode *parent = parentFolderNode(); return parent ? parent->isEnabled() : true; @@ -222,9 +222,7 @@ bool Node::supportsAction(ProjectAction, Node *) const void Node::setEnabled(bool enabled) { - if (m_isEnabled == enabled) - return; - m_isEnabled = enabled; + m_flags.setFlag(FlagIsEnabled, enabled); } bool Node::sortByPath(const Node *a, const Node *b) diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h index 5974e33ae80..438b1f74ea6 100644 --- a/src/plugins/projectexplorer/projectnodes.h +++ b/src/plugins/projectexplorer/projectnodes.h @@ -161,7 +161,12 @@ private: int m_line = -1; int m_priority = DefaultPriority; const NodeType m_nodeType; - bool m_isEnabled = true; + enum NodeFlag : quint16 { + FlagNone = 0, + FlagIsEnabled = 1 << 0, + }; + using NodeFlags = QFlags; + NodeFlags m_flags = FlagIsEnabled; }; class PROJECTEXPLORER_EXPORT FileNode : public Node