Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-02-01 18:17:03 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-02-01 18:17:03 (GMT)
commit9d18576d54d182f4f92b3d5dbb26afd061c21852 (patch)
tree9650aa7f5e04880693290e02dffa2c9c3997a76d
parent5cd79282d169bd4603109140f40827f750e00d7c (diff)
Try harder to get an icon for a clipping
-rw-r--r--extensions/deviceicon/volume.py1
-rw-r--r--src/jarabe/frame/clipboardobject.py18
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']: