|
@@ -230,7 +230,7 @@ uses
|
|
|
{$IFDEF timeFileView} uDebug, {$ENDIF}
|
|
|
LCLProc, Graphics, DCFileAttributes,
|
|
|
uFileSourceOperationTypes, uOSUtils, DCStrUtils, uDCUtils, uExceptions,
|
|
|
- uGlobs, uMasks, uPixMapManager, uFileSourceProperty,
|
|
|
+ uGlobs, uMasks, uPixMapManager, uFileSourceProperty, uFileFunctions,
|
|
|
uFileSourceCalcStatisticsOperation,
|
|
|
uFileSourceOperationOptions;
|
|
|
|
|
@@ -405,9 +405,10 @@ end;
|
|
|
procedure TFileListBuilder.Execute;
|
|
|
var
|
|
|
AFile: TFile;
|
|
|
- i: Integer;
|
|
|
+ I, J: Integer;
|
|
|
HaveUpDir: Boolean = False;
|
|
|
FileSourceFiles: TFiles = nil;
|
|
|
+ SortingProperties: TFilePropertiesTypes = [];
|
|
|
begin
|
|
|
try
|
|
|
if Aborted then
|
|
@@ -482,6 +483,21 @@ begin
|
|
|
if Aborted then
|
|
|
Exit;
|
|
|
|
|
|
+ // Retrieve RetrievableFileProperties which used in sorting
|
|
|
+ for I:= Low(FSortings) to High(FSortings) do
|
|
|
+ begin
|
|
|
+ for J:= Low(FSortings[I].SortFunctions) to High(FSortings[I].SortFunctions) do
|
|
|
+ begin
|
|
|
+ SortingProperties:= SortingProperties + TFileFunctionToProperty[FSortings[I].SortFunctions[J]];
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ SortingProperties:= SortingProperties - FFileSource.SupportedFileProperties;
|
|
|
+ if SortingProperties <> [] then
|
|
|
+ begin
|
|
|
+ for I:= 0 to FileSourceFiles.Count - 1 do
|
|
|
+ FFileSource.RetrieveProperties(FileSourceFiles[I], SortingProperties);
|
|
|
+ end;
|
|
|
+
|
|
|
// Make display file list from file source file list.
|
|
|
if Assigned(FAllDisplayFiles) and Assigned(FExistingDisplayFilesHashed) then
|
|
|
begin
|