commit 674bc53c30c8ac40e021da660f2af533ab015587 Author: Daiki Ueno Date: Wed Jun 30 12:05:32 2010 +0900 Fix "Show language panel: Embedded in menu" behavior. Signed-off-by: Daiki Ueno diff --git a/ui/gtk/languagebar.py b/ui/gtk/languagebar.py index f22080f..2fc1cb7 100644 --- a/ui/gtk/languagebar.py +++ b/ui/gtk/languagebar.py @@ -29,6 +29,7 @@ from handle import Handle from menu import menu_position,\ ImageMenuItem,\ Menu,\ + CheckMenuItem,\ RadioMenuItem,\ SeparatorMenuItem from engineabout import EngineAbout @@ -378,6 +379,8 @@ class LanguageBar(gtk.Toolbar): item = ImageMenuItem(prop = prop) self.__set_item_icon(item, prop) elif prop.type == ibus.PROP_TYPE_TOGGLE: + item = CheckMenuItem(prop = prop) + elif prop.type == ibus.PROP_TYPE_RADIO: item = RadioMenuItem(radio_group, prop = prop) radio_group = item elif prop.type == ibus.PROP_TYPE_SEPARATOR: diff --git a/ui/gtk/menu.py b/ui/gtk/menu.py index b9a6b44..53fa39f 100644 --- a/ui/gtk/menu.py +++ b/ui/gtk/menu.py @@ -59,7 +59,7 @@ class Menu(gtk.Menu, PropItem): item = SeparatorMenuItem() radio_group = None elif prop.type == ibus.PROP_TYPE_MENU: - item = gtk.ImageMenuItem() + item = ImageMenuItem(prop) if prop.icon: size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU) item.set_image(icon.IconWidget(prop.icon, size[0])) @@ -238,6 +238,9 @@ class SeparatorMenuItem(gtk.SeparatorMenuItem, PropItem): (gobject.TYPE_STRING, gobject.TYPE_INT)), } + def __init__(self): + gtk.SeparatorMenuItem.__init__(self) + PropItem.__init__(self, None) def menu_position(menu, button):