Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/AbiWordActivity.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-08-06 11:32:19 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-11-08 14:07:40 (GMT)
commitdb2f52c755fb553c06d77d574bf44ede8273feb3 (patch)
treebbef729e4b7cfc6fce7e5ab621c4a4dc28b1695e /AbiWordActivity.py
parentc9c76a6bb3d9b12a04c94a302169861c88ef6a69 (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.py34
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