From 6b2bf1a50428cdd4e9a9aa3bbc76b7f03c05bb90 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 15 Oct 2009 07:48:32 +0000 Subject: pushing v74 patches --- (limited to 'tawindow.py') diff --git a/tawindow.py b/tawindow.py index 3fe3f8e..0578909 100644 --- a/tawindow.py +++ b/tawindow.py @@ -103,7 +103,6 @@ def twNew(win, path, lang, parent=None): tw.dead_key = "" tw.area = win.window tw.gc = tw.area.new_gc() - # tw.window.textentry = gtk.Entry() # on an OLPC-XO-1, there is a scaling factor if os.path.exists('/sys/power/olpc-pm'): tw.lead = 1.6 @@ -425,33 +424,39 @@ def button_release(tw, x, y, verbose=False): elif tw.defdict.has_key(spr.proto.name): tw.selected_block = spr if spr.proto.name=='string': - # entry = gtk.Entry() move(tw.select_mask_string, (spr.x-5,spr.y-5)) setlayer(tw.select_mask_string, 660) tw.firstkey = True elif spr.proto.name in importblocks: import_from_journal(tw, spr) + # if Python block is clicked before any code has been loaded + # initiate the chooser dialog + elif spr.proto.name=='nop' and tw.myblock==None: + tw.activity.import_py() else: run_stack(tw, spr) def import_from_journal(tw, spr): - chooser = ObjectChooser('Choose image', None, gtk.DIALOG_MODAL | \ - gtk.DIALOG_DESTROY_WITH_PARENT) - try: - result = chooser.run() - if result == gtk.RESPONSE_ACCEPT: - dsobject = chooser.get_selected_object() - # change block graphic to indicate that object is "loaded" - if spr.proto.name == 'journal': - load_image(tw, dsobject, spr) - elif spr.proto.name == 'audiooff': - setimage(spr,tw.media_shapes['audioon']) - else: - setimage(spr, tw.media_shapes['decson']) - spr.ds_id = dsobject.object_id - dsobject.destroy() - finally: - chooser.destroy() - del chooser + if hasattr(tw,"activity"): + chooser = ObjectChooser('Choose image', None,\ + gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) + try: + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + dsobject = chooser.get_selected_object() + # change block graphic to indicate that object is "loaded" + if spr.proto.name == 'journal': + load_image(tw, dsobject, spr) + elif spr.proto.name == 'audiooff': + setimage(spr,tw.media_shapes['audioon']) + else: + setimage(spr, tw.media_shapes['decson']) + spr.ds_id = dsobject.object_id + dsobject.destroy() + finally: + chooser.destroy() + del chooser + else: + print "Journal Object Chooser unavailable from outside of Sugar" # Replace Journal block graphic with preview image def load_image(tw, picture, spr): @@ -770,17 +775,17 @@ def xy(event): return map(int, event.get_coords()) def showPopup(block_name,tw): - if hasattr(tw,"activity"): - if block_name in blocks_dict: - block_name_s = _(blocks_dict[block_name]) - else: - block_name_s = _(block_name) - - try: - label = block_name_s + ": " + hover_dict[block_name] - except: - label = block_name_s - # Use new toolbar + if blocks_dict.has_key(block_name): + block_name_s = _(blocks_dict[block_name]) + else: + block_name_s = _(block_name) + if hover_dict.has_key(block_name): + label = block_name_s + ": " + hover_dict[block_name] + else: + label = block_name_s + if hasattr(tw, "activity"): tw.activity.hover_help_label.set_text(label) tw.activity.hover_help_label.show() + elif hasattr(tw, "win"): + tw.win.set_title(_("Turtle Art") + " — " + label) return 0 -- cgit v0.9.1