Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pippy_app.py34
1 files changed, 29 insertions, 5 deletions
diff --git a/pippy_app.py b/pippy_app.py
index 2c8d98e..14fcb55 100644
--- a/pippy_app.py
+++ b/pippy_app.py
@@ -111,8 +111,6 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
self.loaded_session = []
self.session_data = []
- sys.path.append(os.path.join(self.get_activity_root(), 'Library'))
-
def initialize_display(self):
self._logger = logging.getLogger('pippy-activity')
@@ -139,6 +137,15 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
save_as_library = ToolButton('pippy-export-library')
save_as_library.set_tooltip(_('Save this file to the Pippy library'))
save_as_library.connect('clicked', self._save_as_library)
+
+ lib_dir = os.path.join(get_bundle_path(), 'library')
+ libfiles = self._list_files(lib_dir)
+ files_vb = Gtk.VBox()
+ for f in libfiles:
+ files_vb.add(Gtk.Label(label=f))
+ save_as_library.get_palette().set_content(files_vb)
+ files_vb.show_all()
+
save_as_library.show()
activity_toolbar.insert(save_as_library, -1)
@@ -333,11 +340,21 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
vpane.add2(outbox)
self.outbox = outbox
+ self.connect('key-press-event', self._key_press_cb)
+
return vpane
def after_init(self):
self.outbox.hide()
+ def _key_press_cb(self, window, event):
+ key_name = Gdk.keyval_name(event.keyval)
+ if key_name == 'Escape':
+ self.outbox.hide()
+ self.toggle_output.set_tooltip(_('Show output panel'))
+ self.toggle_output.set_icon_name('tray-show')
+ self.toggle_output.set_active(False)
+
def _toggle_output_cb(self, button):
shown = button.get_active()
if shown:
@@ -499,8 +516,8 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
['/bin/sh', '-c', 'python %s; sleep 1' % current_file,
'PYTHONPATH=%s/library:%s' % (get_bundle_path(),
os.getenv('PYTHONPATH', ''))],
- ['PYTHONPATH=%s/library:%s' % (get_bundle_path(),
- os.getenv('PYTHONPATH', ''))],
+ ['PYTHONPATH=%s:%s' % (get_bundle_path(),
+ os.getenv('PYTHONPATH', ''))],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,)
@@ -531,12 +548,19 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity):
alert = NotifyAlert(5)
alert.props.title = _('Python File added to Library')
IMPORT_MESSAGE = _('The file you selected has been added'
- ' to the library. Use "import {importname}"'
+ ' to the library. Use '
+ '"import library.{importname}"'
' to import the library for using.')
alert.props.msg = IMPORT_MESSAGE.format(importname=file_name[:-3])
alert.connect('response', self.remove_alert_cb)
self.add_alert(alert)
+ def _list_files(self, lib_dir):
+ files = [f[:-3] for f in os.listdir(lib_dir)
+ if os.path.isfile(os.path.join(lib_dir, f)) and
+ f != "__init__.py"]
+ return files
+
def _export_document_cb(self, __):
self.copy()