Use engine-default.svg for IM without icon
authorHuang Peng <shawn.p.huang@gmail.com>
Tue, 17 Feb 2009 05:19:47 +0000 (13:19 +0800)
committerHuang Peng <shawn.p.huang@gmail.com>
Tue, 17 Feb 2009 05:19:47 +0000 (13:19 +0800)
ui/gtk/icon.py
ui/gtk/panel.py

index 077848d..b8f6ac7 100644 (file)
@@ -45,4 +45,3 @@ class IconWidget(gtk.Image):
 
         self.set_from_pixbuf(pixbuf)
         self.show()
-
index d968393..6325df0 100644 (file)
@@ -317,7 +317,10 @@ class Panel(ibus.PanelBase):
                     engine = tmp[lang][0]
                     item = gtk.ImageMenuItem("%s - %s" % (lang, engine.longname))
                     size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
-                    item.set_image (_icon.IconWidget(engine.icon, size[0]))
+                    if engine.icon:
+                        item.set_image (_icon.IconWidget(engine.icon, size[0]))
+                    else:
+                        item.set_image (_icon.IconWidget("engine-default", size[0]))
                     item.connect("activate", self.__im_menu_item_activate_cb, engine)
                     menu.add(item)
                 else:
@@ -328,7 +331,10 @@ class Panel(ibus.PanelBase):
                     for engine in tmp[lang]:
                         item = gtk.ImageMenuItem(engine.longname)
                         size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
-                        item.set_image (_icon.IconWidget(engine.icon, size[0]))
+                        if engine.icon:
+                            item.set_image (_icon.IconWidget(engine.icon, size[0]))
+                        else:
+                            item.set_image (_icon.IconWidget("engine-default", size[0]))
                         item.connect("activate", self.__im_menu_item_activate_cb, engine)
                         submenu.add(item)