diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-01 18:17:03 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-01 18:17:03 (GMT) |
commit | 9d18576d54d182f4f92b3d5dbb26afd061c21852 (patch) | |
tree | 9650aa7f5e04880693290e02dffa2c9c3997a76d | |
parent | 5cd79282d169bd4603109140f40827f750e00d7c (diff) |
Try harder to get an icon for a clipping
-rw-r--r-- | extensions/deviceicon/volume.py | 1 | ||||
-rw-r--r-- | src/jarabe/frame/clipboardobject.py | 18 |
2 files changed, 17 insertions, 2 deletions
diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py index 6de5074..e0be872 100644 --- a/extensions/deviceicon/volume.py +++ b/extensions/deviceicon/volume.py @@ -50,7 +50,6 @@ class DeviceView(TrayIcon): icon_info = icon_theme.lookup_icon(icon_name, gtk.ICON_SIZE_LARGE_TOOLBAR, 0) if icon_info is not None: - icon_name = icon_name icon_info.free() break diff --git a/src/jarabe/frame/clipboardobject.py b/src/jarabe/frame/clipboardobject.py index 0a595d0..ccbaf8e 100644 --- a/src/jarabe/frame/clipboardobject.py +++ b/src/jarabe/frame/clipboardobject.py @@ -17,6 +17,8 @@ import os import logging import urlparse +import gio +import gtk from gettext import gettext as _ from sugar import mime @@ -49,7 +51,21 @@ class ClipboardObject(object): return name def get_icon(self): - return mime.get_mime_icon(self.get_mime_type()) + icons = gio.content_type_get_icon(self.get_mime_type()) + icon_name = None + if icons is not None: + icon_theme = gtk.icon_theme_get_default() + for icon_name in icons.props.names: + icon_info = icon_theme.lookup_icon(icon_name, + gtk.ICON_SIZE_LARGE_TOOLBAR, 0) + if icon_info is not None: + icon_info.free() + break + + if icon_name is None: + icon_name = 'application-octet-stream' + + return icon_name def get_preview(self): for mime_type in ['text/plain']: |