diff --git a/source/grideditlinks.pas b/source/grideditlinks.pas index 90cd979c..99609100 100644 --- a/source/grideditlinks.pas +++ b/source/grideditlinks.pas @@ -844,7 +844,8 @@ procedure TInplaceEditorLink.DoButtonClick; begin FTextEditor := TfrmTextEditor.Create(FTree); FTextEditor.SetFont(FEdit.Font); - FTextEditor.SetText(FTree.Text[FNode, FColumn]); + FTextEditor.SetText(FEdit.Text); + FTextEditor.Modified := FEdit.Text <> FTree.Text[FNode, FColumn]; FTextEditor.SetMaxLength(Self.FMaxLength); FTextEditor.ShowModal; end; diff --git a/source/texteditor.pas b/source/texteditor.pas index cb0ddb03..6efd7989 100644 --- a/source/texteditor.pas +++ b/source/texteditor.pas @@ -42,12 +42,12 @@ type DetectedLineBreaks, SelectedLineBreaks: TLineBreaks; procedure SetModified(NewVal: Boolean); - property Modified: Boolean read FModified write SetModified; public function GetText: WideString; override; procedure SetText(text: WideString); override; procedure SetMaxLength(len: integer); override; procedure SetFont(font: TFont); override; + property Modified: Boolean read FModified write SetModified; end; @@ -107,6 +107,9 @@ begin // TODO: Find out why the Delphi IDE insists hinting that this // property is ANSI when it is in fact a WideString. memoText.Text := text; + + memoText.SelectAll; + Modified := False; end; @@ -175,10 +178,7 @@ begin // Fix label position: lblTextLength.Top := tlbStandard.Top + (tlbStandard.Height-lblTextLength.Height) div 2; SetWindowSizeGrip(Handle, True); - memoText.SelectAll; memoText.SetFocus; - memoTextChange(Sender); - Modified := False; end;