From 33c5d8cf5f14cadb89b2f82f3557fd9b0ab89348 Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Wed, 17 Apr 2013 10:31:14 +0100 Subject: Revert "Add common procedures in fpg_base for deadkeys" This reverts commit ccfd4b2ae0a9dfae0d19ae7ba673118af70c75da. --- src/corelib/fpg_base.pas | 64 ----------------------------------------------- src/gui/fpg_edit.pas | 33 +++++++++++++++++++++--- src/gui/fpg_editcombo.pas | 33 +++++++++++++++++++++--- src/gui/fpg_memo.pas | 33 +++++++++++++++++++++--- 4 files changed, 90 insertions(+), 73 deletions(-) (limited to 'src') diff --git a/src/corelib/fpg_base.pas b/src/corelib/fpg_base.pas index 07d44191..f3e8f6db 100644 --- a/src/corelib/fpg_base.pas +++ b/src/corelib/fpg_base.pas @@ -747,8 +747,6 @@ type { Keyboard } function KeycodeToText(AKey: Word; AShiftState: TShiftState): string; function CheckClipboardKey(AKey: Word; AShiftstate: TShiftState): TClipboardKeyType; -function UseDeadKey(AChar: TfpgChar; AKey: word): TfpgChar; -function ReadDeadKey(AKey: word): integer; { Color } function fpgColorToRGBTriple(const AColor: TfpgColor): TRGBTriple; @@ -973,68 +971,6 @@ begin end { if/else } end; -function UseDeadKey(AChar: TfpgChar; AKey: word): TfpgChar; -begin - case AKey of - keyDeadCircumflex: - case AChar of - 'a': - Result:= 'â'; - 'e': - Result:= 'ê'; - 'i': - Result:= 'î'; - 'o': - Result:= 'ô'; - 'u': - Result:= 'û'; - 'A': - Result:= 'Â'; - 'E': - Result:= 'Ê'; - 'I': - Result:= 'Î'; - 'O': - Result:= 'Ô'; - 'U': - Result:= 'Û'; - end; - keyDeadDiaeresis: - case AChar of - 'a': - Result:= 'ä'; - 'e': - Result:= 'ë'; - 'i': - Result:= 'ï'; - 'o': - Result:= 'ö'; - 'u': - Result:= 'ü'; - 'A': - Result:= 'Ä'; - 'E': - Result:= 'Ë'; - 'I': - Result:= 'Ï'; - 'O': - Result:= 'Ö'; - 'U': - Result:= 'Ü'; - end; - end; -end; - -function ReadDeadKey(AKey: word): integer; -begin - case AKey of - keyDeadCircumflex, keyDeadDiaeresis: - Result := AKey; - else - Result := -1; - end; -end; - function fpgColorToRGBTriple(const AColor: TfpgColor): TRGBTriple; begin with Result do diff --git a/src/gui/fpg_edit.pas b/src/gui/fpg_edit.pas index 21e6895e..01c52d4c 100644 --- a/src/gui/fpg_edit.pas +++ b/src/gui/fpg_edit.pas @@ -758,7 +758,34 @@ begin prevval := Text; if FDeadKeyChar> -1 then begin - AText:= UseDeadKey(AText, FDeadKeyChar); + case FDeadKeyChar of + keyDeadDiaeresis: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ë'; + 'i': + AText:= 'ï'; + 'o': + AText:= 'ö'; + 'u': + AText:= 'ü'; + end; + keyDeadCircumflex: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ê'; + 'i': + AText:= 'î'; + 'o': + AText:= 'ô'; + 'u': + AText:= 'û'; + end; + end; FDeadKeyChar:= -1; end; s := AText; @@ -804,8 +831,8 @@ begin hasChanged := False; fpgApplication.HideHint; - if FDeadKeyChar = -1 then - FDeadKeyChar:= ReadDeadKey(keycode); + if (keycode= keyDeadCircumflex) or (keycode= keyDeadDiaeresis) then + FDeadKeyChar:= keycode; Consumed := True; case CheckClipBoardKey(keycode, shiftstate) of diff --git a/src/gui/fpg_editcombo.pas b/src/gui/fpg_editcombo.pas index 9145d641..72b804ef 100644 --- a/src/gui/fpg_editcombo.pas +++ b/src/gui/fpg_editcombo.pas @@ -526,7 +526,34 @@ begin prevval := FText; if FDeadKeyChar> -1 then begin - AText:= UseDeadKey(AText, FDeadKeyChar); + case FDeadKeyChar of + keyDeadDiaeresis: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ë'; + 'i': + AText:= 'ï'; + 'o': + AText:= 'ö'; + 'u': + AText:= 'ü'; + end; + keyDeadCircumflex: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ê'; + 'i': + AText:= 'î'; + 'o': + AText:= 'ô'; + 'u': + AText:= 'û'; + end; + end; FDeadKeyChar:= -1; end; s := AText; @@ -590,8 +617,8 @@ var begin hasChanged := False; - if FDeadKeyChar = -1 then - FDeadKeyChar:= ReadDeadKey(keycode); + if (keycode= 58536) or (keycode= 58462) then + FDeadKeyChar:= keycode; if not Enabled then consumed := False diff --git a/src/gui/fpg_memo.pas b/src/gui/fpg_memo.pas index 2769e4d4..c0b227ae 100644 --- a/src/gui/fpg_memo.pas +++ b/src/gui/fpg_memo.pas @@ -1064,7 +1064,34 @@ begin prevval := Text; if FDeadKeyChar> -1 then begin - AText:= UseDeadKey(AText, FDeadKeyChar); + case FDeadKeyChar of + keyDeadDiaeresis: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ë'; + 'i': + AText:= 'ï'; + 'o': + AText:= 'ö'; + 'u': + AText:= 'ü'; + end; + keyDeadCircumflex: + case AText of + 'a': + AText:= 'â'; + 'e': + AText:= 'ê'; + 'i': + AText:= 'î'; + 'o': + AText:= 'ô'; + 'u': + AText:= 'û'; + end; + end; FDeadKeyChar:= -1; end; s := AText; @@ -1115,8 +1142,8 @@ begin Consumed := True; hasChanged := False; - if FDeadKeyChar = -1 then - FDeadKeyChar:= ReadDeadKey(keycode); + if (keycode= 58536) or (keycode= 58462) then + FDeadKeyChar:= keycode; case CheckClipBoardKey(keycode, shiftstate) of ckCopy: -- cgit v1.2.3-70-g09d2