Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/item.py
diff options
context:
space:
mode:
Diffstat (limited to 'item.py')
-rw-r--r--item.py33
1 files changed, 21 insertions, 12 deletions
diff --git a/item.py b/item.py
index 29d0a3d..e20ab93 100644
--- a/item.py
+++ b/item.py
@@ -1,7 +1,4 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-#
-# Copyright (C) 2012 S. Daniel Francis <francis@sugarlabs.org>
+# Copyright (C) 2012-2013 S. Daniel Francis <francis@sugarlabs.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -69,23 +66,35 @@ class Item(gobject.GObject):
'Could not set up accelerator; if toogletoolbutton, update your sugar version')
def get_tool_item(self):
- if self._stock_id in stock.icons:
- icon_name = stock.icons[self._stock_id]
- else:
- icon_name = self._stock_id
sensitive = self.sensitive
- self.toolitem = ToolButton(icon_name)
- self.toolitem.connect('clicked', self.activate_cb)
+ self.toolitem = ToolButton()
self.setup_tooltip()
+ self.setup_tool_icon()
+ self.toolitem.connect('clicked', self.activate_cb)
self.toolitem.set_sensitive(sensitive)
return self.toolitem
+ def setup_tool_icon(self):
+ mstyle = self.toolitem.get_style()
+ iconset = stock.stock_items[self.stock_id]['has_icon']
+ if iconset is not None:
+ try:
+ pixbuf = iconset.render_icon(mstyle, gtk.TEXT_DIR_NONE,
+ gtk.STATE_NORMAL,
+ gtk.ICON_SIZE_LARGE_TOOLBAR)
+ image = gtk.image_new_from_pixbuf(pixbuf)
+ image.show()
+ self.toolitem.set_icon_widget(image)
+ except Exception, err:
+ logger.debug(self.stock_id)
+ logger.error(err)
+
def setup_tooltip(self):
if self.tooltip:
self.toolitem.set_tooltip(self.tooltip)
else:
- text = gtk.stock_lookup(self._stock_id)[1]
- self.toolitem.set_tooltip(text.replace('_', ''))
+ self.toolitem.set_tooltip(
+ stock.get_label(self._stock_id))
self.setup_accelerator()
def set_sensitive(self, setting):