diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-25 15:11:52 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-25 15:11:52 (GMT) |
commit | 369a5f826bd8e6c421bd7698d7221734f2a66b2d (patch) | |
tree | 300b7eeecf9885d556f22b9dc4324508b6d6df6d | |
parent | f94f53cc18df4b36af4e410326d8ff37d3e6b081 (diff) |
Override get_preview #152
-rw-r--r-- | AbiWordActivity.py | 18 |
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 |