diff options
author | Peng Huang <shawn.p.huang@gmail.com> | 2009-02-23 15:05:50 +0800 |
---|---|---|
committer | Peng Huang <shawn.p.huang@gmail.com> | 2009-02-23 15:05:50 +0800 |
commit | f86438bf0ee2f83f4744226e4d640503ff985b12 (patch) | |
tree | 7f73098d0132966f223a620fa466c694ca71e068 /ui | |
parent | 4c180f55b8e485aa0ac1bc1af2aa0d1b99886470 (diff) | |
download | ibus-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.py | 13 |
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: |