From a96ac7861a961462c3aefe73432024473b668f8e Mon Sep 17 00:00:00 2001 From: Filippo Ferrario <102259289+ferrariofilippo@users.noreply.github.com> Date: Tue, 7 Jan 2025 17:46:14 +0100 Subject: [PATCH] Fix: Inaccurate Properties Display Issue when Applying Tags --- src/Files.App/Utils/Storage/Search/FolderSearch.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Files.App/Utils/Storage/Search/FolderSearch.cs b/src/Files.App/Utils/Storage/Search/FolderSearch.cs index 9d5693fee00e..79762fa16f29 100644 --- a/src/Files.App/Utils/Storage/Search/FolderSearch.cs +++ b/src/Files.App/Utils/Storage/Search/FolderSearch.cs @@ -345,10 +345,14 @@ private ListedItem GetListedItemAsync(string itemPath, WIN32_FIND_DATA findData) ListedItem listedItem = null; var isHidden = ((FileAttributes)findData.dwFileAttributes & FileAttributes.Hidden) == FileAttributes.Hidden; var isFolder = ((FileAttributes)findData.dwFileAttributes & FileAttributes.Directory) == FileAttributes.Directory; + Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastWriteTime, out Win32PInvoke.SYSTEMTIME systemModifiedTimeOutput); + Win32PInvoke.FileTimeToSystemTime(ref findData.ftCreationTime, out Win32PInvoke.SYSTEMTIME systemCreatedTimeOutput); + if (!isFolder) { string itemFileExtension = null; string itemType = null; + long fileSize = Win32FindDataExtensions.GetSize(findData); if (findData.cFileName.Contains('.', StringComparison.Ordinal)) { itemFileExtension = Path.GetExtension(itemPath); @@ -360,11 +364,15 @@ private ListedItem GetListedItemAsync(string itemPath, WIN32_FIND_DATA findData) PrimaryItemAttribute = StorageItemTypes.File, ItemNameRaw = findData.cFileName, ItemPath = itemPath, + ItemDateModifiedReal = systemModifiedTimeOutput.ToDateTime(), + ItemDateCreatedReal = systemCreatedTimeOutput.ToDateTime(), IsHiddenItem = isHidden, LoadFileIcon = false, FileExtension = itemFileExtension, ItemType = itemType, - Opacity = isHidden ? Constants.UI.DimItemOpacity : 1 + Opacity = isHidden ? Constants.UI.DimItemOpacity : 1, + FileSize = fileSize.ToSizeString(), + FileSizeBytes = fileSize, }; } else @@ -376,6 +384,8 @@ private ListedItem GetListedItemAsync(string itemPath, WIN32_FIND_DATA findData) PrimaryItemAttribute = StorageItemTypes.Folder, ItemNameRaw = findData.cFileName, ItemPath = itemPath, + ItemDateModifiedReal = systemModifiedTimeOutput.ToDateTime(), + ItemDateCreatedReal = systemCreatedTimeOutput.ToDateTime(), IsHiddenItem = isHidden, LoadFileIcon = false, Opacity = isHidden ? Constants.UI.DimItemOpacity : 1