summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJean-Marc Levecque <jean-marc.levecque@jmlesite.fr>2013-03-02 23:17:12 +0100
committerGraeme Geldenhuys <graemeg@gmail.com>2013-03-22 16:29:40 +0000
commitc7b3cdcd025e2f8cc8db7db0cf01fdacefbe2255 (patch)
treecd1a0e9ec2a4be8fdbddc2ce940e342e0ec9ed38 /src
parentbff6c8c3b5071ae28ba3c10cf612c55e893926b4 (diff)
downloadfpGUI-c7b3cdcd025e2f8cc8db7db0cf01fdacefbe2255.tar.xz
Make special characters known by editcombobox
Diffstat (limited to 'src')
-rw-r--r--src/gui/fpg_editcombo.pas37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gui/fpg_editcombo.pas b/src/gui/fpg_editcombo.pas
index 3887cd13..311d452f 100644
--- a/src/gui/fpg_editcombo.pas
+++ b/src/gui/fpg_editcombo.pas
@@ -87,6 +87,7 @@ type
FSelStart: integer;
FSelOffset: integer;
FCursorPos: integer;
+ FSpecialChar: integer;
procedure DoDropDown; override;
function GetText: string; virtual;
function HasText: boolean; virtual;
@@ -523,6 +524,38 @@ var
i: integer;
begin
prevval := FText;
+ if FSpecialChar> -1 then
+ begin
+ case FSpecialChar of
+ 58536:
+ case AText of
+ 'a':
+ AText:= 'â';
+ 'e':
+ AText:= 'ë';
+ 'i':
+ AText:= 'ï';
+ 'o':
+ AText:= 'ö';
+ 'u':
+ AText:= 'ü';
+ end;
+ 58462:
+ case AText of
+ 'a':
+ AText:= 'â';
+ 'e':
+ AText:= 'ê';
+ 'i':
+ AText:= 'î';
+ 'o':
+ AText:= 'ô';
+ 'u':
+ AText:= 'û';
+ end;
+ end;
+ FSpecialChar:= -1;
+ end;
s := AText;
consumed := False;
if FText = '' then
@@ -584,6 +617,9 @@ var
begin
hasChanged := False;
+ if (keycode= 58536) or (keycode= 58462) then
+ FSpecialChar:= keycode;
+
if not Enabled then
consumed := False
else
@@ -883,6 +919,7 @@ begin
FDrawOffset := 0;
FSelectedItem := -1; // to allow typing if list is empty
FNewItem := False;
+ FSpecialChar := -1;
CalculateInternalButtonRect;
end;