|
@@ -28,7 +28,7 @@ interface
|
|
|
|
|
|
uses
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
- ExtCtrls, Buttons, ComCtrls, Grids, Menus, ActnList, EditBtn, LazUTF8Classes,
|
|
|
|
|
|
+ ExtCtrls, Buttons, ComCtrls, Grids, Menus, ActnList, EditBtn, DCClassesUtf8,
|
|
uFileView, uFileSource, uFileSourceCopyOperation, uFile, uFileSourceOperation,
|
|
uFileView, uFileSource, uFileSourceCopyOperation, uFile, uFileSourceOperation,
|
|
uFileSourceOperationMessageBoxesUI, uFormCommands, uHotkeyManager, uClassesEx,
|
|
uFileSourceOperationMessageBoxesUI, uFormCommands, uHotkeyManager, uClassesEx,
|
|
uFileSourceDeleteOperation, KASProgressBar;
|
|
uFileSourceDeleteOperation, KASProgressBar;
|
|
@@ -153,13 +153,13 @@ type
|
|
{ private declarations }
|
|
{ private declarations }
|
|
FCancel: Boolean;
|
|
FCancel: Boolean;
|
|
FScanning: Boolean;
|
|
FScanning: Boolean;
|
|
- FFoundItems: TStringListUtf8;
|
|
|
|
- FVisibleItems: TStringListUtf8;
|
|
|
|
|
|
+ FFoundItems: TStringListEx;
|
|
|
|
+ FVisibleItems: TStringListEx;
|
|
FSortIndex: Integer;
|
|
FSortIndex: Integer;
|
|
FSortDesc: Boolean;
|
|
FSortDesc: Boolean;
|
|
FNtfsShift: Boolean;
|
|
FNtfsShift: Boolean;
|
|
FFileExists: TSyncRecState;
|
|
FFileExists: TSyncRecState;
|
|
- FSelectedItems: TStringListUtf8;
|
|
|
|
|
|
+ FSelectedItems: TStringListEx;
|
|
FFileSourceL, FFileSourceR: IFileSource;
|
|
FFileSourceL, FFileSourceR: IFileSource;
|
|
FCmpFileSourceL, FCmpFileSourceR: IFileSource;
|
|
FCmpFileSourceL, FCmpFileSourceR: IFileSource;
|
|
FCmpFilePathL, FCmpFilePathR: string;
|
|
FCmpFilePathL, FCmpFilePathR: string;
|
|
@@ -234,7 +234,7 @@ implementation
|
|
|
|
|
|
uses
|
|
uses
|
|
fMain, uDebug, fDiffer, fSyncDirsPerformDlg, uGlobs, LCLType, LazUTF8, LazFileUtils,
|
|
fMain, uDebug, fDiffer, fSyncDirsPerformDlg, uGlobs, LCLType, LazUTF8, LazFileUtils,
|
|
- DCClassesUtf8, uFileSystemFileSource, uFileSourceOperationOptions, DCDateTimeUtils,
|
|
|
|
|
|
+ uFileSystemFileSource, uFileSourceOperationOptions, DCDateTimeUtils,
|
|
uDCUtils, uFileSourceUtil, uFileSourceOperationTypes, uShowForm, uAdministrator,
|
|
uDCUtils, uFileSourceUtil, uFileSourceOperationTypes, uShowForm, uAdministrator,
|
|
uOSUtils, uLng, uMasks, Math, uClipboard, IntegerList, fMaskInputDlg, uSearchTemplate,
|
|
uOSUtils, uLng, uMasks, Math, uClipboard, IntegerList, fMaskInputDlg, uSearchTemplate,
|
|
StrUtils, uTypes, uFileSystemDeleteOperation;
|
|
StrUtils, uTypes, uFileSystemDeleteOperation;
|
|
@@ -1164,7 +1164,7 @@ begin
|
|
if Assigned(FVisibleItems) then
|
|
if Assigned(FVisibleItems) then
|
|
FVisibleItems.Clear
|
|
FVisibleItems.Clear
|
|
else begin
|
|
else begin
|
|
- FVisibleItems := TStringListUtf8.Create;
|
|
|
|
|
|
+ FVisibleItems := TStringListEx.Create;
|
|
FVisibleItems.CaseSensitive := FileNameCaseSensitive;
|
|
FVisibleItems.CaseSensitive := FileNameCaseSensitive;
|
|
end;
|
|
end;
|
|
{ init filter }
|
|
{ init filter }
|
|
@@ -1297,23 +1297,23 @@ var
|
|
var
|
|
var
|
|
i, j, tot: Integer;
|
|
i, j, tot: Integer;
|
|
it: TStringList;
|
|
it: TStringList;
|
|
- dirsLeft, dirsRight: TStringListUtf8;
|
|
|
|
|
|
+ dirsLeft, dirsRight: TStringListEx;
|
|
d: string;
|
|
d: string;
|
|
begin
|
|
begin
|
|
i := FFoundItems.IndexOf(dir);
|
|
i := FFoundItems.IndexOf(dir);
|
|
if i < 0 then
|
|
if i < 0 then
|
|
begin
|
|
begin
|
|
- it := TStringListUtf8.Create;
|
|
|
|
|
|
+ it := TStringListEx.Create;
|
|
it.CaseSensitive := FileNameCaseSensitive;
|
|
it.CaseSensitive := FileNameCaseSensitive;
|
|
it.Sorted := True;
|
|
it.Sorted := True;
|
|
FFoundItems.AddObject(dir, it);
|
|
FFoundItems.AddObject(dir, it);
|
|
end else
|
|
end else
|
|
it := TStringList(FFoundItems.Objects[i]);
|
|
it := TStringList(FFoundItems.Objects[i]);
|
|
if dir <> '' then dir := AppendPathDelim(dir);
|
|
if dir <> '' then dir := AppendPathDelim(dir);
|
|
- dirsLeft := TStringListUtf8.Create;
|
|
|
|
|
|
+ dirsLeft := TStringListEx.Create;
|
|
dirsLeft.CaseSensitive := FileNameCaseSensitive;
|
|
dirsLeft.CaseSensitive := FileNameCaseSensitive;
|
|
dirsLeft.Sorted := True;
|
|
dirsLeft.Sorted := True;
|
|
- dirsRight := TStringListUtf8.Create;
|
|
|
|
|
|
+ dirsRight := TStringListEx.Create;
|
|
dirsRight.CaseSensitive := FileNameCaseSensitive;
|
|
dirsRight.CaseSensitive := FileNameCaseSensitive;
|
|
dirsRight.Sorted := True;
|
|
dirsRight.Sorted := True;
|
|
try
|
|
try
|
|
@@ -1880,7 +1880,7 @@ var
|
|
AFiles: TFiles;
|
|
AFiles: TFiles;
|
|
begin
|
|
begin
|
|
inherited Create(AOwner);
|
|
inherited Create(AOwner);
|
|
- FFoundItems := TStringListUtf8.Create;
|
|
|
|
|
|
+ FFoundItems := TStringListEx.Create;
|
|
FFoundItems.CaseSensitive := FileNameCaseSensitive;
|
|
FFoundItems.CaseSensitive := FileNameCaseSensitive;
|
|
FFoundItems.Sorted := True;
|
|
FFoundItems.Sorted := True;
|
|
FFileSourceL := FileView1.FileSource;
|
|
FFileSourceL := FileView1.FileSource;
|
|
@@ -1900,7 +1900,7 @@ begin
|
|
FSortDesc := False;
|
|
FSortDesc := False;
|
|
MainDrawGrid.RowCount := 0;
|
|
MainDrawGrid.RowCount := 0;
|
|
// ---------------------------------------------------------------------------
|
|
// ---------------------------------------------------------------------------
|
|
- FSelectedItems := TStringListUtf8.Create;
|
|
|
|
|
|
+ FSelectedItems := TStringListEx.Create;
|
|
FSelectedItems.Sorted := True;
|
|
FSelectedItems.Sorted := True;
|
|
FSelectedItems.Duplicates := dupIgnore;
|
|
FSelectedItems.Duplicates := dupIgnore;
|
|
FSelectedItems.CaseSensitive := FileNameCaseSensitive;
|
|
FSelectedItems.CaseSensitive := FileNameCaseSensitive;
|