Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Util
diff options
context:
space:
mode:
authorNat <natcl@hotmail.com>2007-07-31 20:05:55 (GMT)
committer Nat <natcl@hotmail.com>2007-07-31 20:05:55 (GMT)
commit959e22e186ee46900a712d23abd6ffd2b1d29184 (patch)
treead92eece9ac30e550d3cd8b86b86d2b04d36f3f1 /Util
parent20afba894d69ac2244aa1113de34988fe08a3dc7 (diff)
Icons, bigger combo box imgs
Diffstat (limited to 'Util')
-rw-r--r--Util/ThemeWidgets.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/Util/ThemeWidgets.py b/Util/ThemeWidgets.py
index a63b452..f1b0105 100644
--- a/Util/ThemeWidgets.py
+++ b/Util/ThemeWidgets.py
@@ -2,6 +2,8 @@ import pygtk
pygtk.require( '2.0' )
import gtk
+from sugar.graphics.combobox import ComboBox
+
class ITYPE:
PIXBUF = 0
@@ -1119,3 +1121,36 @@ class keyButton(gtk.Button):
def set_strokecolor(self,r,g,b):
self.strokecolor = [r,g,b]
self.queue_draw()
+
+class BigComboBox(ComboBox):
+ def __init__(self):
+ ComboBox.__init__(self)
+
+ def append_item(self, action_id, text, icon_name=None):
+ if not self._icon_renderer and icon_name:
+ self._icon_renderer = gtk.CellRendererPixbuf()
+
+ settings = self.get_settings()
+ w, h = gtk.icon_size_lookup_for_settings(settings, gtk.ICON_SIZE_MENU)
+ self._icon_renderer.props.stock_size = w
+
+ self.pack_start(self._icon_renderer, False)
+ self.add_attribute(self._icon_renderer, 'pixbuf', 2)
+
+ if not self._text_renderer and text:
+ self._text_renderer = gtk.CellRendererText()
+ self.pack_end(self._text_renderer, True)
+ self.add_attribute(self._text_renderer, 'text', 1)
+
+ if icon_name:
+ size = gtk.ICON_SIZE_LARGE_TOOLBAR
+
+ width, height = gtk.icon_size_lookup(size)
+ if icon_name[0:6] == "theme:":
+ icon_name = self._get_real_name_from_theme(icon_name[6:], size)
+ pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(icon_name, width, height)
+ else:
+ pixbuf = None
+
+ self._model.append([action_id, text, pixbuf, False])
+