Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolbar.py
diff options
context:
space:
mode:
authorMarc Maurer <uwog@uwog.net>2007-08-29 10:52:18 (GMT)
committer Marc Maurer <uwog@uwog.net>2007-08-29 10:52:18 (GMT)
commitd29b27c477ae237eab0a68956dec647983f44077 (patch)
tree71081862204ced85bf9b273b99cd9f9be819f28a /toolbar.py
parent3e82b2730dacf53a39261b85206cc6786def69c1 (diff)
Use a journal object picker when inserting images, instead of a normal GTK+ Open File dialog
Diffstat (limited to 'toolbar.py')
-rw-r--r--toolbar.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/toolbar.py b/toolbar.py
index 9876afd..74dafaf 100644
--- a/toolbar.py
+++ b/toolbar.py
@@ -25,6 +25,7 @@ from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.toggletoolbutton import ToggleToolButton
from sugar.graphics.combobox import ComboBox
from sugar.graphics.toolcombobox import ToolComboBox
+from sugar.graphics.objectchooser import ObjectChooser
logger = logging.getLogger('write-activity')
@@ -235,8 +236,19 @@ class ImageToolbar(gtk.Toolbar):
self._abiword_canvas.connect('image-selected', self._image_selected_cb)
def _image_cb(self, button):
- self._abiword_canvas.invoke_cmd('fileInsertGraphic', '', 0, 0)
-
+ chooser = ObjectChooser(_('Choose image'), None,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
+ try:
+ result = chooser.run()
+ if result == gtk.RESPONSE_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, True)
+ finally:
+ chooser.destroy()
+ del chooser
+
def _image_selected_cb(self, abi, b):
if b:
self._toolbox.set_current_toolbar(TOOLBAR_IMAGE)