From f74df908ffd3615ca2821d10bf9d4560099e0620 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 06 Jan 2009 15:54:50 +0000 Subject: try all available icons for removable devices --- (limited to 'extensions/deviceicon/volume.py') diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py index c0d265b..9457d83 100644 --- a/extensions/deviceicon/volume.py +++ b/extensions/deviceicon/volume.py @@ -29,6 +29,7 @@ from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor +from sugar.graphics import style from jarabe.journal import journalactivity @@ -42,8 +43,17 @@ class DeviceView(TrayIcon): TrayIcon.__init__(self) self._mount = mount - # TODO: fallback to the more generic icons when needed - self.get_icon().props.icon_name = self._mount.get_icon().props.names[0] + icon_theme = gtk.icon_theme_get_default() + for icon_name in self._mount.get_icon().props.names: + icon_info = icon_theme.lookup_icon(icon_name, + style.STANDARD_ICON_SIZE, 0) + if icon_info is not None: + self.get_icon().props.icon_name = icon_name + icon_info.free() + break + + if self.get_icon().props.icon_name is None: + self.get_icon().props.icon_name = 'drive' # TODO: retrieve the colors from the owner of the device client = gconf.client_get_default() -- cgit v0.9.1