Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tasetup.py
diff options
context:
space:
mode:
Diffstat (limited to 'tasetup.py')
-rw-r--r--tasetup.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tasetup.py b/tasetup.py
index 33ed561..8609928 100644
--- a/tasetup.py
+++ b/tasetup.py
@@ -187,4 +187,13 @@ def setup_tool(tw,x,y,name):
return who
def load_image(path, dir, file):
- return gtk.gdk.pixbuf_new_from_file(os.path.join(path,dir,file+'.svg'))
+ from sugar.activity import activity
+
+ # first try to open the cached image
+ # if you fail, open the .svg file and cache the result
+ try: return gtk.gdk.pixbuf_new_from_file(os.path.join(activity.get_activity_root(),"data",file+'.png'))
+ except:
+ foo = gtk.gdk.pixbuf_new_from_file(os.path.join(path,dir,file+'.svg'))
+ foo.save(os.path.join(activity.get_activity_root(),"data",file+'.png'), "png")
+ return foo
+