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-25 15:11:52 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-02-25 15:11:52 (GMT)
commit369a5f826bd8e6c421bd7698d7221734f2a66b2d (patch)
tree300b7eeecf9885d556f22b9dc4324508b6d6df6d
parentf94f53cc18df4b36af4e410326d8ff37d3e6b081 (diff)
Override get_preview #152
-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