From f6a6379e20728236d1dd1d24a3ae08d5db388a39 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sun, 26 Apr 2009 16:29:09 +0000 Subject: [PATCH] * Fix text editor getting original celltext instead of already modified text from inplace editor. * Set modification flag on popup editor in that case. * Nukes duplicated error message from r2387 (see issue #1097). --- source/grideditlinks.pas | 3 ++- source/texteditor.pas | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) 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;