summaryrefslogtreecommitdiff
path: root/src/filetree.h
diff options
context:
space:
mode:
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);