summaryrefslogtreecommitdiff
path: root/src/filetreeitem.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-02-02 17:07:51 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-04 03:33:23 -0500
commit47d1826f55c66a039951d922dabab8b01324bebb (patch)
treea55665174c27c6d6c55bc97fcb6ab4e26eee519b /src/filetreeitem.h
parent97b91b5fe5077228a82c622e4af6a9b698396fda (diff)
hidden unique_ptr into FileTreeItem
refactored pruning don't show shell menu for directories added collapse all in context menu
Diffstat (limited to 'src/filetreeitem.h')
-rw-r--r--src/filetreeitem.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/filetreeitem.h b/src/filetreeitem.h
index c5418d43..8ef42289 100644
--- a/src/filetreeitem.h
+++ b/src/filetreeitem.h
@@ -9,7 +9,8 @@ class FileTreeItem
class Sorter;
public:
- using Children = std::vector<std::unique_ptr<FileTreeItem>>;
+ using Ptr = std::unique_ptr<FileTreeItem>;
+ using Children = std::vector<Ptr>;
enum Flag
{
@@ -22,7 +23,7 @@ public:
Q_DECLARE_FLAGS(Flags, Flag);
- FileTreeItem(
+ static Ptr create(
FileTreeItem* parent, int originID,
std::wstring dataRelativeParentPath, std::wstring realPath, Flags flags,
std::wstring file, std::wstring mod);
@@ -32,13 +33,13 @@ public:
FileTreeItem(FileTreeItem&&) = default;
FileTreeItem& operator=(FileTreeItem&&) = default;
- void add(std::unique_ptr<FileTreeItem> child)
+ void add(Ptr child)
{
child->m_indexGuess = m_children.size();
m_children.push_back(std::move(child));
}
- void insert(std::unique_ptr<FileTreeItem> child, std::size_t at);
+ void insert(Ptr child, std::size_t at);
template <class Itor>
void insert(Itor begin, Itor end, std::size_t at)
@@ -269,6 +270,12 @@ private:
bool m_expanded;
Children m_children;
+
+ FileTreeItem(
+ FileTreeItem* parent, int originID,
+ std::wstring dataRelativeParentPath, std::wstring realPath, Flags flags,
+ std::wstring file, std::wstring mod);
+
void getFileType() const;
};