Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TurtleArt/tawindow.py11
-rw-r--r--TurtleArtActivity.py34
2 files changed, 35 insertions, 10 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 9bd4e47..3fd958a 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -861,6 +861,12 @@ class TurtleArtWindow():
# Reload the palette, but reuse the existing blocks
# If a block doesn't exist, add it
+ if not n < len(self.palettes):
+ debug_output(
+ '_create_proto_blocks: palette index %d is out of range' % (n),
+ self.running_sugar)
+ return
+
for blk in self.palettes[n]:
blk.spr.hide()
old_blocks = self.palettes[n][:]
@@ -915,6 +921,11 @@ class TurtleArtWindow():
palette = self.previous_palette
# Hide previously selected palette
if palette is not None:
+ if not palette < len(self.palettes):
+ debug_output(
+ '_hide_previous_palette: index %d is out of range' % \
+ (palette), self.running_sugar)
+ return
for proto in self.palettes[palette]:
proto.spr.hide()
if self.palette_sprs[palette][self.orientation] is not None:
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index e9d9e34..943eb4a 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -655,9 +655,11 @@ class TurtleArtActivity(activity.Activity):
self.load_ta_project = self._add_button_and_label(
'load-from-journal', _('Load project'),
self.do_load_ta_project_cb, button_box)
- self.load_ta_plugin = self._add_button_and_label(
- 'load-from-journal', _('Install plugin'),
- self.do_load_ta_plugin_cb, button_box)
+ # Only enable plugin loading if installed in /home
+ if activity.get_bundle_path()[0:5] == '/home':
+ self.load_ta_plugin = self._add_button_and_label(
+ 'load-from-journal', _('Install plugin'),
+ self.do_load_ta_plugin_cb, button_box)
self.load_python = self._add_button_and_label(
'pippy-openoff', _('Load Python block'), self.do_load_python_cb,
button_box)
@@ -678,9 +680,11 @@ class TurtleArtActivity(activity.Activity):
self.load_ta_project = self._add_button(
'load-from-journal', _('Load project'),
self.do_load_ta_project_cb, toolbar)
- self.load_ta_plugin = self._add_button(
- 'load-from-journal', _('Install plugin'),
- self.do_load_ta_plugin_cb, toolbar)
+ # Only enable plugin loading if installed in /home
+ if activity.get_bundle_path()[0:5] == '/home':
+ self.load_ta_plugin = self._add_button(
+ 'load-from-journal', _('Install plugin'),
+ self.do_load_ta_plugin_cb, toolbar)
self.load_python = self._add_button(
'pippy-openoff', _('Load Python block'), self.do_load_python_cb,
toolbar)
@@ -890,17 +894,27 @@ successfully.')
'palette'):
palette_name = file_info.get(
'Plugin', 'palette')
+ i = palette_names.index('trash')
_logger.debug('%s %d' \
-% (palette_name, len(self.palette_buttons) - 1))
- self.palette_buttons.append(
+% (palette_name, i - 1))
+ self.palette_buttons.insert(i - 1,
self._radio_button_factory(
palette_name + 'off',
self._palette_toolbar,
self.do_palette_buttons_cb,
- len(self.palette_buttons) - 1,
+ i - 1,
help_strings[palette_name],
self.palette_buttons[0],
- position=len(self.palette_buttons)))
+ position=i - 1))
+ self.tw.palettes.insert(i - 1, [])
+ self.tw.palette_sprs.insert(
+ i - 1, [None, None])
+ # Finally, we need to change the index
+ # associated with the Trash Palette
+ i = palette_names.index('trash')
+ self.palette_buttons[i].connect(
+ 'clicked',
+ self.do_palette_buttons_cb, i)
else:
self.tw.showlabel('status',
label=_('Please restart Turtle Art in \