diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-07-10 14:03:37 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-10 14:03:37 -0400 |
| commit | 69b86b206b2b659653b6f3c6cece77bf8c10ab0a (patch) | |
| tree | 56d625ba6522bae9806bcf7c32c3f1a8b0fab654 | |
| parent | c8e1d62af0694f69f08659b57a0425f0151bf690 (diff) | |
| parent | 16c7cc5605d4e71f509acfcb4881df833de11853 (diff) | |
Merge pull request #1151 from isanae/data-tab-filter-slow
Slow search in data tab
| -rw-r--r-- | src/filetreemodel.cpp | 9 | ||||
| -rw-r--r-- | src/filetreemodel.h | 2 | ||||
| -rw-r--r-- | src/organizer_en.ts | 24 |
3 files changed, 21 insertions, 14 deletions
diff --git a/src/filetreemodel.cpp b/src/filetreemodel.cpp index cf5bc665..11901c43 100644 --- a/src/filetreemodel.cpp +++ b/src/filetreemodel.cpp @@ -226,7 +226,7 @@ void FileTreeModel::clear() void FileTreeModel::recursiveFetchMore(const QModelIndex& m) { if (canFetchMore(m)) { - fetchMore(m); + doFetchMore(m, false); } for (int i=0; i<rowCount(m); ++i) { @@ -338,6 +338,11 @@ bool FileTreeModel::canFetchMore(const QModelIndex& parent) const void FileTreeModel::fetchMore(const QModelIndex& parent) { + doFetchMore(parent, true); +} + +void FileTreeModel::doFetchMore(const QModelIndex& parent, bool forFetch) +{ FileTreeItem* item = itemFromIndex(parent); if (!item) { return; @@ -354,7 +359,7 @@ void FileTreeModel::fetchMore(const QModelIndex& parent) } const auto parentPath = item->dataRelativeParentPath(); - update(*item, *parentEntry, parentPath.toStdWString(), true); + update(*item, *parentEntry, parentPath.toStdWString(), forFetch); } QVariant FileTreeModel::data(const QModelIndex& index, int role) const diff --git a/src/filetreemodel.h b/src/filetreemodel.h index 8d3af5f7..334a0577 100644 --- a/src/filetreemodel.h +++ b/src/filetreemodel.h @@ -113,6 +113,8 @@ private: FileTreeItem& parentItem, const MOShared::DirectoryEntry& parentEntry, const std::wstring& parentPath, bool forFetching); + void doFetchMore(const QModelIndex& parent, bool forFetch); + void queueRemoveItem(FileTreeItem* item); void removeItems(); diff --git a/src/organizer_en.ts b/src/organizer_en.ts index 964d032f..c5726013 100644 --- a/src/organizer_en.ts +++ b/src/organizer_en.ts @@ -1462,54 +1462,54 @@ Right now the only case I know of where this needs to be overwritten is for the <context> <name>FileTreeModel</name> <message> - <location filename="filetreemodel.cpp" line="422"/> + <location filename="filetreemodel.cpp" line="427"/> <source>Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="422"/> + <location filename="filetreemodel.cpp" line="427"/> <source>Mod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="422"/> + <location filename="filetreemodel.cpp" line="427"/> <source>Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="422"/> + <location filename="filetreemodel.cpp" line="427"/> <source>Size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="422"/> + <location filename="filetreemodel.cpp" line="427"/> <source>Date modified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="1118"/> + <location filename="filetreemodel.cpp" line="1123"/> <source>Directory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="1119"/> - <location filename="filetreemodel.cpp" line="1136"/> + <location filename="filetreemodel.cpp" line="1124"/> + <location filename="filetreemodel.cpp" line="1141"/> <source>Virtual path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="1137"/> + <location filename="filetreemodel.cpp" line="1142"/> <source>Real path</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="1138"/> + <location filename="filetreemodel.cpp" line="1143"/> <source>From</source> <translation type="unfinished"></translation> </message> <message> - <location filename="filetreemodel.cpp" line="1154"/> - <location filename="filetreemodel.cpp" line="1156"/> + <location filename="filetreemodel.cpp" line="1159"/> + <location filename="filetreemodel.cpp" line="1161"/> <source>Also in</source> <translation type="unfinished"></translation> </message> |
