diff --git a/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp b/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp index a4c0729910be..b8b4fa8f602c 100644 --- a/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp +++ b/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp @@ -14,6 +14,8 @@ #include "fileprovidermaterialiseditemsmodel.h" +#include + namespace OCC { namespace Mac { @@ -101,7 +103,19 @@ QVariant FileProviderMaterialisedItemsModel::data(const QModelIndex &index, int case FileTypeStringRole: return item.fileTypeString(); case FileSizeStringRole: - return _locale.formattedDataSize(item.documentSize()); + { + const auto docSize = item.documentSize(); + if (docSize > 0) { + return _locale.formattedDataSize(item.documentSize()); + } + + // If the document size is 0, we can try to get the size of the file + // directly from its path. These are all materialised files anyway + // so the size will be properly represented + const auto path = item.userVisiblePath(); + const auto fileInfo = QFileInfo(path); + return _locale.formattedDataSize(fileInfo.size()); + } } return {}; }