diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2018-04-26 11:00:59 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2018-05-02 11:34:29 +0000 |
commit | 1f55ba9012eea79fafedddf270ef401aa6988298 (patch) | |
tree | 6822a3093d0b4cde52e6beb2a3a0514cd872a267 /src/plugins/projectexplorer/projectnodes.h | |
parent | dc982a13264273cdb532664c0184394da207793b (diff) |
ProjectExplorer: Use unique_ptr to hold ProjectNodes
Change-Id: Iaa5bea221686564de24138a99b5fe0d09521c118
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/projectnodes.h')
-rw-r--r-- | src/plugins/projectexplorer/projectnodes.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h index 1b5a10eb9e..8f990aae8e 100644 --- a/src/plugins/projectexplorer/projectnodes.h +++ b/src/plugins/projectexplorer/projectnodes.h @@ -206,7 +206,6 @@ class PROJECTEXPLORER_EXPORT FolderNode : public Node public: explicit FolderNode(const Utils::FileName &folderPath, NodeType nodeType = NodeType::Folder, const QString &displayName = QString(), const QByteArray &id = {}); - ~FolderNode() override; QString displayName() const override; QIcon icon() const; @@ -218,7 +217,7 @@ public: const std::function<void(FolderNode *)> &folderTask = {}, const std::function<bool(const FolderNode *)> &folderFilterTask = {}) const; void forEachGenericNode(const std::function<void(Node *)> &genericTask) const; - const QList<Node *> nodes() const { return m_nodes; } + const QList<Node *> nodes() const; QList<FileNode *> fileNodes() const; FileNode *fileNode(const Utils::FileName &file) const; QList<FolderNode *> folderNodes() const; @@ -279,7 +278,9 @@ public: virtual bool showWhenEmpty() const; void addNode(Node *node); + void addNode(std::unique_ptr<Node> &&node); void removeNode(Node *node); + std::unique_ptr<Node> takeNode(Node *node); bool isEmpty() const; @@ -289,7 +290,7 @@ public: protected: virtual void handleSubTreeChanged(FolderNode *node); - QList<Node *> m_nodes; + std::vector<std::unique_ptr<Node>> m_nodes; QList<LocationInfo> m_locations; private: |