Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
This commit is contained in:
@@ -25,7 +25,7 @@ class CanvasButton(hippo.CanvasButton):
|
||||
hippo.CanvasButton.__init__(self, text=label)
|
||||
|
||||
if icon_name:
|
||||
icon = Icon(icon_name,icon_size=gtk.ICON_SIZE_BUTTON)
|
||||
icon = Icon(icon_name=icon_name, icon_size=gtk.ICON_SIZE_BUTTON)
|
||||
self.props.widget.set_image(icon)
|
||||
icon.show()
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@ class ComboBox(gtk.ComboBox):
|
||||
del info
|
||||
return fname
|
||||
|
||||
def append_item(self, action_id, text, icon_name=None):
|
||||
if not self._icon_renderer and icon_name:
|
||||
def append_item(self, action_id, text, icon_name=None, file_name=None):
|
||||
if not self._icon_renderer and (icon_name or file_name):
|
||||
self._icon_renderer = gtk.CellRendererPixbuf()
|
||||
|
||||
settings = self.get_settings()
|
||||
@@ -77,16 +77,17 @@ class ComboBox(gtk.ComboBox):
|
||||
self.pack_end(self._text_renderer, True)
|
||||
self.add_attribute(self._text_renderer, 'text', 1)
|
||||
|
||||
if icon_name:
|
||||
if icon_name or file_name:
|
||||
if text:
|
||||
size = gtk.ICON_SIZE_MENU
|
||||
else:
|
||||
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)
|
||||
|
||||
if icon_name:
|
||||
file_name = self._get_real_name_from_theme(icon_name[6:], size)
|
||||
|
||||
pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(file_name, width, height)
|
||||
else:
|
||||
pixbuf = None
|
||||
|
||||
|
||||
@@ -182,6 +182,8 @@ class _IconBuffer(object):
|
||||
icon_info.file_name = info.get_filename()
|
||||
icon_info.attach_x = attach_x
|
||||
icon_info.attach_y = attach_y
|
||||
else:
|
||||
logging.warning('No icon with the name %s was found in the theme.' % self.icon_name)
|
||||
|
||||
return icon_info
|
||||
|
||||
@@ -413,9 +415,13 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
|
||||
self.props.fill_color = value.get_fill_color()
|
||||
self.props.stroke_color = value.get_stroke_color()
|
||||
elif pspec.name == 'fill-color':
|
||||
if not isinstance(value, basestring) and value is not None:
|
||||
raise TypeError('fill-color must be a string, not %r' % type(value))
|
||||
self._buffer.fill_color = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
elif pspec.name == 'stroke-color':
|
||||
if not isinstance(value, basestring) and value is not None:
|
||||
raise TypeError('stroke-color must be a string, not %r' % type(value))
|
||||
self._buffer.stroke_color = value
|
||||
self.emit_paint_needed(0, 0, -1, -1)
|
||||
elif pspec.name == 'size':
|
||||
|
||||
@@ -150,7 +150,7 @@ class CollapsedEntry(CanvasRoundBox):
|
||||
self._icon_name = type.icon
|
||||
|
||||
if not self._icon_name:
|
||||
self._icon_name = 'theme:image-missing'
|
||||
self._icon_name = 'image-missing'
|
||||
|
||||
return self._icon_name
|
||||
|
||||
|
||||
Reference in New Issue
Block a user