diff options
Diffstat (limited to 'activity.py')
-rwxr-xr-x | activity.py | 28 |
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 |