Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rwxr-xr-xactivity.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/activity.py b/activity.py
index bc1290b..dfa8e84 100755
--- a/activity.py
+++ b/activity.py
@@ -8,6 +8,8 @@ from sugar.graphics.toolbutton import ToolButton
from sugar.activity.widgets import ActivityToolbarButton
from sugar.activity.widgets import StopButton
from sugar.graphics.toolbarbox import ToolbarButton
+from sugar.graphics.objectchooser import ObjectChooser
+from sugar.datastore import datastore
import sugargame.canvas
import run
@@ -19,7 +21,7 @@ class Activity(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
- self._activity = run.Game()
+ self._activity = run.Game(self)
self.build_toolbar()
self._pygamecanvas = sugargame.canvas.PygameCanvas(self)
self.set_canvas(self._pygamecanvas)
@@ -53,3 +55,27 @@ class Activity(activity.Activity):
def write_file(self, file_path):
pass
+ def load_image_from_journal(self):
+ chooser = None
+ name = None
+ jobject = None
+ try:
+ chooser = ObjectChooser(parent=self, what_filter=None)
+ except TypeError:
+ chooser = ObjectChooser(
+ None, self,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
+ if chooser is not None:
+ try:
+ result = chooser.run()
+ if result == gtk.RESPONSE_ACCEPT:
+ jobject = chooser.get_selected_object()
+ if jobject and jobject.file_path:
+ name = jobject.metadata['title']
+ #mime_type = jobject.metadata['mime_type']
+ #_logger.debug('result of choose: %s (%s)' % \(name, str(mime_type)))
+ finally:
+ chooser.destroy()
+ del chooser
+
+ return jobject