mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 01:29:31 +02:00
SynEdit: Trailing-Space-Trimmer, clean up / better workaround for syncro edit
git-svn-id: trunk@60078 -
This commit is contained in:
parent
26d29fe3be
commit
02479b4a1f
@ -561,12 +561,12 @@ begin
|
||||
if (not fEnabled) then exit;
|
||||
if (fLockCount > 0) or (length(fSpaces) = 0) or
|
||||
(fLineIndex < 0) or (fLineIndex >= fSynStrings.Count) or
|
||||
( (fLineIndex = TSynEditCaret(Sender).LinePos - 1) and
|
||||
( (fLineIndex = ToIdx(TSynEditCaret(Sender).LinePos)) and
|
||||
( (FTrimType in [settLeaveLine]) or
|
||||
((FTrimType in [settEditLine]) and not FLineEdited) ))
|
||||
then begin
|
||||
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) then begin
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CaretChnaged - Clearing 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
if (fLineIndex <> ToIdx(TSynEditCaret(Sender).LinePos)) then begin
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CaretChanged - Clearing 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
if fSpaces <> '' then IncViewChangeStamp;
|
||||
fLineIndex := TSynEditCaret(Sender).LinePos - 1;
|
||||
fSpaces := '';
|
||||
@ -579,7 +579,7 @@ begin
|
||||
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) or
|
||||
(FTrimType = settIgnoreAll) then
|
||||
begin
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CaretChnaged - Trimming,clear 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CaretChanged - Trimming,clear 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
MaybeAddUndoForget(FLineIndex+1, FSpaces);
|
||||
i := length(FSpaces);
|
||||
fSpaces := '';
|
||||
@ -596,7 +596,7 @@ begin
|
||||
else
|
||||
j := i - length(s) - 1;
|
||||
s := copy(FSpaces, j + 1, MaxInt);
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CarteChnaged - Trimming,part to ',length(s),' ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CaretChanged - Trimming,part to ',length(s),' ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||
FSpaces := copy(FSpaces, 1, j);
|
||||
i := length(s);
|
||||
MaybeAddUndoForget(FLineIndex+1, s);
|
||||
@ -815,6 +815,8 @@ procedure TSynEditStringTrimmingList.ForceTrim;
|
||||
begin
|
||||
FlushNotificationCache;
|
||||
DoCaretChanged(fCaret); // Caret May be locked
|
||||
if (fLockCount > 1) then
|
||||
exit; // workaround for syncro edit
|
||||
TrimAfterLock;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user