mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
KFileItemModelRolesUpdater: Skip directory item count if it isSlow()
This makes the behavior of kernel cifs/nfs mounts the same as with kio's smb://. It also helps reduce the chance of the UI hanging due to opendir/readdir slowing down stat calls on the UI thread. Signed-off-by: Andrew Gunnerson <accounts+kde@chiller3.com>
This commit is contained in:
parent
24cc1483bc
commit
34e0a5488e
|
@ -1209,7 +1209,7 @@ void KFileItemModelRolesUpdater::applySortRole(int index)
|
|||
}
|
||||
|
||||
data.insert("type", item.mimeComment());
|
||||
} else if (m_model->sortRole() == "size" && item.isLocalFile() && item.isDir()) {
|
||||
} else if (m_model->sortRole() == "size" && item.isLocalFile() && !item.isSlow() && item.isDir()) {
|
||||
const QString path = item.localPath();
|
||||
if (m_scanDirectories) {
|
||||
m_directoryContentsCounter->scanDirectory(path);
|
||||
|
@ -1280,7 +1280,7 @@ QHash<QByteArray, QVariant> KFileItemModelRolesUpdater::rolesData(const KFileIte
|
|||
const bool getSizeRole = m_roles.contains("size");
|
||||
const bool getIsExpandableRole = m_roles.contains("isExpandable");
|
||||
|
||||
if ((getSizeRole || getIsExpandableRole) && item.isDir()) {
|
||||
if ((getSizeRole || getIsExpandableRole) && !item.isSlow() && item.isDir()) {
|
||||
if (item.isLocalFile()) {
|
||||
// Tell m_directoryContentsCounter that we want to count the items
|
||||
// inside the directory. The result will be received in slotDirectoryContentsCountReceived.
|
||||
|
|
Loading…
Reference in a new issue