diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2013-08-06 11:32:19 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2013-11-08 14:07:40 (GMT) |
commit | db2f52c755fb553c06d77d574bf44ede8273feb3 (patch) | |
tree | bbef729e4b7cfc6fce7e5ab621c4a4dc28b1695e /AbiWordActivity.py | |
parent | c9c76a6bb3d9b12a04c94a302169861c88ef6a69 (diff) |
Use the ObjectChooser with preview if available
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'AbiWordActivity.py')
-rw-r--r-- | AbiWordActivity.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/AbiWordActivity.py b/AbiWordActivity.py index a1c9d7b..8297f88 100644 --- a/AbiWordActivity.py +++ b/AbiWordActivity.py @@ -50,7 +50,11 @@ from toolbar import InsertToolbar from toolbar import ParagraphToolbar from widgets import ExportButtonFactory from widgets import DocumentView -from port import chooser +from sugar3.graphics.objectchooser import ObjectChooser +try: + from sugar3.graphics.objectchooser import FILTER_TYPE_GENERIC_MIME +except: + FILTER_TYPE_GENERIC_MIME = 'generic_mime' import speech from speechtoolbar import SpeechToolbar @@ -446,11 +450,23 @@ class AbiWordActivity(activity.Activity): self.floating_image = checkbutton.get_active() def _image_cb(self, button): - - def cb(object): - logging.debug('ObjectChooser: %r' % object) - self.abiword_canvas.insert_image(object.file_path, - self.floating_image) - - chooser.pick(parent=self.abiword_canvas.get_toplevel(), - what=chooser.IMAGE, cb=cb) + try: + chooser = ObjectChooser(self, what_filter='Image', + filter_type=FILTER_TYPE_GENERIC_MIME, + show_preview=True) + except: + # for compatibility with older versions + chooser = ObjectChooser(self, what_filter='Image') + + try: + result = chooser.run() + if result == Gtk.ResponseType.ACCEPT: + logging.debug('ObjectChooser: %r', + chooser.get_selected_object()) + jobject = chooser.get_selected_object() + if jobject and jobject.file_path: + self.abiword_canvas.insert_image(jobject.file_path, + self.floating_image) + finally: + chooser.destroy() + del chooser |