diff options
author | Eduardo Silva <edsiper@gmail.com> | 2007-12-09 02:48:17 (GMT) |
---|---|---|
committer | Eduardo Silva <edsiper@gmail.com> | 2007-12-09 02:48:17 (GMT) |
commit | 3681bf4021453ae8d68723afed7eb470c7992f93 (patch) | |
tree | dd713dbf91400e3b1598828cd1510080b5bee334 | |
parent | d2c2d9ca486b6b7be7e97c46faeaf94df4bc5004 (diff) |
Resume plain text clipboard objects
-rw-r--r-- | activity/activity.info | 2 | ||||
-rw-r--r-- | terminal.py | 26 |
2 files changed, 25 insertions, 3 deletions
diff --git a/activity/activity.info b/activity/activity.info index 7c515b6..c65f0f1 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -4,3 +4,5 @@ activity_version = 3 service_name = org.laptop.Terminal exec = sugar-activity terminal.TerminalActivity icon = activity-terminal +mime_types = text/rtf;text/plain; + diff --git a/terminal.py b/terminal.py index 371dddc..d45f1be 100644 --- a/terminal.py +++ b/terminal.py @@ -35,13 +35,18 @@ import pango class TerminalActivity(activity.Activity): def __init__(self, handle): + self._resume_text = '' activity.Activity.__init__(self, handle) + + terminal = Terminal() + self._vte_terminal = terminal.get_vte_terminal() + self._hid_vt = self._vte_terminal.connect('cursor-moved', self._paste_text) + logging.debug('Starting the Terminal activity') self.set_title(_('Terminal Activity')) # CANVAS - terminal = Terminal() self.set_canvas(terminal) # TOOLBAR @@ -51,8 +56,7 @@ class TerminalActivity(activity.Activity): self.set_toolbox(toolbox) self.show_all() - vte_terminal = terminal.get_vte_terminal() - terminal_toolbar = TerminalToolbar(vte_terminal) + terminal_toolbar = TerminalToolbar(self._vte_terminal) toolbox.add_toolbar(_('Options'), terminal_toolbar) terminal_toolbar.show() @@ -61,6 +65,22 @@ class TerminalActivity(activity.Activity): toolbar.share.hide() toolbar.keep.hide() + # Tricky paste :D + def _paste_text(self, terminal): + self._vte_terminal.feed_child(self._resume_text) + self._vte_terminal.disconnect(self._hid_vt) + + def read_file(self, path): + if not os.path.exists(path): + return False + + if not os.access(path, os.R_OK): + return False + + f = open(path, "r") + data = f.read() + f.close() + self._resume_text = data class TerminalToolbar(gtk.Toolbar): def __init__(self, vte): |