summaryrefslogtreecommitdiff
path: root/src/filetreemodel.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-01-22 05:45:08 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-04 03:33:22 -0500
commitc6c01f86c64a3a9fa666dddec860e52d388e5e97 (patch)
tree7089d033f95630111e373d2ee173d03492fc8b5c /src/filetreemodel.h
parent7c98635edc33d74ab24352e971bb6a127e7272e8 (diff)
sort
Diffstat (limited to 'src/filetreemodel.h')
-rw-r--r--src/filetreemodel.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/filetreemodel.h b/src/filetreemodel.h
index 96e9e5a7..38f611f9 100644
--- a/src/filetreemodel.h
+++ b/src/filetreemodel.h
@@ -22,7 +22,7 @@ public:
enum Columns
{
- Filename = 0,
+ FileName = 0,
ModName,
FileType,
FileSize,
@@ -53,6 +53,7 @@ public:
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;
+ void sort(int column, Qt::SortOrder order=Qt::AscendingOrder) override;
FileTreeItem* itemFromIndex(const QModelIndex& index) const;
@@ -63,6 +64,12 @@ private:
PruneDirectories = 0x01
};
+ struct Sort
+ {
+ int column = 0;
+ Qt::SortOrder order = Qt::AscendingOrder;
+ };
+
class Range;
Q_DECLARE_FLAGS(FillFlags, FillFlag);
@@ -75,6 +82,7 @@ private:
mutable std::vector<QModelIndex> m_iconPending;
mutable QTimer m_iconPendingTimer;
bool m_isRefreshing;
+ Sort m_sort;
bool showConflicts() const
{
@@ -89,7 +97,7 @@ private:
const std::wstring& parentPath);
- void updateDirectories(
+ bool updateDirectories(
FileTreeItem& parentItem, const std::wstring& path,
const MOShared::DirectoryEntry& parentEntry, FillFlags flags);
@@ -97,13 +105,13 @@ private:
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
const std::wstring& parentPath, std::unordered_set<std::wstring_view>& seen);
- void addNewDirectories(
+ bool addNewDirectories(
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
const std::wstring& parentPath,
const std::unordered_set<std::wstring_view>& seen);
- void updateFiles(
+ bool updateFiles(
FileTreeItem& parentItem, const std::wstring& path,
const MOShared::DirectoryEntry& parentEntry);
@@ -111,7 +119,7 @@ private:
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
int& firstFileRow, std::unordered_set<MOShared::FileEntry::Index>& seen);
- void addNewFiles(
+ bool addNewFiles(
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
const std::wstring& parentPath, int firstFileRow,
const std::unordered_set<MOShared::FileEntry::Index>& seen);
@@ -138,7 +146,7 @@ private:
QString makeTooltip(const FileTreeItem& item) const;
QVariant makeIcon(const FileTreeItem& item, const QModelIndex& index) const;
- QModelIndex indexFromItem(FileTreeItem& item) const;
+ QModelIndex indexFromItem(FileTreeItem& item, int col=0) const;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(FileTreeModel::Flags);