diff options
-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']: |