summaryrefslogtreecommitdiff
path: root/src/filetree.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/filetree.h')
-rw-r--r--src/filetree.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/filetree.h b/src/filetree.h
index aabdf61b..75270d29 100644
--- a/src/filetree.h
+++ b/src/filetree.h
@@ -38,6 +38,7 @@ public:
const QString& filename() const;
const QString& mod() const;
+ const QString& realPath() const;
QString dataRelativeParentPath() const;
QString dataRelativeFilePath() const;
@@ -95,11 +96,15 @@ public:
Qt::ItemFlags flags(const QModelIndex& index) const override;
private:
+ class IconFetcher;
+
using DirectoryIterator = std::vector<MOShared::DirectoryEntry*>::const_iterator;
OrganizerCore& m_core;
mutable FileTreeItem m_root;
Flags m_flags;
- QIcon m_fileIcon, m_directoryIcon;
+ std::unique_ptr<IconFetcher> m_iconFetcher;
+ mutable std::vector<QModelIndex> m_iconPending;
+ mutable QTimer m_iconPendingTimer;
bool showConflicts() const;
bool showArchives() const;
@@ -120,6 +125,7 @@ private:
FileTreeItem* itemFromIndex(const QModelIndex& index) const;
void ensureLoaded(FileTreeItem* item) const;
+ void updatePendingIcons();
};
Q_DECLARE_OPERATORS_FOR_FLAGS(FileTreeModel::Flags);