Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduardo Silva <edsiper@gmail.com>2007-12-09 02:48:17 (GMT)
committer Eduardo Silva <edsiper@gmail.com>2007-12-09 02:48:17 (GMT)
commit3681bf4021453ae8d68723afed7eb470c7992f93 (patch)
treedd713dbf91400e3b1598828cd1510080b5bee334
parentd2c2d9ca486b6b7be7e97c46faeaf94df4bc5004 (diff)
Resume plain text clipboard objects
-rw-r--r--activity/activity.info2
-rw-r--r--terminal.py26
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):