summaryrefslogtreecommitdiffstats
path: root/ui/gtk/panel.py
diff options
context:
space:
mode:
Diffstat (limited to 'ui/gtk/panel.py')
-rw-r--r--ui/gtk/panel.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/ui/gtk/panel.py b/ui/gtk/panel.py
index ee29ea0..fb9ae6e 100644
--- a/ui/gtk/panel.py
+++ b/ui/gtk/panel.py
@@ -314,11 +314,11 @@ class Panel(ibus.PanelBase):
langs.remove(_("Other"))
langs.append(_("Other"))
+ size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
for lang in langs:
if len(tmp[lang]) == 1:
engine = tmp[lang][0]
item = gtk.ImageMenuItem("%s - %s" % (lang, engine.longname))
- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
if engine.icon:
item.set_image (_icon.IconWidget(engine.icon, size[0]))
else:
@@ -332,7 +332,6 @@ class Panel(ibus.PanelBase):
item.set_submenu(submenu)
for engine in tmp[lang]:
item = gtk.ImageMenuItem(engine.longname)
- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
if engine.icon:
item.set_image (_icon.IconWidget(engine.icon, size[0]))
else:
@@ -340,6 +339,11 @@ class Panel(ibus.PanelBase):
item.connect("activate", self.__im_menu_item_activate_cb, engine)
submenu.add(item)
+ item = gtk.ImageMenuItem(_("Disable"))
+ item.set_image (_icon.IconWidget("gtk-close", size[0]))
+ item.connect("activate", self.__im_menu_item_activate_cb, None)
+ menu.add (item)
+
menu.show_all()
menu.set_take_focus(False)
return menu
@@ -367,7 +371,10 @@ class Panel(ibus.PanelBase):
self.__status_icon)
def __im_menu_item_activate_cb(self, item, engine):
- self.__focus_ic.set_engine(engine)
+ if engine:
+ self.__focus_ic.set_engine(engine)
+ else:
+ self.__focus_ic.disable()
def __sys_menu_item_activate_cb(self, item, command):
if command == gtk.STOCK_PREFERENCES: