diff options
Diffstat (limited to 'pippy_app.py')
-rw-r--r-- | pippy_app.py | 34 |
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() |