diff options
author | Sayamindu Dasgupta <sayamindu@gmail.com> | 2008-11-21 18:17:59 (GMT) |
---|---|---|
committer | Sayamindu Dasgupta <sayamindu@gmail.com> | 2008-11-21 18:17:59 (GMT) |
commit | 053e192446d3d2d0dc6f8574e0d6ee74e60e7c5f (patch) | |
tree | e2a2ada4a1d397883a9cd0132162b8a1309c0e34 | |
parent | 23048ad63a65548fffcf84ab90503722745d3a01 (diff) |
Show an object picker if no file is specified initially
-rw-r--r-- | ImageViewerActivity.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/ImageViewerActivity.py b/ImageViewerActivity.py index 1f4e62f..73d2ab9 100644 --- a/ImageViewerActivity.py +++ b/ImageViewerActivity.py @@ -25,6 +25,8 @@ import time import sys, os import gtk, gobject +from sugar.graphics.objectchooser import ObjectChooser + import ImageView import ImageViewerToolbar @@ -36,6 +38,7 @@ class ImageViewerActivity(activity.Activity): self.zoom = None self._tempfile = None self._close_requested = False + self._want_document = True self.view = ImageView.ImageViewer() @@ -62,9 +65,31 @@ class ImageViewerActivity(activity.Activity): self.set_canvas(self.sw) self.sw.show_all() + self._show_object_picker = gobject.timeout_add(1000, \ + self._show_picker_cb) + + + def _show_picker_cb(self): + if not self._want_document: + return + + chooser = ObjectChooser(_('Choose document'), self, + gtk.DIALOG_MODAL | + gtk.DIALOG_DESTROY_WITH_PARENT) + + try: + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + jobject = chooser.get_selected_object() + if jobject and jobject.file_path: + self.read_file(jobject.file_path) + finally: + chooser.destroy() + del chooser - def read_file(self, file_path): + self._want_document = False + tempfile = os.path.join(self.get_activity_root(), 'instance', \ 'tmp%i' % time.time()) |