Support filename as icon for menu.
authorHuang Peng <shawn.p.huang@gmail.com>
Thu, 24 Jul 2008 05:44:31 +0000 (13:44 +0800)
committerHuang Peng <shawn.p.huang@gmail.com>
Thu, 24 Jul 2008 05:44:31 +0000 (13:44 +0800)
panel/menu.py
panel/panel.py

index bcb9cbe..c8bf450 100644 (file)
@@ -22,6 +22,7 @@
 import gtk
 import gobject
 import ibus
+import icon
 from propitem import PropItem
 
 class Menu (gtk.Menu, PropItem):
@@ -95,7 +96,8 @@ class ImageMenuItem (gtk.ImageMenuItem, PropItem):
         PropItem.__init__ (self, prop)
 
         if self._prop._icon:
-            self.set_image (gtk.image_new_from_icon_name  (prop._icon, gtk.ICON_SIZE_MENU))
+            size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
+            self.set_image (icon.IconWidget(prop._icon, size[0]))
 
         if self._prop._visible:
             self.set_no_show_all (False)
index 445bdc2..b11312e 100644 (file)
@@ -23,6 +23,7 @@ import gtk
 import gtk.gdk as gdk
 import gobject
 import ibus
+import icon as _icon
 from os import path
 from ibus import LANGUAGES
 from ibus import interface
@@ -191,7 +192,8 @@ class Panel(ibus.PanelBase):
                 if len(tmp[lang]) == 1:
                     name, lang, icon, authors, credits, factory = tmp[lang][0]
                     item = gtk.ImageMenuItem("%s - %s" % (lang, name))
-                    item.set_image(gtk.image_new_from_icon_name(icon, gtk.ICON_SIZE_MENU))
+                    size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
+                    item.set_image (_icon.IconWidget(icon, size[0]))
                     item.connect("activate", self.__menu_item_activate_cb, factory)
                     menu.add(item)
                 else:
@@ -201,7 +203,8 @@ class Panel(ibus.PanelBase):
                     item.set_submenu(submenu)
                     for name, __lang, icon, authors, credits, factory in tmp[lang]:
                         item = gtk.ImageMenuItem(name)
-                        item.set_image(gtk.image_new_from_icon_name(icon, gtk.ICON_SIZE_MENU))
+                        size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
+                        item.set_image (_icon.IconWidget(icon, size[0]))
                         item.connect("activate", self.__menu_item_activate_cb, factory)
                         submenu.add(item)