Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tawindow.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2009-10-15 07:48:32 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2009-10-15 07:48:32 (GMT)
commit6b2bf1a50428cdd4e9a9aa3bbc76b7f03c05bb90 (patch)
tree068a7206b18e6ec4b451557c4cf60ff2737974bb /tawindow.py
parent818e3268ad0ea663b35d86b5d8aa8c70420a8b4e (diff)
pushing v74 patches
Diffstat (limited to 'tawindow.py')
-rw-r--r--tawindow.py67
1 files changed, 36 insertions, 31 deletions
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