summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-06-25 20:28:20 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-06-25 20:28:20 +0800
commit2c39917c980fcc5afd4fb493124183530ce00a52 (patch)
tree9198fe86558d8336966d7b7978c38807a72bcdf1
parent748dc32d6536fcc764e2f2ae71472ee119d13952 (diff)
downloadibus-2c39917c980fcc5afd4fb493124183530ce00a52.tar.gz
ibus-2c39917c980fcc5afd4fb493124183530ce00a52.tar.xz
ibus-2c39917c980fcc5afd4fb493124183530ce00a52.zip
Add focus_in & focus_out methods of languagebar
-rw-r--r--panel/languagebar.py6
-rw-r--r--panel/panel.py6
2 files changed, 10 insertions, 2 deletions
diff --git a/panel/languagebar.py b/panel/languagebar.py
index 6aad882..75c5426 100644
--- a/panel/languagebar.py
+++ b/panel/languagebar.py
@@ -158,5 +158,11 @@ class LanguageBar (gtk.Toolbar):
self._toplevel.hide_all ()
gtk.Toolbar.hide_all (self)
+ def focus_in (self):
+ self._im_menu.set_sensitive (True)
+
+ def focus_out (self):
+ self._im_menu.set_sensitive (False)
+
gobject.type_register (LanguageBar, "IBusLanguageBar")
diff --git a/panel/panel.py b/panel/panel.py
index defef68..5c33954 100644
--- a/panel/panel.py
+++ b/panel/panel.py
@@ -47,6 +47,8 @@ class Panel (ibus.Object):
lambda widget, prop_name, prop_state: self._proxy.PropertyActivate (prop_name, prop_state))
self._language_bar.connect ("get-im-menu",
self._get_im_menu_cb)
+ self._language_bar.focus_out ()
+ self._language_bar.show_all ()
self._candidate_panel = CandidatePanel ()
self._candidate_panel.connect ("cursor-up",
@@ -116,13 +118,13 @@ class Panel (ibus.Object):
else:
name, lang, icon, authors, credits = self._ibus.GetFactoryInfo (factory)
self._set_im_icon (icon)
- self._language_bar.show_all ()
+ self._language_bar.focus_in ()
def focus_out (self, ic):
self.reset ()
if self._focus_ic == ic:
self._focus_ic = None
- self._language_bar.hide_all ()
+ self._language_bar.focus_out ()
self._set_im_icon ("engine-default")
def states_changed (self):