From c48a5ae2627a78bf67f652d8c3fc4feafc259216 Mon Sep 17 00:00:00 2001 From: Huang Peng Date: Thu, 12 Jun 2008 06:01:40 +0800 Subject: [PATCH] Handle Delete key. --- engine/anthy/engine.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/engine/anthy/engine.py b/engine/anthy/engine.py index 8654c36..b23ad90 100644 --- a/engine/anthy/engine.py +++ b/engine/anthy/engine.py @@ -221,6 +221,21 @@ class Engine (interface.IEngine): self._invalidate () return True + def _on_key_delete (self): + if not self._input_chars: + return False + + if self._convert_begined: + self._convert_begined = False + self._cursor_pos = len (self._input_chars) + self._lookup_table.clean () + self._lookup_table_visible = False + elif self._cursor_pos < len (self._input_chars): + self._input_chars = self._input_chars[:self._cursor_pos] + self._input_chars [self._cursor_pos + 1:] + + self._invalidate () + return True + def _on_key_space (self): if not self._input_chars: return False @@ -321,6 +336,8 @@ class Engine (interface.IEngine): return self._on_key_escape () elif keyval == keysyms.BackSpace: return self._on_key_back_space () + elif keyval == keysyms.Delete or keyval == keysyms.KP_Delete: + return self._on_key_delete () elif keyval == keysyms.space: return self._on_key_space () elif keyval >= keysyms._1 and keyval <= keysyms._9: -- 2.7.4