From 3de592603ee2aefb394459e5e9ee41f8d968ec69 Mon Sep 17 00:00:00 2001 From: liyigang Date: Tue, 3 Sep 2024 13:12:21 +0800 Subject: [PATCH] fix: Local directory attribute box statistics file size and quantity errors Local directory attribute box statistics file size and quantity errors Log: Local directory attribute box statistics file size and quantity errors --- src/dfm-base/file/local/syncfileinfo.cpp | 5 ++--- .../core/dfmplugin-propertydialog/views/basicwidget.cpp | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/dfm-base/file/local/syncfileinfo.cpp b/src/dfm-base/file/local/syncfileinfo.cpp index 694e7f3d57..c987f8c9da 100644 --- a/src/dfm-base/file/local/syncfileinfo.cpp +++ b/src/dfm-base/file/local/syncfileinfo.cpp @@ -659,10 +659,9 @@ FileInfo::FileType SyncFileInfoPrivate::updateFileType() const QString &absoluteFilePath = filePath(); const QByteArray &nativeFilePath = QFile::encodeName(absoluteFilePath); QT_STATBUF statBuffer; - auto fileMode = attribute(DFileInfo::AttributeID::kStandardType).toUInt(); - if (fileMode <= 0 || QT_STAT(nativeFilePath.constData(), &statBuffer) != 0) + if (QT_STAT(nativeFilePath.constData(), &statBuffer) != 0) return fileType; - fileMode = fileMode <= 0 ? statBuffer.st_mode : fileMode; + auto fileMode = statBuffer.st_mode; if (S_ISDIR(fileMode)) fileType = FileInfo::FileType::kDirectory; else if (S_ISCHR(fileMode)) diff --git a/src/plugins/common/core/dfmplugin-propertydialog/views/basicwidget.cpp b/src/plugins/common/core/dfmplugin-propertydialog/views/basicwidget.cpp index 3d7884e55f..fada133904 100644 --- a/src/plugins/common/core/dfmplugin-propertydialog/views/basicwidget.cpp +++ b/src/plugins/common/core/dfmplugin-propertydialog/views/basicwidget.cpp @@ -286,12 +286,12 @@ void BasicWidget::basicFill(const QUrl &url) fileType->setRightValue(info->displayOf(DisPlayInfoType::kMimeTypeDisplayName), Qt::ElideMiddle, Qt::AlignVCenter, true); if (type == FileInfo::FileType::kDirectory && fileCount && fileCount->RightValue().isEmpty()) { fileCount->setRightValue(tr("%1 item").arg(0), Qt::ElideNone, Qt::AlignVCenter, true); + connect(fileCalculationUtils, &FileStatisticsJob::dataNotify, this, &BasicWidget::slotFileCountAndSizeChange); if (info->canAttributes(CanableInfoType::kCanRedirectionFileUrl)) { fileCalculationUtils->start(QList() << info->urlOf(UrlInfoType::kRedirectedFileUrl)); } else { fileCalculationUtils->start(QList() << url); } - connect(fileCalculationUtils, &FileStatisticsJob::dataNotify, this, &BasicWidget::slotFileCountAndSizeChange); } else { layoutMain->removeWidget(fileCount); fieldMap.remove(BasicFieldExpandEnum::kFileCount);