UPD: Editor - use Modified property to control changes

This commit is contained in:
Alexander Koblov 2023-03-19 16:23:37 +03:00
commit eb658393d6

View file

@ -155,7 +155,6 @@ type
procedure frmEditorClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ Private declarations }
bChanged:Boolean;
bNoName: Boolean;
FSearchOptions: TEditSearchOptions;
FFileName: String;
@ -492,7 +491,7 @@ begin
Highlighter := dmHighl.GetHighlighter(Editor, ExtractFileExt(aFileName));
UpdateHighlighter(Highlighter);
FileName := aFileName;
bChanged := False;
Editor.Modified := False;
bNoname := False;
UpdateStatus;
finally
@ -718,7 +717,6 @@ end;
procedure TfrmEditor.EditorChange(Sender: TObject);
begin
inherited;
bChanged:=True;
UpdateStatus;
end;
@ -726,7 +724,7 @@ procedure TfrmEditor.UpdateStatus;
const
BreakStyle: array[TTextLineBreakStyle] of String = ('LF', 'CRLF', 'CR');
begin
if bChanged then
if Editor.Modified then
StatusBar.Panels[0].Text:= '*'
else begin
StatusBar.Panels[0].Text:= '';
@ -767,20 +765,25 @@ end;
procedure TfrmEditor.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:= False;
if bChanged then
if not Editor.Modified then
CanClose:= True
else begin
case msgYesNoCancel(Format(rsMsgFileChangedSave,[FileName])) of
mmrYes: cm_FileSave(['']);
mmrNo: bChanged:= False;
mmrYes:
begin
cm_FileSave(['']);
CanClose:= not Editor.Modified;
end;
mmrNo: CanClose:= True;
else
Exit;
CanClose:= False;
end;
CanClose:= True;
end;
end;
procedure TfrmEditor.cm_FileReload(const Params: array of string);
begin
if bChanged then
if Editor.Modified then
begin
if not msgYesNo(rsMsgFileReloadWarning) then
Exit;
@ -906,7 +909,7 @@ begin
if not CanClose then Exit;
FileName := rsMsgNewFile;
Editor.Lines.Clear;
bChanged:= False;
Editor.Modified:= False;
bNoname:= True;
UpdateStatus;
end;
@ -936,7 +939,6 @@ begin
else
begin
SaveFile(FileName);
bChanged:=False;
UpdateStatus;
end;
end;
@ -952,7 +954,6 @@ begin
FileName := dmComData.SaveDialog.FileName;
SaveFile(FileName);
bChanged:=False;
bNoname:=False;
UpdateStatus;