From 8f8a44a28884c7af0029562cf28f7296f31a1803 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sun, 23 Aug 2015 16:53:33 +0200 Subject: [PATCH] fix #26, selection length on status bar is wrong --- src/ce_editor.pas | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/ce_editor.pas b/src/ce_editor.pas index 3bfd9445..82b631b9 100644 --- a/src/ce_editor.pas +++ b/src/ce_editor.pas @@ -52,17 +52,20 @@ type fTokList: TLexTokenList; fErrList: TLexErrorList; fModStart: boolean; + fLastCommand: TSynEditorCommand; {$IFDEF LINUX} procedure pageCloseBtnClick(Sender: TObject); {$ENDIF} procedure lexFindToken(const aToken: PLexToken; out doStop: boolean); procedure memoKeyPress(Sender: TObject; var Key: char); procedure memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure memoKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure memoCtrlClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure getSymbolLoc; procedure focusedEditorChanged; + procedure memoCmdProcessed(Sender: TObject; var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); // procedure docNew(aDoc: TCESynMemo); procedure docClosing(aDoc: TCESynMemo); @@ -161,10 +164,12 @@ begin aDoc.Parent := sheet; // aDoc.OnKeyDown := @memoKeyDown; + aDoc.OnKeyUp := @memoKeyUp; aDoc.OnKeyPress := @memoKeyPress; aDoc.OnMouseDown := @memoMouseDown; aDoc.OnMouseMove := @memoMouseMove; aDoc.OnClickLink := @memoCtrlClick; + aDoc.OnCommandProcessed:= @memoCmdProcessed; // fDoc := aDoc; pageControl.ActivePage := sheet; @@ -299,6 +304,18 @@ begin getSymbolLoc; end; +procedure TCEEditorWidget.memoKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); +begin + case fLastCommand of + ecSelectionStart..ecSelectionEnd: updateImperative; + end; +end; + +procedure TCEEditorWidget.memoCmdProcessed(Sender: TObject; var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); +begin + fLastCommand := Command; +end; + procedure TCEEditorWidget.memoKeyPress(Sender: TObject; var Key: char); begin fKeyChanged := true;