summaryrefslogtreecommitdiff
path: root/src/filetree.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-12-10 14:19:09 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-04 03:33:17 -0500
commitefdc3eb14fc238e3cb2032148ab37f143f1bbc5f (patch)
treeaa278433c57a87a71b76072f610f310adc17bf18 /src/filetree.h
parenta4624f239fe5d152ec8797c1a3f8c2b2aeaef1ba (diff)
load items on demand
Diffstat (limited to 'src/filetree.h')
-rw-r--r--src/filetree.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/filetree.h b/src/filetree.h
index a9eac64e..aabdf61b 100644
--- a/src/filetree.h
+++ b/src/filetree.h
@@ -32,14 +32,27 @@ public:
const std::vector<std::unique_ptr<FileTreeItem>>& children() const;
FileTreeItem* parent();
+
+ const QString& virtualParentPath() const;
+ QString virtualPath() const;
const QString& filename() const;
const QString& mod() const;
+
+ QString dataRelativeParentPath() const;
+ QString dataRelativeFilePath() const;
+
+ QFileIconProvider::IconType icon() const;
+
+ bool isDirectory() const;
bool isFromArchive() const;
+ bool isConflicted() const;
bool isHidden() const;
- bool isConflicted() const;;
- QFileIconProvider::IconType icon() const;
+ bool hasChildren() const;
void setLoaded(bool b);
+ bool isLoaded() const;
+
+ QString debugName() const;
private:
FileTreeItem* m_parent;
@@ -76,8 +89,10 @@ public:
QModelIndex parent(const QModelIndex& index) const override;
int rowCount(const QModelIndex& parent={}) const override;
int columnCount(const QModelIndex& parent={}) const override;
+ bool hasChildren(const QModelIndex& parent={}) const override;
QVariant data(const QModelIndex& index, int role=Qt::DisplayRole) const override;
QVariant headerData(int i, Qt::Orientation ori, int role=Qt::DisplayRole) const override;
+ Qt::ItemFlags flags(const QModelIndex& index) const override;
private:
using DirectoryIterator = std::vector<MOShared::DirectoryEntry*>::const_iterator;
@@ -104,6 +119,7 @@ private:
std::wstring makeModName(const MOShared::FileEntry& file, int originID) const;
FileTreeItem* itemFromIndex(const QModelIndex& index) const;
+ void ensureLoaded(FileTreeItem* item) const;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(FileTreeModel::Flags);