mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 00:29:33 +02:00
* try to improove tabs handling in DelChar and InsertLine methods
This commit is contained in:
parent
c714e2b35b
commit
53dda29b75
@ -4701,6 +4701,7 @@ begin
|
||||
end;
|
||||
var {SelBack: sw_integer;}
|
||||
SCP: TPoint;
|
||||
CI : sw_integer;
|
||||
HoldUndo : Boolean;
|
||||
L,NewL: PCustomLine;
|
||||
EI,NewEI: PEditorLineInfo;
|
||||
@ -4724,15 +4725,16 @@ begin
|
||||
else
|
||||
EI:=nil;
|
||||
{ SelBack:=0;}
|
||||
CI:=LinePosToCharIdx(CurPos.Y,CurPos.X);
|
||||
if GetLineCount>0 then
|
||||
begin
|
||||
S:=GetDisplayText(CurPos.Y);
|
||||
S:=GetLineText(CurPos.Y);
|
||||
{ SelBack:=length(S)-SelEnd.X;}
|
||||
SetDisplayText(CurPos.Y,RTrim(S,not IsFlagSet(efUseTabCharacters)));
|
||||
SetLineText(CurPos.Y,RTrim(S,not IsFlagSet(efUseTabCharacters)));
|
||||
end;
|
||||
SetDisplayText(CurPos.Y,copy(S,1,CurPos.X-1+1));
|
||||
SetLineText(CurPos.Y,copy(S,1,CI-1));
|
||||
CalcIndent(CurPos.Y);
|
||||
S:=copy(S,CurPos.X+1,High(S));
|
||||
S:=copy(S,CI,High(S));
|
||||
i:=1;
|
||||
while (i<=length(s)) and (i<=length(IndentStr)) and (s[i]=' ') do
|
||||
inc(i);
|
||||
@ -4872,7 +4874,8 @@ begin
|
||||
HoldUndo:=GetStoreUndo;
|
||||
SetStoreUndo(false);
|
||||
S:=GetLineText(CurPos.Y);
|
||||
if CurPos.X>=length(S) then
|
||||
CI:=LinePosToCharIdx(CurPos.Y,CurPos.X);
|
||||
if CI>length(S) then
|
||||
begin
|
||||
if CurPos.Y<GetLineCount-1 then
|
||||
begin
|
||||
@ -4892,7 +4895,6 @@ begin
|
||||
else
|
||||
begin
|
||||
{ Problem if S[CurPos.X+1]=TAB !! PM }
|
||||
CI:=LinePosToCharIdx(CurPos.Y,CurPos.X);
|
||||
if S[CI]=TAB then
|
||||
begin
|
||||
{ we want to remove the tab if we are at the first place
|
||||
@ -7101,7 +7103,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.21 2002-06-06 07:04:00 pierre
|
||||
Revision 1.22 2002-06-13 14:50:35 pierre
|
||||
* try to improove tabs handling in DelChar and InsertLine methods
|
||||
|
||||
Revision 1.21 2002/06/06 07:04:00 pierre
|
||||
* use inherited ResetCursor for fvision lib
|
||||
|
||||
Revision 1.20 2002/05/31 12:33:49 pierre
|
||||
|
Loading…
Reference in New Issue
Block a user