82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
unit EditPos;
|
|
|
|
var
|
|
EditPosReg: TJvRegAuto;
|
|
|
|
const
|
|
EditPosCfg = 'EditPos.cfg';
|
|
|
|
procedure InitEditPos;
|
|
begin
|
|
EditPosReg := TJvRegAuto.Create(MainWindow);
|
|
EditPosReg.IniFile := WorkingDir + EditPosCfg;
|
|
EditPosReg.UseIni := True;
|
|
EditPosReg.UseReg := False;
|
|
end;
|
|
|
|
procedure DoneEditPos;
|
|
begin
|
|
{ we must delete old records in 'EditPos.cfg' }
|
|
//..
|
|
EditPosReg.Free;
|
|
end;
|
|
|
|
procedure CloseEditPos(FileName: string);
|
|
var
|
|
i: Integer;
|
|
begin
|
|
if FileName = '' then Exit;
|
|
ODS('Save edit pos');
|
|
EditPosReg.EraseSection(FileName);
|
|
EditPosReg.WriteInteger(FileName, 'X', Editor.CaretX);
|
|
EditPosReg.WriteInteger(FileName, 'Y', Editor.CaretY);
|
|
EditPosReg.WriteInteger(FileName, 'Left', Editor.LeftCol);
|
|
EditPosReg.WriteInteger(FileName, 'Top', Editor.TopRow);
|
|
{EditPosReg.WriteInteger(FileName, 'WindowLeft', MainWindow.Left);
|
|
EditPosReg.WriteInteger(FileName, 'WindowTop', MainWindow.Top);
|
|
EditPosReg.WriteInteger(FileName, 'WindowWidth', MainWindow.Width);
|
|
EditPosReg.WriteInteger(FileName, 'WindowHeight', MainWindow.Height);}
|
|
|
|
for i := 0 to 9 do
|
|
if Editor.BookmarkValid[i] then
|
|
begin
|
|
EditPosReg.WriteInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.X', Editor.BookmarkX[i]);
|
|
EditPosReg.WriteInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.Y', Editor.BookmarkY[i]);
|
|
end;
|
|
end;
|
|
|
|
procedure OpenEditPos(FileName: string);
|
|
var
|
|
i: Integer;
|
|
X, Y: Integer;
|
|
begin
|
|
if FileName = '' then Exit;
|
|
ODS('Restore edit pos for file ' + FileName);
|
|
Editor.CaretX := EditPosReg.ReadInteger(FileName, 'X', 0);
|
|
Editor.CaretY := EditPosReg.ReadInteger(FileName, 'Y', 0);
|
|
Editor.SetLeftTop(EditPosReg.ReadInteger(FileName, 'Left', 0),
|
|
EditPosReg.ReadInteger(FileName, 'Top', 0));
|
|
{ MainWindow.Left := EditPosReg.ReadInteger(FileName, 'WindowLeft', MainWindow.Left);
|
|
MainWindow.Top := EditPosReg.ReadInteger(FileName, 'WindowTop', MainWindow.Top);
|
|
MainWindow.Width := EditPosReg.ReadInteger(FileName, 'WindowWidth', MainWindow.Width);
|
|
MainWindow.Height := EditPosReg.ReadInteger(FileName, 'WindowHeight', MainWindow.Height); }
|
|
|
|
for i := 0 to 9 do
|
|
begin
|
|
X := EditPosReg.ReadInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.X', -1);
|
|
Y := EditPosReg.ReadInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.Y', -1);
|
|
if (X > -1) and (Y > -1) then
|
|
begin
|
|
Editor.BookmarkX[i] := X;
|
|
Editor.BookmarkY[i] := Y;
|
|
Editor.BookmarkValid[i] := True;
|
|
end
|
|
else
|
|
Editor.BookmarkValid[i] := False;
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
end.
|