From 8fcccae06415542040431d046dbd2bced51e65f5 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 11 Oct 2010 15:42:07 +0000 Subject: more consolidation of chooser code --- (limited to 'TurtleArt/tautils.py') diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py index 9e9d2c3..47c2768 100644 --- a/TurtleArt/tautils.py +++ b/TurtleArt/tautils.py @@ -156,6 +156,28 @@ def get_save_name(suffix, load_save_folder, save_file_name): return do_dialog(_dialog, suffix, load_save_folder) +def chooser(caller, filter, action): + """ Choose an object from the datastore and take some action """ + from sugar.graphics.objectchooser import ObjectChooser + + _chooser = None + try: + _chooser = ObjectChooser(parent=caller, what_filter=filter) + except TypeError: + _chooser = ObjectChooser(None, caller, + gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) + if _chooser is not None: + try: + result = _chooser.run() + if result == gtk.RESPONSE_ACCEPT: + dsobject = _chooser.get_selected_object() + action(dsobject) + dsobject.destroy() + finally: + _chooser.destroy() + del _chooser + + def data_from_file(ta_file): """ Open the .ta file, ignoring any .png file that might be present. """ file_handle = open(ta_file, "r") -- cgit v0.9.1