summaryrefslogtreecommitdiff
path: root/src/filetreemodel.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-04-17 07:06:38 -0400
committerGitHub <noreply@github.com>2020-04-17 07:06:38 -0400
commit4621c271642906d13fffaed83e1033da09abe20d (patch)
treeb0b00df4afd0e8a1ce477e438e6cf52a5a5823cf /src/filetreemodel.h
parent502e752b0af4e7a6800a7504ddbefbeef99778e4 (diff)
parent0faa5d69953f41deafba33cf36317127cbea8a8a (diff)
Merge pull request #1052 from isanae/filetree-crash-fixes
File tree crashes
Diffstat (limited to 'src/filetreemodel.h')
-rw-r--r--src/filetreemodel.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/filetreemodel.h b/src/filetreemodel.h
index 5bfb75aa..8d3af5f7 100644
--- a/src/filetreemodel.h
+++ b/src/filetreemodel.h
@@ -93,6 +93,13 @@ private:
SortInfo m_sort;
bool m_fullyLoaded;
+ // see top of filetreemodel.cpp
+ std::vector<FileTreeItem*> m_removeItems;
+ QTimer m_removeTimer;
+ std::vector<FileTreeItem*> m_sortItems;
+ QTimer m_sortTimer;
+
+
bool showConflictsOnly() const
{
return (m_flags & ConflictsOnly);
@@ -101,18 +108,28 @@ private:
bool showArchives() const;
+ // for `forFetching`, see top of filetreemodel.cpp
void update(
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
- const std::wstring& parentPath);
+ const std::wstring& parentPath, bool forFetching);
+
+ void queueRemoveItem(FileTreeItem* item);
+ void removeItems();
+ void queueSortItem(FileTreeItem* item);
+ void sortItems();
+
+ // for `forFetching`, see top of filetreemodel.cpp
bool updateDirectories(
FileTreeItem& parentItem, const std::wstring& path,
- const MOShared::DirectoryEntry& parentEntry);
+ const MOShared::DirectoryEntry& parentEntry, bool forFetching);
+ // for `forFetching`, see top of filetreemodel.cpp
void removeDisappearingDirectories(
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,
- const std::wstring& parentPath, std::unordered_set<std::wstring_view>& seen);
+ const std::wstring& parentPath, std::unordered_set<std::wstring_view>& seen,
+ bool forFetching);
bool addNewDirectories(
FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry,