SynEdit, trim trailing space: Fixed, spaces where kept, if text was reverted

git-svn-id: trunk@22663 -
This commit is contained in:
martin 2009-11-18 00:09:36 +00:00
parent 18d49dd9cd
commit c8ba6e0940

View File

@ -52,6 +52,7 @@ type
fLockList : TStringList;
FLineEdited: Boolean;
procedure DoCaretChanged(Sender : TObject);
procedure ListCleared(Sender: TObject);
Procedure LinesChanged(Sender: TSynEditStrings; AIndex, ACount : Integer);
Procedure LineCountChanged(Sender: TSynEditStrings; AIndex, ACount : Integer);
procedure DoLinesChanged(Index, N: integer);
@ -328,12 +329,14 @@ begin
Inherited Create(ASynStringSource);
fSynStrings.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
fSynStrings.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
fSynStrings.AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
end;
destructor TSynEditStringTrimmingList.Destroy;
begin
fSynStrings.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
fSynStrings.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
fSynStrings.RemoveNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
fCaret.RemoveChangeHandler(@DoCaretChanged);
FreeAndNil(fLockList);
inherited Destroy;
@ -388,6 +391,13 @@ begin
fLineIndex := TSynEditCaret(Sender).LinePos - 1;
end;
procedure TSynEditStringTrimmingList.ListCleared(Sender: TObject);
begin
fLockList.Clear;
fLineIndex:= -1;
fSpaces := '';
end;
procedure TSynEditStringTrimmingList.LinesChanged(Sender: TSynEditStrings; AIndex, ACount: Integer);
begin
if FIsTrimming then