Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-22 08:48:16 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-22 08:48:16 (GMT)
commit18f66f4c959e6b44b0363aaeb983137b135e06a2 (patch)
tree0af94c267fdc59fabe0089d244647726009725d0 /extensions
parent39fcc1bc37bdde6e34e5bb3e2c8b5692851d8d58 (diff)
Add preview to screenshots
Diffstat (limited to 'extensions')
-rw-r--r--extensions/globalkey/screenshot.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/extensions/globalkey/screenshot.py b/extensions/globalkey/screenshot.py
index ef4f5c9..1304eae 100644
--- a/extensions/globalkey/screenshot.py
+++ b/extensions/globalkey/screenshot.py
@@ -21,8 +21,10 @@ from gettext import gettext as _
import gtk
import gconf
+import dbus
from sugar.datastore import datastore
+from sugar.graphics import style
BOUND_KEYS = ['<alt>1']
@@ -48,7 +50,7 @@ def handle_key_press(key):
jobject.metadata['title'] = _('Screenshot')
jobject.metadata['keep'] = '0'
jobject.metadata['buddies'] = ''
- jobject.metadata['preview'] = ''
+ jobject.metadata['preview'] = _get_preview_data(screenshot)
jobject.metadata['icon-color'] = color
jobject.metadata['mime_type'] = 'image/png'
jobject.file_path = file_path
@@ -57,3 +59,14 @@ def handle_key_press(key):
jobject.destroy()
del jobject
+def _get_preview_data(screenshot):
+ preview = screenshot.scale_simple(style.zoom(300), style.zoom(225),
+ gtk.gdk.INTERP_BILINEAR)
+ preview_data = []
+ def save_func(buf, data):
+ data.append(buf)
+
+ preview.save_to_callback(save_func, 'png', user_data=preview_data)
+
+ return dbus.ByteArray(''.join(preview_data))
+