Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/AbiWordActivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'AbiWordActivity.py')
-rw-r--r--AbiWordActivity.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/AbiWordActivity.py b/AbiWordActivity.py
index bc3447d..6a734d6 100644
--- a/AbiWordActivity.py
+++ b/AbiWordActivity.py
@@ -33,6 +33,7 @@ import telepathy.client
from sugar.activity.activity import Activity, ActivityToolbox, EditToolbar
from sugar.presence import presenceservice
+from sugar.graphics import style
from abiword import Canvas
import toolbar
@@ -138,6 +139,23 @@ class AbiWordActivity (Activity):
owner = pservice.get_owner()
+ def get_preview(self):
+ if not hasattr(self.abiword_canvas, 'render_page_to_image'):
+ return Activity.get_preview(self)
+
+ pixbuf = self.abiword_canvas.render_page_to_image(0)
+ pixbuf = pixbuf.scale_simple(style.zoom(300), style.zoom(225),
+ gtk.gdk.INTERP_BILINEAR)
+
+ preview_data = []
+ def save_func(buf, data):
+ data.append(buf)
+
+ pixbuf.save_to_callback(save_func, 'png', user_data=preview_data)
+ preview_data = ''.join(preview_data)
+
+ return preview_data
+
def _shared_cb(self, activity):
logger.debug('My Write activity was shared')
self.initiating = True