summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2009-02-23 15:05:50 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2009-02-23 15:05:50 +0800
commitf86438bf0ee2f83f4744226e4d640503ff985b12 (patch)
tree7f73098d0132966f223a620fa466c694ca71e068 /ui
parent4c180f55b8e485aa0ac1bc1af2aa0d1b99886470 (diff)
downloadibus-f86438bf0ee2f83f4744226e4d640503ff985b12.tar.gz
ibus-f86438bf0ee2f83f4744226e4d640503ff985b12.tar.xz
ibus-f86438bf0ee2f83f4744226e4d640503ff985b12.zip
Add Disable menu item on Input Menu. Use it to disable InputContext.
Diffstat (limited to 'ui')
-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: