summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-07-10 14:03:37 -0400
committerGitHub <noreply@github.com>2020-07-10 14:03:37 -0400
commit69b86b206b2b659653b6f3c6cece77bf8c10ab0a (patch)
tree56d625ba6522bae9806bcf7c32c3f1a8b0fab654
parentc8e1d62af0694f69f08659b57a0425f0151bf690 (diff)
parent16c7cc5605d4e71f509acfcb4881df833de11853 (diff)
Merge pull request #1151 from isanae/data-tab-filter-slow
Slow search in data tab
-rw-r--r--src/filetreemodel.cpp9
-rw-r--r--src/filetreemodel.h2
-rw-r--r--src/organizer_en.ts24
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>