diff --git a/services/shell/objecttypeservice.py b/services/shell/objecttypeservice.py index cfaac33c..8a04d61f 100644 --- a/services/shell/objecttypeservice.py +++ b/services/shell/objecttypeservice.py @@ -30,27 +30,27 @@ class ObjectTypeRegistry(dbus.service.Object): self._types = {} - self._add_primitive('Text', _('Text'), 'theme:text-x-generic', + self._add_primitive('Text', _('Text'), 'text-x-generic', ['text/plain', 'text/rtf', 'application/pdf', 'application/x-pdf', 'text/html', 'application/vnd.oasis.opendocument.text', 'application/rtf', 'text/rtf']) - self._add_primitive('Image', _('Image'), 'theme:image-x-generic', + self._add_primitive('Image', _('Image'), 'image-x-generic', ['image/png', 'image/gif', 'image/jpeg']) - self._add_primitive('Audio', _('Audio'), 'theme:audio-x-generic', + self._add_primitive('Audio', _('Audio'), 'audio-x-generic', ['audio/ogg']) - self._add_primitive('Video', _('Video'), 'theme:video-x-generic', + self._add_primitive('Video', _('Video'), 'video-x-generic', ['video/ogg', 'application/ogg']) self._add_primitive('Etoys project', _('Etoys project'), - 'theme:application-x-squeak-project', + 'application-x-squeak-project', ['application/x-squeak-project']) self._add_primitive('Link', _('Link'), - 'theme:text-uri-list', + 'text-uri-list', ['text/x-moz-url', 'text/uri-list']) def _add_primitive(self, type_id, name, icon, mime_types): diff --git a/shell/model/homeactivity.py b/shell/model/homeactivity.py index 434a3a68..1d29be23 100644 --- a/shell/model/homeactivity.py +++ b/shell/model/homeactivity.py @@ -103,7 +103,7 @@ class HomeActivity(gobject.GObject): if self._activity_info: return self._activity_info.icon else: - return 'theme:image-missing' + return 'image-missing' def get_icon_color(self): """Retrieve the appropriate icon colour for this activity diff --git a/shell/view/frame/overlaybox.py b/shell/view/frame/overlaybox.py index f9726e8e..bb74f187 100644 --- a/shell/view/frame/overlaybox.py +++ b/shell/view/frame/overlaybox.py @@ -24,7 +24,7 @@ class OverlayBox(hippo.CanvasBox): self._shell = shell - icon = IconButton(icon_name='theme:stock-chat') + icon = IconButton(icon_name='stock-chat') icon.connect('activated', self._overlay_clicked_cb) self.append(icon) diff --git a/shell/view/home/activitiesdonut.py b/shell/view/home/activitiesdonut.py index 950afbd0..de3f8bd7 100644 --- a/shell/view/home/activitiesdonut.py +++ b/shell/view/home/activitiesdonut.py @@ -317,7 +317,7 @@ class ActivitiesDonut(hippo.CanvasBox, hippo.CanvasItem): try: smaps = ProcSmaps(pid) - _subtract_mappings(smaps, shell_mappings) + self._subtract_mappings(smaps, shell_mappings) for mapping in smaps.mappings: if mapping.shared_clean > 0 or mapping.shared_dirty > 0: if num_mappings.has_key(mapping.name): @@ -408,7 +408,7 @@ class ActivitiesDonut(hippo.CanvasBox, hippo.CanvasItem): if icon.size > _MIN_WEDGE_SIZE: icon.size -= (icon.size - _MIN_WEDGE_SIZE) * reduction - def _subtract_mappings(smaps, mappings_to_remove): + def _subtract_mappings(self, smaps, mappings_to_remove): for mapping in smaps.mappings: if mappings_to_remove.has_key(mapping.name): mapping.shared_clean = 0 diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py index 3f782b51..6655b243 100644 --- a/sugar/activity/activity.py +++ b/sugar/activity/activity.py @@ -75,9 +75,9 @@ class ActivityToolbar(gtk.Toolbar): self.share = ToolComboBox(label_text='Share with:') self.share.combo.connect('changed', self._share_changed_cb) self.share.combo.append_item(None, _('Private'), - 'theme:zoom-home-mini') + 'zoom-home-mini') self.share.combo.append_item(None, _('My Neighborhood'), - 'theme:zoom-neighborhood-mini') + 'zoom-neighborhood-mini') self.insert(self.share, -1) self.share.show() diff --git a/sugar/graphics/button.py b/sugar/graphics/button.py index fc869f99..647f36df 100644 --- a/sugar/graphics/button.py +++ b/sugar/graphics/button.py @@ -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() diff --git a/sugar/graphics/combobox.py b/sugar/graphics/combobox.py index 3251dc2c..75573f0a 100644 --- a/sugar/graphics/combobox.py +++ b/sugar/graphics/combobox.py @@ -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 diff --git a/sugar/graphics/icon.py b/sugar/graphics/icon.py index 3ab65fa4..41df32b0 100644 --- a/sugar/graphics/icon.py +++ b/sugar/graphics/icon.py @@ -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': diff --git a/sugar/graphics/objectchooser.py b/sugar/graphics/objectchooser.py index 56a5a31b..4128cf31 100644 --- a/sugar/graphics/objectchooser.py +++ b/sugar/graphics/objectchooser.py @@ -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