summaryrefslogtreecommitdiffstats
path: root/engine
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-05-30 17:55:14 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-05-30 17:55:14 +0800
commite911456cf2c1f4e17c5ccf909e4fb80e4fccb780 (patch)
tree471531291e83f4118074ee6d2374b374070638e0 /engine
parentaaff3dcec05b80a53e274c05fae04632e93cbde8 (diff)
downloadibus-e911456cf2c1f4e17c5ccf909e4fb80e4fccb780.tar.gz
ibus-e911456cf2c1f4e17c5ccf909e4fb80e4fccb780.tar.xz
ibus-e911456cf2c1f4e17c5ccf909e4fb80e4fccb780.zip
Modifid IPanel and IEngine interfaces.
Diffstat (limited to 'engine')
-rw-r--r--engine/demo/engine.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/engine/demo/engine.py b/engine/demo/engine.py
index ff7ea08..467ad4d 100644
--- a/engine/demo/engine.py
+++ b/engine/demo/engine.py
@@ -37,9 +37,10 @@ class Engine (interface.IEngine):
self._update ()
return True
elif keyval == keysyms.space:
- self._commit_string (self._preedit_string)
- self._preedit_string = ""
- self._update ()
+ if self._lookup_table.get_number_of_candidates () > 0:
+ self._commit_string (self._lookup_table.get_current_candidate ()[0])
+ else:
+ self._commit_string (self._preedit_string)
return False
elif keyval >= keysyms._1 and keyval <= keysyms._9:
index = keyval - keysyms._1
@@ -103,14 +104,14 @@ class Engine (interface.IEngine):
attrs.append (ibus.AttributeForeground (0xff0000, 0, preedit_len))
for text in self._dict.suggest (self._preedit_string):
self._lookup_table.append_candidate (text)
-
- self.AuxStringChanged (self._preedit_string, attrs.to_dbus_value ())
+ self.UpdateAuxString (self._preedit_string, attrs.to_dbus_value (), preedit_len > 0)
attrs.append (ibus.AttributeUnderline (pango.UNDERLINE_SINGLE, 0, preedit_len))
- self.PreeditChanged (self._preedit_string, attrs.to_dbus_value (), dbus.Int32 (preedit_len))
+ self.UpdatePreedit (self._preedit_string, attrs.to_dbus_value (), dbus.Int32 (preedit_len), preedit_len > 0)
self._update_lookup_table ()
def _update_lookup_table (self):
- self.UpdateLookupTable (self._lookup_table.to_dbus_value ())
+ show = self._lookup_table.get_number_of_candidates () > 0
+ self.UpdateLookupTable (self._lookup_table.to_dbus_value (), show)
def FocusIn (self):