From 9d18576d54d182f4f92b3d5dbb26afd061c21852 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sun, 01 Feb 2009 18:17:03 +0000 Subject: Try harder to get an icon for a clipping --- 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']: -- cgit v0.9.1