[Frugalware-git] interim: edit-2.0-1-i686

James Buren ryuo at frugalware.org
Sun Aug 10 00:35:45 CEST 2008


Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=interim.git;a=commitdiff;h=a8b25b7cd06e7164f7a7373ef3b77049afd3b0dd

commit a8b25b7cd06e7164f7a7373ef3b77049afd3b0dd
Author: James Buren <ryuo at frugalware.org>
Date:   Wed Jun 18 14:49:26 2008 -0500

edit-2.0-1-i686
* clean up

diff --git a/source/rox-extra/edit/edit-2.0/Edit/.DirIcon b/source/rox-extra/edit/edit-2.0/Edit/.DirIcon
deleted file mode 100644
index f3dc988..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/.DirIcon and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/.cvsignore b/source/rox-extra/edit/edit-2.0/Edit/.cvsignore
deleted file mode 100644
index 0d20b64..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.pyc
diff --git a/source/rox-extra/edit/edit-2.0/Edit/AppInfo.xml b/source/rox-extra/edit/edit-2.0/Edit/AppInfo.xml
deleted file mode 100644
index 69d60dd..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/AppInfo.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<AppInfo>
-  <Summary xml:lang="en">Simple text editor</Summary>
-  <Summary xml:lang="it">Un semplice editor di testi</Summary>
-  <Summary xml:lang="es">Un simple editor de texto</Summary>
-  <Summary xml:lang="de">Ein einfacher Texteditor</Summary>
-  <Summary xml:lang="zh_CN">文字编辑器</Summary>
-  <Summary xml:lang="zh_TW">文字編輯器</Summary>
-  <About xml:lang="en">
-    <Purpose>Text editor</Purpose>
-    <Version>2.0 (21-Sep-2005)</Version>
-    <Author>Thomas Leonard</Author>
-    <License>GNU General Public License</License>
-    <Homepage>http://rox.sourceforge.net</Homepage>
-  </About>
-  <About xml:lang="it">
-    <Purpose label="Scopo">editor di testi</Purpose>
-    <Version label="Versione"/>
-    <Author label="Autore"/>
-    <License label="Licenza"/>
-    <Homepage label="Sito web"/>
-  </About>
-  <About xml:lang="es">
-    <Purpose label="Propósito">Editor de texto</Purpose>
-    <Version label="Versión" />
-    <Author label="Autor" />
-    <License label="Licencia" />
-    <Homepage label="Sitio web" />
-  </About>
-  <About xml:lang="de">
-	<Purpose  label="Funktion">Texteditor</Purpose>
-	<Author  label="Autor"></Author>
-	<License  label="Lizenz"></License>
-  </About>
-  <About xml:lang="zh_CN">
-    <Purpose label="功能">文字编辑器</Purpose>
-    <Version label="版本"/>
-    <Authors label="作者"/>
-    <License label="版权"/>
-    <Homepage label="网页"/>
-  </About>
-  <About xml:lang="zh_TW">
-    <Purpose label="功能">文字編輯器</Purpose>
-    <Version label="版本"/>
-    <Author label="作者"/>
-    <License label="版權"/>
-    <Homepage label="網頁"/>
-  </About>
-</AppInfo>
diff --git a/source/rox-extra/edit/edit-2.0/Edit/AppRun b/source/rox-extra/edit/edit-2.0/Edit/AppRun
deleted file mode 100755
index b58fd45..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/AppRun
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env python
-import setup
-
-import sys
-import rox
-import EditWindow
-
-try:
-	from optparse import OptionParser
-except ImportError:
-	# optparse missing, e.g. in Python 2.2
-	line_number = None
-	args = sys.argv[1:]
-else:
-	parser = OptionParser()
-	parser.add_option("-l", "--line_number", type='int',
-		dest="line_number", default=None,
-		help="start editor at given line number")
-
-	(options, args) = parser.parse_args()
-	line_number = options.line_number
-
-if len(args):
-	for file in args:
-		try:
-			EditWindow.EditWindow(file, line_number = line_number)
-		except EditWindow.Abort:
-			pass
-else:
-	EditWindow.EditWindow()
-
-rox.mainloop()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/CVS/Entries b/source/rox-extra/edit/edit-2.0/Edit/CVS/Entries
deleted file mode 100644
index 393fd28..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/CVS/Entries
+++ /dev/null
@@ -1,17 +0,0 @@
-/.DirIcon/1.2/Fri May 16 10:13:21 2003/-ko/TRelease-2-0
-/.cvsignore/1.1/Fri Jul 19 15:43:34 2002//TRelease-2-0
-/AppInfo.xml/1.18/Wed Sep 21 09:18:51 2005//TRelease-2-0
-/AppRun/1.16/Sat Sep  3 09:53:52 2005//TRelease-2-0
-/Edit.xml/1.4/Wed Sep 21 09:19:56 2005//TRelease-2-0
-/EditWindow.py/1.61/Tue Sep 20 20:30:19 2005//TRelease-2-0
-/Options.xml/1.15/Sat Jul  9 16:22:58 2005//TRelease-2-0
-/buffer.py/1.11/Tue Jun 21 20:05:25 2005//TRelease-2-0
-/diff.py/1.8/Sat May 28 16:21:40 2005//TRelease-2-0
-/findrox.py/1.13/Mon May  2 17:58:32 2005//TRelease-2-0
-/goto.py/1.5/Sat May 28 16:21:40 2005//TRelease-2-0
-/search.py/1.13/Sat May 21 18:34:50 2005//TRelease-2-0
-/setup.py/1.4/Sat Sep  3 09:37:14 2005//TRelease-2-0
-D/Help////
-D/Messages////
-D/images////
-D/tests////
diff --git a/source/rox-extra/edit/edit-2.0/Edit/CVS/Repository b/source/rox-extra/edit/edit-2.0/Edit/CVS/Repository
deleted file mode 100644
index e99d6e3..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-Edit
diff --git a/source/rox-extra/edit/edit-2.0/Edit/CVS/Root b/source/rox-extra/edit/edit-2.0/Edit/CVS/Root
deleted file mode 100644
index 01d4116..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-tal197 at cvs.sourceforge.net:/cvsroot/rox
diff --git a/source/rox-extra/edit/edit-2.0/Edit/CVS/Tag b/source/rox-extra/edit/edit-2.0/Edit/CVS/Tag
deleted file mode 100644
index 8833b6e..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/CVS/Tag
+++ /dev/null
@@ -1 +0,0 @@
-NRelease-2-0
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Edit.xml b/source/rox-extra/edit/edit-2.0/Edit/Edit.xml
deleted file mode 100644
index d11dbed..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Edit.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<interface main="Edit/AppRun"
-	   uri="http://rox.sourceforge.net/2005/interfaces/Edit"
-	   xmlns="http://zero-install.sourceforge.net/2004/injector/interface">
-  <name>Edit</name>
-  <summary>simple text editor</summary>
-  <description>
-    Edit is a simple text editor, with a ROX-style user interface. It has drag-and-drop saving, search-and-replace and multi-level undo.
-  </description>
-  <icon type='image/png' href='http://rox.sourceforge.net/Icons/Edit.png'/>
-
-  <group>
-    <requires interface="http://rox.sourceforge.net/2005/interfaces/ROX-Lib">
-      <environment insert="ROX-Lib2/python" name="PYTHONPATH"/>
-    </requires>
-    <implementation id=".." stability="testing" version="2.0" released='2005-09-21'/>
-  </group>
-</interface>
diff --git a/source/rox-extra/edit/edit-2.0/Edit/EditWindow.py b/source/rox-extra/edit/edit-2.0/Edit/EditWindow.py
deleted file mode 100644
index d7cf875..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/EditWindow.py
+++ /dev/null
@@ -1,925 +0,0 @@
-
-import rox
-from rox import g, filer, app_options, mime
-import sys
-from rox.loading import XDSLoader
-from rox.options import Option
-from rox import OptionsBox
-from rox.saving import Saveable
-import os
-import diff
-import codecs
-
-# WARNING: This is a temporary hack, until we write a way choose between
-# the two ways of doing toolbars or we abandon the old method entirely
-import warnings
-warnings.filterwarnings('ignore', category=DeprecationWarning,
-			module='EditWindow')
-# End temporary hack
-
-def optional_section(available):
-	"""If requires is None, the section is enabled. Otherwise,
-	the section is shaded and the requires message is shown at
-	the top."""
-	if available:
-		def build_enabled_section(box, node, label):
-			return box.do_box(node, None, g.VBox(False, 0))
-		return build_enabled_section
-	else:
-		def build_disabled_section(box, node, label):
-			assert label is not None
-			box, = box.do_box(node, None, g.VBox(False, 0))
-			box.set_sensitive(False)
-			frame = g.Frame(label)
-			box.set_border_width(4)
-			frame.add(box)
-			return [frame]
-		return build_disabled_section
-
-try:
-	import gtkspell
-	have_spell = True
-except:
-	have_spell = False
-
-to_utf8 = codecs.getencoder('utf-8')
-
-from buffer import Buffer, have_sourceview
-from rox.Menu import Menu, set_save_name, SubMenu, Separator, Action, ToggleItem
-
-OptionsBox.widget_registry['source-view-only'] = optional_section(have_sourceview)
-
-default_font = Option('default_font', 'serif')
-
-background_colour = Option('background', '#fff')
-foreground_colour = Option('foreground', '#000')
-
-auto_indent = Option('autoindent', '1')
-word_wrap = Option('wordwrap', '1')
-
-layout_left_margin = Option('layout_left_margin', 2)
-layout_right_margin = Option('layout_right_margin', 4)
-
-layout_before_para = Option('layout_before_para', 0)
-layout_after_para = Option('layout_after_para', 0)
-layout_inside_para = Option('layout_inside_para', 0)
-layout_indent_para = Option('layout_indent_para', 2)
-
-right_margin = Option('right_margin', 80)
-show_margin = Option('show_margin', True)
-smart_home_end = Option('smart_home_end', True)
-show_line_numbers = Option('show_line_numbers', True)
-show_line_markers = Option('show_line_markers', True)
-tab_width = Option('tab_width', 4)
-use_spaces_for_tabs = Option('use_spaces_for_tabs', False)
-
-show_toolbar = Option('show_toolbar', 1)
-
-set_save_name('Edit', site='rox.sourceforge.net')
-
-edit_menu = [
-  Action(_('Cut'),		'cut',		'<Ctrl>X', g.STOCK_CUT),
-  Action(_('Copy'),	'copy',		'<Ctrl>C', g.STOCK_COPY),
-  Action(_('Paste'),	'paste',	'<Ctrl>V', g.STOCK_PASTE),
-  Separator(),
-  Action(_('Undo'),	'undo',		'<Ctrl>Z', g.STOCK_UNDO),
-  Action(_('Redo'),	'redo',		'<Ctrl>Y', g.STOCK_REDO),
-  Separator(),
-  Action(_('Search...'),	'search',	'F4', g.STOCK_FIND),
-  Action(_('Search and Replace....'), 'search_replace',
-					'<Ctrl>F4', g.STOCK_FIND_AND_REPLACE),
-  Action(_('Goto line...'),	'goto',		'F5', g.STOCK_JUMP_TO),
-  ]
-
-bookmark_menu = [
-  Separator(),
-  Action(_('Toggle Bookmark'),	'toggle_bookmark',	'<Ctrl>F2'),
-  Action(_('Next Bookmark'),	'next_bookmark',	'F2'),
-  Action(_('Previous Bookmark'),	'prev_bookmark',	'<Shift>F2'),
-  ]
-
-if have_sourceview:
-	edit_menu += bookmark_menu
-
-menu = Menu('main', [
-SubMenu(_('File'), [
-  Action(_('Save'),	'save',		'<Ctrl>S', g.STOCK_SAVE),
-  Action(_('Save As...'),	'save_as',	'', g.STOCK_SAVE_AS),
-  Action(_('Open Parent'),	'up',		'', g.STOCK_GO_UP),
-  Action(_('Show Changes'),	'diff', 	'', 'rox-diff'),
-  ToggleItem(_('Word Wrap'), 'word_wrap'),
-  Action(_('Close'),	'close',	'', g.STOCK_CLOSE),
-  Separator(),
-  Action(_('New'),	'new',		'', g.STOCK_NEW)]),
-
-SubMenu(_('Edit'), edit_menu),
-
-Action(_('Options'),		'show_options', '', g.STOCK_PROPERTIES),
-Action(_('Help'),		'help',		'F1', g.STOCK_HELP),
-])
-
-known_codecs = (
-	"iso8859_1", "iso8859_2", "iso8859_3", "iso8859_4", "iso8859_5",
-	"iso8859_6", "iso8859_7", "iso8859_8", "iso8859_9", "iso8859_10",
-	"iso8859_13", "iso8859_14", "iso8859_15",
-	"ascii", "base64_codec", "charmap",
-	"cp037", "cp1006", "cp1026", "cp1140", "cp1250", "cp1251", "cp1252",
-	"cp1253", "cp1254", "cp1255", "cp1256", "cp1257", "cp1258", "cp424",
-	"cp437", "cp500", "cp737", "cp775", "cp850", "cp852", "cp855", "cp856",
-	"cp857", "cp860", "cp861", "cp862", "cp863", "cp864", "cp865", "cp866",
-	"cp869", "cp874", "cp875", "hex_codec",
-	"koi8_r",
-	"latin_1",
-	"mac_cyrillic", "mac_greek", "mac_iceland", "mac_latin2", "mac_roman", "mac_turkish",
-	"mbcs", "quopri_codec", "raw_unicode_escape",
-	"rot_13",
-	"utf_16_be", "utf_16_le", "utf_16", "utf_7", "utf_8", "uu_codec",
-	"zlib_codec"
-)
-
-class Abort(Exception):
-	pass
-
-class Minibuffer:
-	def setup(self):
-		"""Called when the minibuffer is opened."""
-
-	def key_press(self, kev):
-		"""A keypress event in the minibuffer text entry."""
-
-	def changed(self):
-		"""The minibuffer text has changed."""
-
-	def activate(self):
-		"""Return or Enter pressed."""
-
-	info = 'Press Escape to close the minibuffer.'
-
-class DiffLoader(XDSLoader):
-	def __init__(self, window):
-		XDSLoader.__init__(self, ['text/plain'])
-		self.window = window
-
-	def xds_load_from_file(self, path):
-		self.window.diff(path = path)
-
-	def xds_load_from_stream(self, name, type, stream):
-		tmp = diff.Tmp(suffix = '-' + (name or 'tmp'))
-		import shutil
-		shutil.copyfileobj(stream, tmp)
-		tmp.seek(0)
-		self.window.diff(path = tmp.name)
-
-class EditWindow(rox.Window, XDSLoader, Saveable):
-	_word_wrap = False
-	wrap_button = None
-
-	def __init__(self, filename = None, show = True, line_number = None):
-		rox.Window.__init__(self)
-		XDSLoader.__init__(self, ['text/plain', 'UTF8_STRING'])
-		self.set_default_size(g.gdk.screen_width() * 2 / 3,
-				      g.gdk.screen_height() / 2)
-
-		self.savebox = None
-		self.info_box = None
-		self.language = None
-
-		app_options.add_notify(self.update_styles)
-
-		if filename:
-			import os.path
-			if not os.path.exists(filename):
-				try:
-					filename2, line_number = filename.split(':')
-					line_number = long(line_number)
-				except ValueError:
-					# Either there was no ':', or it wasn't followed by a number
-					pass
-				else:
-					filename = filename2
-			self.uri = os.path.abspath(filename)
-			self.mime_type = mime.get_type(self.uri, 1)
-		else:
-			self.uri = None
-			self.mime_type = mime.lookup('text', 'plain')
-
-		self.buffer = Buffer()
-
-		try:
-			import gtksourceview
-			self.text = gtksourceview.SourceView(self.buffer)
-			pixbuf = g.gdk.pixbuf_new_from_file(rox.app_dir+"/images/marker.png")
-			self.text.set_marker_pixbuf("bookmark", pixbuf)
-			if self.mime_type:
-				self.buffer.set_type(self.mime_type)
-		except:
-			self.text = g.TextView()
-			self.text.set_buffer(self.buffer)
-
-		self.text.set_size_request(10, 10)
-		self.xds_proxy_for(self.text)
-
-		self.insert_mark = self.buffer.get_mark('insert')
-		self.selection_bound_mark = self.buffer.get_mark('selection_bound')
-		start = self.buffer.get_start_iter()
-		self.mark_start = self.buffer.create_mark('mark_start', start, True)
-		self.mark_end = self.buffer.create_mark('mark_end', start, False)
-		self.mark_tmp = self.buffer.create_mark('mark_tmp', start, False)
-		tag = self.buffer.create_tag('marked')
-		tag.set_property('background', 'green')
-		self.marked = 0
-
-		# When searching, this is where the cursor was when the minibuffer
-		# was opened.
-		start = self.buffer.get_start_iter()
-		self.search_base = self.buffer.create_mark('search_base', start, True)
-
-		vbox = g.VBox(False)
-		self.add(vbox)
-
-		tools = g.Toolbar()
-		tools.set_style(g.TOOLBAR_ICONS)
-		vbox.pack_start(tools, False, True, 0)
-
-		self.status_label = g.Label('')
-		tools.append_widget(self.status_label, None, None)
-		tools.insert_stock(g.STOCK_HELP, _('Help'), None, self.help, None, 0)
-		diff = tools.insert_stock('rox-diff', _('Show changes from saved copy.\n'
-				'Or, drop a backup file onto this button to see changes from that.'),
-				None, self.diff, None, 0)
-		DiffLoader(self).xds_proxy_for(diff)
-
-		if have_spell:
-			self.spell = None
-			image_spell = g.Image()
-			image_spell.set_from_stock(g.STOCK_SPELL_CHECK, tools.get_icon_size())
-			self.spell_button  = tools.insert_element(g.TOOLBAR_CHILD_TOGGLEBUTTON,
-					None, _("Check Spelling"), _("Check Spelling"), None,
-					image_spell, self.toggle_spell, None, 0)
-
-		image_wrap = g.Image()
-		image_wrap.set_from_file(rox.app_dir + '/images/rox-word-wrap.png')
-		self.wrap_button = tools.insert_element(g.TOOLBAR_CHILD_TOGGLEBUTTON,
-					None, _("Word Wrap"), _("Word Wrap"), None, image_wrap,
-					lambda button: self.set_word_wrap(button.get_active()),
-					None, 0)
-		tools.insert_stock(g.STOCK_REDO, _('Redo'), None, self.redo, None, 0)
-		tools.insert_stock(g.STOCK_UNDO, _('Undo'), None, self.undo, None, 0)
-		tools.insert_stock(g.STOCK_FIND_AND_REPLACE, _('Replace'), None, self.search_replace, None, 0)
-		tools.insert_stock(g.STOCK_FIND, _('Search'), None, self.search, None, 0)
-		tools.insert_stock(g.STOCK_SAVE_AS, _('Save As'), None, self.save_as, None, 0)
-		self.save_button = tools.insert_stock(g.STOCK_SAVE, _('Save'), None, self.save, None, 0)
-		tools.insert_stock(g.STOCK_GO_UP, _('Up'), None, self.up, None, 0)
-		tools.insert_stock(g.STOCK_CLOSE, _('Close'), None, self.close, None, 0)
-		# Set minimum size to ignore the label
-		tools.set_size_request(tools.size_request()[0], -1)
-
-		self.tools = tools
-
-		swin = g.ScrolledWindow()
-		swin.set_policy(g.POLICY_AUTOMATIC, g.POLICY_AUTOMATIC)
-		vbox.pack_start(swin, True, True)
-
-		swin.add(self.text)
-
-		if show:
-			self.show_all()
-		self.update_styles()
-
-		self.update_title()
-
-		# Create the minibuffer
-		self.mini_hbox = g.HBox(False)
-
-		info = rox.ButtonMixed(g.STOCK_DIALOG_INFO, '')
-		info.set_relief(g.RELIEF_NONE)
-		info.unset_flags(g.CAN_FOCUS)
-		info.connect('clicked', self.mini_show_info)
-
-		close = rox.ButtonMixed(g.STOCK_STOP, '')
-		close.set_relief(g.RELIEF_NONE)
-		close.unset_flags(g.CAN_FOCUS)
-		close.connect('clicked', lambda e: self.set_minibuffer(None))
-
-		self.mini_hbox.pack_end(info, False, True, 0)
-		self.mini_hbox.pack_start(close, False, True, 0)
-		self.mini_label = g.Label('')
-		self.mini_hbox.pack_start(self.mini_label, False, True, 0)
-		self.mini_entry = g.Entry()
-		self.mini_hbox.pack_start(self.mini_entry, True, True, 0)
-		vbox.pack_start(self.mini_hbox, False, True)
-		self.mini_entry.connect('key-press-event', self.mini_key_press)
-		self.mini_entry.connect('changed', self.mini_changed)
-
-		self.connect('destroy', self.destroyed)
-
-		self.connect('delete-event', self.delete_event)
-		self.text.grab_focus()
-		self.text.connect('key-press-event', self.key_press)
-
-		# FIXME: why does this freeze Edit?
-		#if have_spell:
-			#if self.mime_type.media == 'text' and self.mime_type.subtype == 'plain':
-				#self.toggle_spell()
-				##self.spell.set_language ("en_US")
-
-		def update_current_line(*unused):
-			cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-			bound = self.buffer.get_iter_at_mark(self.selection_bound_mark)
-			if cursor.compare(bound) == 0:
-				n_lines = self.buffer.get_line_count()
-				self.status_label.set_text(_('Line %s of %d') % (cursor.get_line() + 1, n_lines))
-			else:
-				n_lines = abs(cursor.get_line() - bound.get_line()) + 1
-				if n_lines == 1:
-					n_chars = abs(cursor.get_line_offset() - bound.get_line_offset())
-					if n_chars == 1:
-						bytes = to_utf8(self.buffer.get_text(cursor, bound, False))[0]
-						self.status_label.set_text(_('One character selected (%s)') %
-							' '.join(map(lambda x: '0x%2x' % ord(x), bytes)))
-					else:
-						self.status_label.set_text(_('%d characters selected') % n_chars)
-				else:
-					self.status_label.set_text(_('%d lines selected') % n_lines)
-		self.buffer.connect('mark-set', update_current_line)
-		self.buffer.connect('changed', update_current_line)
-
-
-		# Loading might take a while, so get something on the screen
-		# now...
-		g.gdk.flush()
-
-		if filename:
-			try:
-				self.load_file(filename)
-				if filename != '-':
-					self.save_last_stat = os.stat(filename)
-			except Abort:
-				self.destroy()
-				raise
-
-		self.buffer.connect('modified-changed', self.update_title)
-		self.buffer.set_modified(False)
-
-		def button_press(text, event):
-			if event.button != 3:
-				return False
-			#self.text.emit('populate-popup', menu.menu)
-			menu.popup(self, event)
-			return True
-		self.text.connect('button-press-event', button_press)
-		self.text.connect('popup-menu', lambda text: menu.popup(self, None))
-
-		menu.attach(self, self)
-		self.buffer.place_cursor(self.buffer.get_start_iter())
-		self.buffer.start_undo_history()
-
-		if line_number:
-			iter = self.buffer.get_iter_at_line(int(line_number) - 1)
-			self.buffer.place_cursor(iter)
-			self.text.scroll_to_mark(self.insert_mark, 0.05, False)
-
-	def key_press(self, text, kev):
-		if kev.keyval == g.keysyms.Return or kev.keyval == g.keysyms.KP_Enter:
-			return self.auto_indent()
-		elif kev.keyval == g.keysyms.Tab or kev.keyval == g.keysyms.KP_Tab:
-			return self.indent_block()
-		elif kev.keyval == g.keysyms.ISO_Left_Tab:
-			return self.unindent_block()
-
-	def auto_indent(self):
-		if not auto_indent.int_value:
-			return False
-
-		start = self.buffer.get_iter_at_mark(self.insert_mark)
-		end = start.copy()
-		start.set_line_offset(0)
-		end.forward_to_line_end()
-		line = self.buffer.get_text(start, end, False)
-		indent = ''
-
-		if self.mime_type.subtype == 'x-python':
-			try:
-				l = line.split('\n')[0]
-			except:
-				l = line
-			if l.endswith(':') and not l.startswith('#'):
-				if use_spaces_for_tabs.int_value:
-					indent += ' ' * tab_width.int_value
-				else:
-					indent += '\t'
-		elif have_sourceview:
-			return False
-
-		for x in line:
-			if x in ' \t':
-				indent += x
-			else:
-				break
-
-		self.buffer.begin_user_action()
-		self.buffer.insert_at_cursor('\n' + indent)
-		self.buffer.end_user_action()
-		return True
-
-	def indent_block(self):
-		try:
-			(start, end) = self.buffer.get_selection_bounds()
-			start_line = start.get_line()
-			end_line = end.get_line()
-			self.buffer.begin_user_action()
-			for i in range(start_line, end_line+1):
-				iter = self.buffer.get_iter_at_line(i)
-				self.buffer.insert(iter, '\t')
-			self.buffer.end_user_action()
-			return True
-		except:
-			return False
-
-	def unindent_block(self):
-		try:
-			(start, end) = self.buffer.get_selection_bounds()
-			start_line = start.get_line()
-			end_line = end.get_line()
-			self.buffer.begin_user_action()
-			for i in range(start_line, end_line+1):
-				iter = self.buffer.get_iter_at_line(i)
-				if iter.get_char() == '\t':
-					next_char = iter.copy()
-					next_char.forward_char()
-					self.buffer.delete(iter, next_char)
-			self.buffer.end_user_action()
-			return True
-		except:
-			return False
-
-	def destroyed(self, widget):
-		app_options.remove_notify(self.update_styles)
-
-	def update_styles(self):
-		try:
-			import pango
-			font = pango.FontDescription(default_font.value)
-			bg = g.gdk.color_parse(background_colour.value)
-			fg = g.gdk.color_parse(foreground_colour.value)
-
-			self.text.set_left_margin(layout_left_margin.int_value)
-			self.text.set_right_margin(layout_right_margin.int_value)
-
-			self.text.set_pixels_above_lines(layout_before_para.int_value)
-			self.text.set_pixels_below_lines(layout_after_para.int_value)
-			self.text.set_pixels_inside_wrap(layout_inside_para.int_value)
-			self.text.set_indent(layout_indent_para.int_value)
-
-			self.word_wrap = bool(word_wrap.int_value)
-
-			if show_toolbar.int_value:
-				self.tools.show()
-			else:
-				self.tools.hide()
-		except:
-			rox.report_exception()
-		else:
-			self.text.modify_font(font)
-			self.text.modify_base(g.STATE_NORMAL, bg)
-			self.text.modify_text(g.STATE_NORMAL, fg)
-
-		if have_sourceview:
-			self.text.set_show_line_numbers(show_line_numbers.int_value)
-			self.text.set_show_line_markers(show_line_markers.int_value)
-			self.text.set_auto_indent(auto_indent.int_value)
-			self.text.set_tabs_width(tab_width.int_value)
-			self.text.set_insert_spaces_instead_of_tabs(use_spaces_for_tabs.int_value)
-			self.text.set_margin(right_margin.int_value)
-			self.text.set_show_margin(show_margin.int_value)
-			self.text.set_smart_home_end(smart_home_end.int_value)
-			if self.buffer.language == 'Python':
-				self.text.set_auto_indent(False)
-
-	def cut(self): self.text.emit('cut_clipboard')
-	def copy(self): self.text.emit('copy_clipboard')
-	def paste(self): self.text.emit('paste_clipboard')
-
-	def delete_event(self, window, event):
-                if self.buffer.get_modified():
-                        self.save_as(discard = 1)
-                        return 1
-                return 0
-
-	def update_title(self, *unused):
-		title = self.uri or '<'+_('Untitled')+'>'
-                if self.buffer.get_modified():
-                        title = title + " *"
-			self.save_button.set_sensitive(True)
-		else:
-			self.save_button.set_sensitive(False)
-                self.set_title(title)
-
-        def xds_load_from_stream(self, name, t, stream):
-		if t == 'UTF8_STRING':
-			return	# Gtk will handle it
-		try:
-			self.insert_data(stream.read())
-		except Abort:
-			pass
-
-	def get_encoding(self, message):
-		"Returns (encoding, errors), or raises Abort to cancel."
-		box = g.MessageDialog(self, 0, g.MESSAGE_QUESTION, g.BUTTONS_CANCEL, message)
-		box.set_has_separator(False)
-
-		frame = g.Frame()
-		box.vbox.pack_start(frame, True, True)
-		frame.set_border_width(6)
-
-		hbox = g.HBox(False, 4)
-		hbox.set_border_width(6)
-
-		hbox.pack_start(g.Label(_('Encoding:')), False, True, 0)
-		combo = g.Combo()
-		combo.disable_activate()
-		combo.entry.connect('activate', lambda w: box.activate_default())
-		combo.set_popdown_strings(known_codecs)
-		hbox.pack_start(combo, True, True, 0)
-		ignore_errors = g.CheckButton(_('Ignore errors'))
-		hbox.pack_start(ignore_errors, False, True)
-
-		frame.add(hbox)
-
-		box.vbox.show_all()
-		box.add_button(g.STOCK_CONVERT, g.RESPONSE_YES)
-		box.set_default_response(g.RESPONSE_YES)
-
-		while 1:
-			combo.entry.grab_focus()
-
-			resp = box.run()
-			if resp != g.RESPONSE_YES:
-				box.destroy()
-				raise Abort
-
-			if ignore_errors.get_active():
-				errors = 'replace'
-			else:
-				errors = 'strict'
-			encoding = combo.entry.get_text()
-			try:
-				codecs.getdecoder(encoding)
-				break
-			except:
-				rox.alert(_("Unknown encoding '%s'") % encoding)
-
-		box.destroy()
-
-		return encoding, errors
-
-	def insert_data(self, data):
-		import codecs
-		errors = 'strict'
-		encoding = 'utf-8'
-		while 1:
-			decoder = codecs.getdecoder(encoding)
-			try:
-				data = decoder(data, errors)[0]
-				if errors == 'strict':
-					assert '\0' not in data
-				else:
-					if '\0' in data:
-						data = data.replace('\0', '\\0')
-				break
-			except:
-				pass
-
-			encoding, errors = self.get_encoding(
-				_("Data is not valid %s. Please select the file's encoding. "
-				  "Turn on 'ignore errors' to try and load it anyway.")
-				  % encoding)
-
-		self.buffer.begin_user_action()
-		self.buffer.insert_at_cursor(data)
-		self.buffer.end_user_action()
-		return 1
-
-	def load_file(self, path):
-		try:
-			if path == '-':
-				file = sys.stdin
-			else:
-				file = open(path, 'r')
-			contents = file.read()
-			if path != '-':
-				file.close()
-
-			self.buffer.begin_not_undoable_action()
-			self.insert_data(contents)
-			self.buffer.end_not_undoable_action()
-		except Abort:
-			raise
-		except:
-			rox.report_exception()
-			raise Abort
-
-	def close(self, button = None):
-                if self.buffer.get_modified():
-                        self.save_as(discard = 1)
-                else:
-                        self.destroy()
-
-	def discard(self):
-                self.destroy()
-
-        def up(self, button = None):
-                if self.uri:
-                        filer.show_file(self.uri)
-                else:
-                        rox.alert(_('File is not saved to disk yet'))
-
-
-	def toggle_spell(self, button = None):
-		if self.spell:
-			self.spell.detach()
-			self.spell = None
-			self.spell_button.set_active(False)
-		else:
-			try:
-				self.spell = gtkspell.Spell(self.text)
-				self.spell_button.set_active(True)
-			except:
-				self.spell = None
-				self.spell_button.set_active(False)
-
-		#self.spell_button.set_active(self.spell != None)
-
-	def diff(self, button = None, path = None):
-		path = path or self.uri
-		if not path:
-			rox.alert(_('This file has never been saved; nothing to compare it to!\n'
-				    'Note: you can drop a file onto the toolbar button to see '
-				    'the changes from that file.'))
-			return
-		diff.show_diff(path, self.save_to_stream)
-
-	def has_selection(self):
-		s, e = self.get_selection_range()
-		return not e.equal(s)
-
-	def get_marked_range(self):
-		s = self.buffer.get_iter_at_mark(self.mark_start)
-		e = self.buffer.get_iter_at_mark(self.mark_end)
-		if s.compare(e) > 0:
-			return e, s
-		return s, e
-
-	def get_selection_range(self):
-		s = self.buffer.get_iter_at_mark(self.insert_mark)
-		e = self.buffer.get_iter_at_mark(self.selection_bound_mark)
-		if s.compare(e) > 0:
-			return e, s
-		return s, e
-
-	def save(self, widget = None):
-		if self.uri:
-			self.save_to_file(self.uri)
-			self.buffer.set_modified(False)
-		else:
-			self.save_as(discard=0)
-
-	def save_as(self, widget = None, discard = 0):
-		from rox.saving import SaveBox
-
-		if self.savebox:
-			self.savebox.destroy()
-
-		try:
-			self.mime_type = mime.get_type(self.uri, 1)
-		except:
-			self.mime_type = mime.lookup('text', 'plain')
-
-		mime_text = self.mime_type.media + '/' + self.mime_type.subtype
-
-		if self.has_selection() and not discard:
-			saver = SelectionSaver(self)
-			self.savebox = SaveBox(saver, 'Selection', mime_text)
-			self.savebox.connect('destroy', lambda w: saver.destroy())
-		else:
-			uri = self.uri or _('TextFile')
-			self.savebox = SaveBox(self, uri, mime_text, discard)
-		self.savebox.show()
-
-        def help(self, button = None):
-                filer.open_dir(os.path.join(rox.app_dir, 'Help'))
-
-	def save_to_stream(self, stream):
-		s = self.buffer.get_start_iter()
-		e = self.buffer.get_end_iter()
-                stream.write(self.buffer.get_text(s, e, True))
-
-	def set_uri(self, uri):
-                self.uri = uri
-		self.buffer.set_modified(False)
-                self.update_title()
-
-	def new(self):
-		EditWindow()
-
-	def change_font(self):
-		style = self.text.get_style().copy()
-		style.font = load_font(options.get('edit_font'))
-		self.text.set_style(style)
-
-	def show_options(self):
-		rox.edit_options()
-
-	def set_marked(self, start = None, end = None):
-		"Set the marked region (from the selection if no region is given)."
-		self.clear_marked()
-		assert not self.marked
-
-		buffer = self.buffer
-		if start:
-			assert end
-		else:
-			assert not end
-			start, end = self.get_selection_range()
-		buffer.move_mark(self.mark_start, start)
-		buffer.move_mark(self.mark_end, end)
-		buffer.apply_tag_by_name('marked',
-			buffer.get_iter_at_mark(self.mark_start),
-			buffer.get_iter_at_mark(self.mark_end))
-		self.marked = 1
-
-	def clear_marked(self):
-		if not self.marked:
-			return
-		self.marked = 0
-		buffer = self.buffer
-		buffer.remove_tag_by_name('marked',
-			buffer.get_iter_at_mark(self.mark_start),
-			buffer.get_iter_at_mark(self.mark_end))
-
-	def undo(self, widget = None):
-		self.buffer.undo()
-		cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-		self.text.scroll_to_iter(cursor, 0.05, False)
-
-	def redo(self, widget = None):
-		self.buffer.redo()
-		cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-		self.text.scroll_to_iter(cursor, 0.05, False)
-
-	def goto(self, widget = None):
-		from goto import Goto
-		self.set_minibuffer(Goto())
-
-	def search(self, widget = None):
-		from search import Search
-		self.set_minibuffer(Search())
-
-	def search_replace(self, widget = None):
-		from search import Replace
-		Replace(self).show()
-
-	def toggle_bookmark(self):
-		cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-		name = str(cursor.get_line())
-		marker = self.buffer.get_marker(name)
-		if marker:
-			self.buffer.delete_marker(marker);
-		else:
-			marker = self.buffer.create_marker(name, "bookmark", cursor);
-
-	def next_bookmark(self):
-		cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-		cursor.forward_char()
-		marker = self.buffer.get_next_marker(cursor)
-		if marker:
-			self.buffer.get_iter_at_marker (cursor, marker)
-			self.buffer.place_cursor(cursor)
-			self.text.scroll_to_iter(cursor, 0.05, False)
-
-	def prev_bookmark(self):
-		cursor = self.buffer.get_iter_at_mark(self.insert_mark)
-		cursor.backward_char()
-		marker = self.buffer.get_prev_marker(cursor)
-		if marker:
-			self.buffer.get_iter_at_marker (cursor, marker)
-			self.buffer.place_cursor(cursor)
-			self.text.scroll_to_iter(cursor, 0.05, False)
-
-	def set_mini_label(self, label):
-		self.mini_label.set_text(label)
-
-	def set_minibuffer(self, minibuffer):
-		assert minibuffer is None or isinstance(minibuffer, Minibuffer)
-
-		try:
-			self.minibuffer.close()
-		except:
-			pass
-
-		self.minibuffer = None
-
-		if minibuffer:
-			self.mini_entry.set_text('')
-			self.minibuffer = minibuffer
-			minibuffer.setup(self)
-			self.mini_entry.grab_focus()
-			self.mini_hbox.show_all()
-		else:
-			self.mini_hbox.hide()
-			self.text.grab_focus()
-
-	def mini_key_press(self, entry, kev):
-		if kev.keyval == g.keysyms.Escape:
-			self.set_minibuffer(None)
-			return 1
-		if kev.keyval == g.keysyms.Return or kev.keyval == g.keysyms.KP_Enter:
-			self.minibuffer.activate()
-			return 1
-
-		return self.minibuffer.key_press(kev)
-
-	def mini_changed(self, entry):
-		if not self.minibuffer:
-			return
-		self.minibuffer.changed()
-
-	def mini_show_info(self, *unused):
-		assert self.minibuffer
-		if self.info_box:
-			self.info_box.destroy()
-		self.info_box = g.MessageDialog(self, 0, g.MESSAGE_INFO, g.BUTTONS_OK,
-						self.minibuffer.info)
-		self.info_box.set_title(_('Minibuffer help'))
-		def destroy(box):
-			self.info_box = None
-		self.info_box.connect('destroy', destroy)
-		self.info_box.show()
-		self.info_box.connect('response', lambda w, r: w.destroy())
-
-	def process_selected(self, process):
-		"""Calls process(line) on each line in the selection, or each line in the file
-		if there is no selection. If the result is not None, the text is replaced."""
-		self.buffer.begin_user_action()
-		try:
-			self._process_selected(process)
-		finally:
-			self.buffer.end_user_action()
-
-	def _process_selected(self, process):
-		if self.has_selection():
-			def get_end():
-				start, end = self.get_selection_range()
-				if start.compare(end) > 0:
-					return start
-				return end
-			start, end = self.get_selection_range()
-			if start.compare(end) > 0:
-				start = end
-		else:
-			def get_end():
-				return self.buffer.get_end_iter()
-			start = self.buffer.get_start_iter()
-		end = get_end()
-
-		while start.compare(end) <= 0:
-			line_end = start.copy()
-			line_end.forward_to_line_end()
-			if line_end.compare(end) >= 0:
-				line_end = end
-			line = self.buffer.get_text(start, line_end, False)
-			new = process(line)
-			if new is not None:
-				self.buffer.move_mark(self.mark_tmp, start)
-				self.buffer.insert(line_end, new)
-				start = self.buffer.get_iter_at_mark(self.mark_tmp)
-				line_end = start.copy()
-				line_end.forward_chars(len(line.decode('utf-8')))
-				self.buffer.delete(start, line_end)
-
-				start = self.buffer.get_iter_at_mark(self.mark_tmp)
-				end = get_end()
-			if not start.forward_line(): break
-
-	def set_word_wrap(self, value):
-		self._word_wrap = value
-		self.wrap_button.set_active(value)
-		if value:
-			self.text.set_wrap_mode(g.WRAP_WORD)
-		else:
-			self.text.set_wrap_mode(g.WRAP_NONE)
-
-	word_wrap = property(lambda self: self._word_wrap, set_word_wrap)
-
-class SelectionSaver(Saveable):
-	def __init__(self, window):
-		self.window = window
-		window.set_marked()
-
-	def save_to_stream(self, stream):
-		s, e = self.window.get_marked_range()
-		stream.write(self.window.buffer.get_text(s, e, True))
-
-	def destroy(self):
-		# Called when savebox is remove. Get rid of the selection marker
-		self.window.clear_marked()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/COPYING b/source/rox-extra/edit/edit-2.0/Edit/Help/COPYING
deleted file mode 100644
index 60549be..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Entries b/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Entries
deleted file mode 100644
index 9c6dcc4..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Entries
+++ /dev/null
@@ -1,4 +0,0 @@
-/COPYING/1.1/Tue Jun 26 10:55:42 2001//TRelease-2-0
-/Changes/1.65/Wed Sep 21 09:18:51 2005//TRelease-2-0
-/README/1.13/Sat Sep  3 09:53:52 2005//TRelease-2-0
-D
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Repository b/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Repository
deleted file mode 100644
index 3493f2b..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-Edit/Help
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Root b/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Root
deleted file mode 100644
index 01d4116..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-tal197 at cvs.sourceforge.net:/cvsroot/rox
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Tag b/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Tag
deleted file mode 100644
index 8833b6e..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/CVS/Tag
+++ /dev/null
@@ -1 +0,0 @@
-NRelease-2-0
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/Changes b/source/rox-extra/edit/edit-2.0/Edit/Help/Changes
deleted file mode 100644
index 1aae91c..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/Changes
+++ /dev/null
@@ -1,257 +0,0 @@
-			Edit
-			A simple text editor
-			by Thomas Leonard
-
-Dnd loading: Loads to cursor, not indicated point.
-
-20-Sep-2005 (Release 2.0)
-~~~~~~~~~~~
-Bugfix: Indenting Python code in spaces-for-tabs mode failed (Thomas Leonard).
-
-03-Sep-2005
-~~~~~~~~~~~
-Parsing the line number option requires Python 2.3. On Python 2.2, just
-disable this instead of aborting. As an alternative, allow the syntax
-file:number (Thomas Leonard).
-
-27-Aug-2005
-~~~~~~~~~~~
-Added Edit.xml file, which can be used as a feed for 0launch (Thomas Leonard).
-
-07-Jul-2005
-~~~~~~~~~~~
-Added tooltips for the GtkSourceView options (Thomas Leonard).
-
-22-Jun-2005
-~~~~~~~~~~~
-When gtksourceview is missing, shade those options and explain why they
-don't work (Thomas Leonard).
-
-06-Jun-2005
-~~~~~~~~~~~
-When saving a file with no name, don't show Discard (Thomas Leonard).
-
-31-May-2005
-~~~~~~~~~~~
-Guido Schimmels:
-Add GTK_SPELL_CHECK ToggleButton to toolbar when pygtkspell is available.
-
-30-May-2005
-~~~~~~~~~~~
-
-Guido Schimmels:
-Increase indendation level after python statement (previous line ends with colon)
-
-29-May-2005
-~~~~~~~~~~~
-Updated Chinese translations (Babyfai Cheung).
-
-28-May-2005
-~~~~~~~~~~~
-
-Add missing marker.png image
-
-Ken Hayber:
-
-Switch to basedir spec
-Code cleanups
-
-25-May-2005
-~~~~~~~~~~~
-
-Ken Hayber:
-
-New CLI option: -l (--line_number) -> jump to given line number at startup
-
-21-May-2005
-~~~~~~~~~~~
-Added Save toolbar button, renaming the old Save to Save As (Guido Schimmels).
-
-20-May-2005
-~~~~~~~~~~~
-
-Ken Hayber:
-
-Make Find minibuffer work like Firefox's.
-Indent/unindent of blocks (select a block and tab/shift-tab)
-Fix a warning when trying to undo too far and places the cursor
-at the undo/redo point (so you can see what you are un/redoing).
-
-16-May-2005
-~~~~~~~~~~~
-Ken Hayber + Guido Schimmels:
-
-Make <Untitled> translatable.
-Prettify search/replace dialog with sizegroup.
-Options.xml: move Toolbar frame at the end of Display section, remove Toolbar
-section, line up Display->Colour->Foreground/Background in a hbox.
-Update de.po.
-Use gtksourceview's undo/redo system (it groups edits together so
-if you type a word and hit undo it kills the whole word at once).
-Fix g.FALSE/TRUE deprecation warnings.
-Fix a small bug/warning about self.dir not being defined in search.py.
-Set the mime-type in the SaveBox from the file type if possible.
-Add support for bookmarks (set, clear and jump to).
-Make the search minibuffer work/look more like FireFox's search.
-
-12-May-2005
-~~~~~~~~~~~
-Updated Chinese translation (Babyfai Cheung).
-
-03-May-2005
-~~~~~~~~~~~
-Added support for GtkSourceView (Guido Schimmels, with some untested changes
-by Thomas Leonard).
-Updated findrox.
-
-03-Mar-2005
-~~~~~~~~~~~
-Renamed 'Save' to 'Save As' for consistency with other systems (Thomas
-Leonard).
-
-19-Feb-2005
-~~~~~~~~~~~
-Temporary fix for deprecation warnings with pygtk 2.6 (Stephen Watson).
-
-12-Feb-2005
-~~~~~~~~~~~
-Updated Chinese translation (Babyfai Cheung).
-
-29-Jan-2005 (Release 1.9.7)
-~~~~~~~~~~~
-Added some unit tests for search and replace.
-Bugfix: Search and Replace failed to correctly modify lines containing
-	non-ASCII characters (Thomas Leonard; reported by Arnaud Calvo).
-
-23-Dec-2004
-~~~~~~~~~~~
-Added Chinese translation (Babyfai Cheung).
-
-15-Jul-2004
-~~~~~~~~~~~
-Added option to toggle display of toolbar (requested by JoeHill).
-
-18-Apr-2004 (Release 1.9.6)
-~~~~~~~~~~~
-Added Word Wrap menu item and toolbar toggle (Ken Hayber).
-
-18-Mar-2004
-~~~~~~~~~~~
-Added German translation (Guido Schimmels).
-
-22-Feb-2004 (Release 1.9.5)
-~~~~~~~~~~~
-Record size and mtime of file when editing starts, so newer ROX-Libs can
-warn about other applications editing the file.
-
-27-Jan-2004
-~~~~~~~~~~~
-Added French translation (Arnaud Calvo).
-
-13-Jan-2004
-~~~~~~~~~~~
-Option to turn word wrapping on and off (Ken Hayber).
-
-17-Oct-2003
-~~~~~~~~~~~
-Bugfix: Needed to 'import os' for Python 2.2 (Peter Geer).
-
-14-Oct-2003 (Release 1.9.4)
-~~~~~~~~~~~
-Added toolbar icon for Show Changes.
-Added line number display, which also shows details of the current selection,
-if any (requested by Arnaud Calvo).
-
-13-Oct-2003
-~~~~~~~~~~~
-Added ability to bring up a diff of the changes to the saved version of the
-file.
-
-09-Oct-2003
-~~~~~~~~~~~
-Open menu on popup-menu signal (for keyboard users).
-
-06-Oct-2003
-~~~~~~~~~~~
-Added Spanish translation (Nicolás de la Torre).
-
-04-Oct-2003
-~~~~~~~~~~~
-Marked strings as translatable and added Italian translation (Roberto
-Inzerillo).
-
-27-Aug-2003
-~~~~~~~~~~~
-Spanish translation of AppInfo (Nicolás de la Torre).
-
-26-Aug-2003
-~~~~~~~~~~~
-Added 'Messages' directory for translations (requested by Nicolás de la Torre).
-
-26-Jul-2003
-~~~~~~~~~~~
-Hide scrollbar when not in use.
-
-23-Jul-2003 (Release 1.9.3)
-~~~~~~~~~~~
-Group actions for undo and redo.
-Removed Process minibuffer.
-Cope slightly better with binary data.
-
-22-Jul-2003
-~~~~~~~~~~~
-Added Search-and-Replace toolbar button. Added section on search and replace
-to the manual.
-Added Spacing section to the options box, to control the line spacings,
-margins and indents.
-
-20-Jul-2003
-~~~~~~~~~~~
-Support older versions of pygtk (reported by Alastair Porter).
-
-19-Jul-2003 (Release 1.9.2)
-~~~~~~~~~~~
-Added stock items to menus.
-Added menu items for Cut, Copy and Paste.
-Added Search and Replace.
-Added automatic indentation feature (on by default).
-
-04-Jul-2003
-~~~~~~~~~~~
-Added italian translation in AppInfo.xml (Yuri Bongiorno)
-
-16-May-2003 (Release 1.9.1)
-~~~~~~~~~~~
-New icon (Geoff Youngs).
-
-10-Feb-2003
-~~~~~~~~~~~
-Upgraded to cope with pygtk-1.99.15.
-
-02-Feb-2003
-~~~~~~~~~~~
-Fixed problem with wheel mouse scrolling (Stuart Langridge).
-
-29-Jan-2003
-~~~~~~~~~~~
-Make wheel mouse scrolling work (requested by Albert Wagner).
-
-21-Jan-2003
-~~~~~~~~~~~
-Fix warning message when opening minibuffer (reported by joehill).
-
-02-Sep-2002 (Release 1.9.0)
-~~~~~~~~~~~
-Process minibuffer defaults to previous command.
-
-28-Jul-2002
-~~~~~~~~~~~
-Added process minibuffer.
-
-21-Jul-2002
-~~~~~~~~~~~
-Preserve permissions when saving.
-
-19-Jul-2002
-~~~~~~~~~~~
-When importing non-UTF8 text, allow the user to select an encoding to use.
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Help/README b/source/rox-extra/edit/edit-2.0/Edit/Help/README
deleted file mode 100644
index f24c295..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Help/README
+++ /dev/null
@@ -1,122 +0,0 @@
-			Edit
-			A simple text editor for ROX
-			by Thomas Leonard
-
-
-BRIEF
-
-Edit is a simple text editor written in python. You do not need to compile it before using it, but you will require ROX-Lib2:
-
-	http://rox.sourceforge.net/rox_lib.html
-
-To run, click on Edit's icon in a filer window. No installation is required, but you can copy it anywhere you want using the filer...
-
-To load a file into Edit, drop the file onto the Edit icon in a ROX-Filer window or panel.
-
-INSTRUCTIONS
-
-To start Edit, either click on its icon in a filer window or drag a file onto it. A window appears with a small toolbar and a text area showing the file. The tools are:
-
-Close
-	Close the window
-Up
-	Open a ROX-Filer window showing the file
-Save
-	Open a ROX savebox - drag to a ROX-Filer window to save
-Search
-	Open the interactive search minibuffer at the bottom of the window
-Search and Replace
-	Open the search and replace dialog box (see below)
-Undo
-	Back one change
-Redo
-	Forward one change (undoes undo operations)
-Diff
-	Show changes since the file was saved (see below)
-Help
-	Show the help files
-
-You can right-click on the window for a menu.
-
-COPY AND PASTE
-
-You can copy a piece of text to the `clipboard' (which is invisible) by selecting it and then pressing Ctrl-C. You can paste text from the clipboard by pressing Ctrl-V (you can also use the Edit menu). The clipboard is shared by all applications, so you can use this to transfer text between programs. However, if you quit the application which 'owns' the clipboard (the last program you did Ctrl-C in), then the clipboard is lost.
-
-A faster alternative mechanism is the 'primary selection'. You can click the middle mouse button to insert the currently selected text (from any application). This mechanism is entirely separate from the clipboard, but is also widely supported.
-
-Tip: to insert the pathname of a file (rather than its contents, which you would do with drag-and-drop), select the file in ROX-Filer and click the middle button at the point in the text where you want to insert it.
-
-SEARCHING
-
-To search, click on the Search toolbar icon, or choose Edit->Search... from the popup menu. As you type, the next match is highlighted. Press the Down arrow to move to the next match, or the Up arrow to search backwards for the previous match.
-
-SEARCH AND REPLACE
-
-Enter some text to search for in the 'Replace' box and enter the text to replace it with in the 'With:' box. For example, to update all your copyright notices:
-
-	Replace: Copyright 2002
-	With: Copyright 2003
-
-Sometimes you need more flexibility. For example, you may wish to search for all four digit numbers, or for spaces at the beginning of a line. In that case, you'll need to turn on the 'Advanced' check box. When you do this, some characters take on special meanings. A quick-reference table will appear listing them, and some examples.
-
-You can now do things like this:
-
-	Replace: Copyright \d{4}
-	With: Copyright 2003
-
-`\d' means `any digit', and `{4}' means to match four of them. So, this will find 'Copyright 2002', 'Copyright 1997', etc, and change them all to Copyright 2003.
-
-The 'With:' box also allows some special characters, allowing you to refer back to bracketed parts of the match. For example:
-
-	Replace: ^(\d+) (\S+)$
-	With: \2 \1
-
-This looks for lines starting with one or more digits, then a space, and then one or more non-spaces at the end of the line. The part matched by the (\d+) becomes group 1, and the (\S+) bit is group 2, due to the brackets. The replacement text then switches them around, so:
-
-	1234 Mary
-	876 Bob
-becomes
-	Mary 1234
-	Bob 876
-
-(if you want to ignore spaces at the start of the line, use: ^\s*...)
-Finally, if your needs are really complicated, you can turn on the 'Python expression' checkbox. In this case, instead of inserting the 'With:' text directly, it will be evaluated as a formula (a Python expression). For example:
-
-	Replace: \b[A-Z][a-z]+\b
-	With: old.upper()
-
-This finds all complete words starting with an uppercase letter and followed by at least one lowercase letter, and converts them to uppercase (so "Where are Mary and Bob?" becomes "WHERE are MARY and BOB?").
-Likewise, consider:
-
-	Replace: \d+\+\d+
-	With: eval(old)
-
-This searches for two strings of digits separated by a "+" (the \ is needed so that + doesn't get it's special meaning of `one or more'), and evaluates the matched text as a Python expression itself. So:
-
-	What is 5+2, 3+5 or 1+1?
-becomes:
-	What is 7, 8 or 2?
-
-OPTIONS
-
-From the popup menu, you can open the Options box. This lets to choose the font, colours and spacings to use, and control the auto-indent feature.
-
-SHOW CHANGES
-
-When editing a file, you can compare it to the saved version by clicking on the Show Changes toolbar button, or by choosing File->Show Changes from the menu.
-
-The window that appears shows each part of the file that changed. Red lines were deleted and green lines were added (if a line was changed, there will be a red line for the old version followed by a green line for the new one). White lines are context (lines which didn't change, but help to show where the change was). Each section has a grey header showing the line numbers of the changes.
-
-All the colours can be changed in the options box.
-
-You can also compare the current file with an older backup (or any other file) by dragging the backup file to the 'Show Changes' toolbar button.
-
-CONDITIONS
-
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Please report any bugs to the mailing list:
-
-	http://rox.sourceforge.net/phpwiki/index.php/MailingLists
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Entries b/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Entries
deleted file mode 100644
index a588626..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Entries
+++ /dev/null
@@ -1,10 +0,0 @@
-/de.po/1.2/Sat May 21 18:34:50 2005//TRelease-2-0
-/dist/1.1/Tue Aug 26 14:48:35 2003//TRelease-2-0
-/es.po/1.3/Sat May 21 18:34:50 2005//TRelease-2-0
-/fr.po/1.4/Sat May 21 18:34:50 2005//TRelease-2-0
-/it.po/1.4/Sat May 21 18:34:50 2005//TRelease-2-0
-/tips.py/1.1/Mon Oct  6 10:11:38 2003//TRelease-2-0
-/update-po/1.2/Mon Oct  6 10:11:38 2003//TRelease-2-0
-/zh_CN.po/1.6/Sun Jul 31 10:09:52 2005//TRelease-2-0
-/zh_TW.po/1.6/Sun Jul 31 10:09:52 2005//TRelease-2-0
-D
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Repository b/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Repository
deleted file mode 100644
index 7200d40..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-Edit/Messages
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Root b/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Root
deleted file mode 100644
index 01d4116..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-tal197 at cvs.sourceforge.net:/cvsroot/rox
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Tag b/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Tag
deleted file mode 100644
index 8833b6e..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/CVS/Tag
+++ /dev/null
@@ -1 +0,0 @@
-NRelease-2-0
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/de.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/de.gmo
deleted file mode 100644
index ea9d0a3..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/de.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/de.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/de.po
deleted file mode 100644
index 61d4c90..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/de.po
+++ /dev/null
@@ -1,587 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Edit 1.9.7\n"
-"POT-Creation-Date: Sat May 21 20:07:04 2005\n"
-"PO-Revision-Date: 2005-05-21 20:06+0100\n"
-"Last-Translator: Guido Schimmels <__guido__ at web.de>\n"
-"Language-Team: ROX mailing-list <rox-users at lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: pygettext.py 1.4\n"
-"X-Poedit-Language: German\n"
-"X-Poedit-Country: GERMANY\n"
-
-#: EditWindow.py:52
-msgid "Cut"
-msgstr "Ausschneiden"
-
-#: EditWindow.py:53
-msgid "Copy"
-msgstr "Kopieren"
-
-#: EditWindow.py:54
-msgid "Paste"
-msgstr "Einfügen"
-
-#: EditWindow.py:56 EditWindow.py:221
-msgid "Undo"
-msgstr "Zurück"
-
-#: EditWindow.py:57 EditWindow.py:220
-msgid "Redo"
-msgstr "Wiederholen"
-
-#: EditWindow.py:59
-msgid "Search..."
-msgstr "Suchen..."
-
-#: EditWindow.py:60
-msgid "Search and Replace...."
-msgstr "Suchen und Ersetzen..."
-
-#: EditWindow.py:62
-msgid "Goto line..."
-msgstr "Zu Zeile..."
-
-#: EditWindow.py:67
-msgid "Toggle Bookmark"
-msgstr "Lesezeichen an/aus"
-
-#: EditWindow.py:68
-msgid "Next Bookmark"
-msgstr "Nächstes Lesezeichen"
-
-#: EditWindow.py:69
-msgid "Previous Bookmark"
-msgstr "Voriges Lesezeichen"
-
-#: EditWindow.py:76
-msgid "File"
-msgstr "Datei"
-
-#: EditWindow.py:77 EditWindow.py:225
-msgid "Save"
-msgstr "Speichern"
-
-#: EditWindow.py:78
-msgid "Save As..."
-msgstr "Speichern Als..."
-
-#: EditWindow.py:79
-msgid "Open Parent"
-msgstr "Übergeordnetes Verzeichnis"
-
-#: EditWindow.py:80
-msgid "Show Changes"
-msgstr "Änderungen zeigen"
-
-#: EditWindow.py:81 EditWindow.py:216 tips:9
-msgid "Word Wrap"
-msgstr "Zeilenumbruch"
-
-#: EditWindow.py:82 EditWindow.py:227
-msgid "Close"
-msgstr "Schließen"
-
-#: EditWindow.py:84
-msgid "New"
-msgstr "Neu"
-
-#: EditWindow.py:86
-msgid "Edit"
-msgstr "Bearbeiten"
-
-#: EditWindow.py:88
-msgid "Options"
-msgstr "Optionen"
-
-#: EditWindow.py:89 EditWindow.py:207
-msgid "Help"
-msgstr "Hilfe"
-
-#: EditWindow.py:208
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-"Zeige Änderungen gegenüber Sicherheitskopie.\n"
-"Oder, Sicherungskopie auf diesen Knopf ziehen, um Änderungen zu sehen."
-
-#: EditWindow.py:222
-msgid "Replace"
-msgstr "Ersetzen"
-
-#: EditWindow.py:223
-msgid "Search"
-msgstr "Suchen"
-
-#: EditWindow.py:224
-msgid "Save As"
-msgstr "Speichern Als"
-
-#: EditWindow.py:226
-msgid "Up"
-msgstr "Rauf"
-
-#: EditWindow.py:279
-msgid "Line %s of %d"
-msgstr "Zeile %s von %d"
-
-#: EditWindow.py:286
-msgid "One character selected (%s)"
-msgstr "Ein Zeichen markiert (%s)"
-
-#: EditWindow.py:289
-msgid "%d characters selected"
-msgstr "%d Zeichen markiert"
-
-#: EditWindow.py:291
-msgid "%d lines selected"
-msgstr "%d Zeilen markiert"
-
-#: EditWindow.py:434
-msgid "Untitled"
-msgstr "Unbenannt"
-
-#: EditWindow.py:462
-msgid "Encoding:"
-msgstr "Kodierung:"
-
-#: EditWindow.py:468
-msgid "Ignore errors"
-msgstr "Fehler ignorieren"
-
-#: EditWindow.py:494
-msgid "Unknown encoding '%s'"
-msgstr "Unbekanntes Zeichenormat '%s'"
-
-#: EditWindow.py:518
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr ""
-"Daten entsprechen nicht %s. Bitte wählen Sie das Zeichenformat der Datei. "
-"Schalten Sie 'Fehler ignorieren ein', um Datei trotzdem zu öffnen."
-
-#: EditWindow.py:559
-msgid "File is not saved to disk yet"
-msgstr "Die Datei ist noch nicht gespeichert"
-
-#: EditWindow.py:564
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-"Diese Datei wurde noch nie gespeichert; Nichts da zum vergleichen!\n"
-"Übrigens: Sie können eine Datei auf den Knopf in der Werkzeugleiste ziehen, "
-"um Änderungen an dieser Datei zu sehen."
-
-#: EditWindow.py:761
-msgid "Minibuffer help"
-msgstr "Hilfe zur Befehlszeile"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr "Änderungen an %s"
-
-#: diff.py:129
-msgid "There is no difference between this version and the saved one."
-msgstr "Diese Version unterscheidet sich nicht von der Sicherheitskopie."
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "Zu Zeile:"
-
-#: goto.py:12
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr ""
-"Geben Sie die gewünschte Zeilennummer ein. Zeilennummern beginnen bei 1. "
-"Drücken Sie Esc, um abzubrechen oder Return, um zur Zeile zu springen."
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "Ungültige Zeilennummer: %s"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr "Beliebiges Zeichen"
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr "Beliebiger Kleinbuchstabe"
-
-#: search.py:8
-msgid "Any character listed (- must be first)"
-msgstr "Beliebiges genanntes Zeichen (- muss als erstes stehen)"
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr "A nur am Zeilenanfang"
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr "A nur am Zeilenende"
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr "Null oder mehr A"
-
-#: search.py:12
-msgid "One or more A"
-msgstr "Ein weiteres A"
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr "Null oder ein A"
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr "Zwischen m und n Treffer von A"
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr "Laxe Versionen von *, +, ? und {}"
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr "Literal \"*\", \"+\""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr "Trifft zu auf A oder B"
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr "A und B Zusammengroupieren (für *, \\1, etc.)"
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr "Der erste/zweite geklammerte Treffer (gehört in den Kasten \"Durch:\")"
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr "Wortgrenze (z.B. \\bWort\\b)"
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr "Nicht-Wort Grenze"
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr "Ziffer, Nicht-Ziffer"
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr "Leerraum, Nicht-Leerraum"
-
-#: search.py:24
-msgid "Others"
-msgstr "Andere"
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr ""
-"Für Weiteres, Schlagen Sie nach in der Pythondocumentation zu regulären "
-"Ausdrücken"
-
-#: search.py:26
-msgid "Examples:"
-msgstr "Beispiele:"
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr "\"Fred\" an beliebiger Stelle stehend"
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr "Eine Zeile die nur \"Fred\" enthält"
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr "\"Gogle, Google, Gooogle, etc\""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr "Colour oder Color"
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr "\"The\" or \"the\""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr "Python-Ausdrücke:"
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr "Der zutreffende Text"
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr "Der Zahlenwert von 'old'"
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr "Zutreffenden Text in Großbuchstaben wandeln"
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr "Alle zutreffenden Nummern verdoppeln"
-
-#: search.py:56
-msgid "Find Next"
-msgstr "Finde Nächstes"
-
-#: search.py:61
-msgid "Find Previous"
-msgstr "Finde Voriges"
-
-#: search.py:66
-msgid "Match case"
-msgstr "Groß-/Kleinschreibung beachten"
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-"Einen Suchtext eingeben. Die Anzeige scrollt zum nächsten Treffer währen sie "
-"tippen. Durch Pfeil Hoch und Runter gelangen sie zum nächsten oder vorigen "
-"Treffer. Beenden durch Esc oder Eingabetaste."
-
-#: search.py:85
-msgid " Find: "
-msgstr "Finde:"
-
-#: search.py:160
-msgid "Code"
-msgstr "Zeichen"
-
-#: search.py:162
-msgid "Meaning"
-msgstr "Bedeutet"
-
-#: search.py:213
-msgid "Replace:"
-msgstr "Ersetzen:"
-
-#: search.py:214
-msgid "With:"
-msgstr "Durch:"
-
-#: search.py:221
-msgid "Advanced search and replace"
-msgstr "Erweitertes Suchen und Ersetzen"
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr "Werte 'With' aus als Python-Ausdruck"
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr "Keine Suche spezifiziert..."
-
-#: search.py:297
-msgid "Search string not found"
-msgstr "Suchtext nicht gefunden"
-
-#: search.py:301
-msgid "One line changed"
-msgstr "Eine Zeile geändert"
-
-#: search.py:303
-msgid "%d lines changed"
-msgstr "%d Zeilen geändert"
-
-#: tips:1
-msgid "Display"
-msgstr "Darstellung"
-
-#: tips:2
-msgid "Fonts"
-msgstr "Zeichensätze"
-
-#: tips:3
-msgid "Text font"
-msgstr "Textzeichensatz"
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr "Zeichensatz für normalen Text."
-
-#: tips:6
-msgid "Colours"
-msgstr "Farben"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr "Vordergrundfarbe"
-
-#: tips:8
-msgid "Background colour"
-msgstr "Hintergrundfarbe"
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr "Lange Textzeilen umbrechen"
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr "Einstellen, ob Zeilen am Fensterrand umbrochen werden sollen."
-
-#: tips:13
-msgid "Toolbar"
-msgstr "Werkzeugleiste"
-
-#: tips:14
-msgid "Show toolbar"
-msgstr "Zeige Werkzeugleiste"
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr "Zeige eine Werkzeugleiste mit gebräuchlichen Schaltern am Fensterkopf."
-
-#: tips:18
-msgid "Spacing"
-msgstr "Abstände"
-
-#: tips:19
-msgid "Margins"
-msgstr "Ränder"
-
-#: tips:20
-msgid "pixels for left margin, and for the right:"
-msgstr "Pixel für linken Rand, und für den Rechten:"
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr "Pixel"
-
-#: tips:22
-msgid "Paragraphs"
-msgstr "Absätze"
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr "Abstand oberhalb von Absätzen"
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr "Abstand unterhalb von Absätzen"
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr "Zeilenabstand zwischen Absätzen"
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr "Neue Absätze einrücken"
-
-#: tips:31
-msgid "Editing"
-msgstr "Bearbeiten"
-
-#: tips:32
-msgid "Indentation"
-msgstr "Einrücken"
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr "Automatisches Einrücken"
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr ""
-"Drücken der  Umschalttaste rückt Text entsprechend der vorherigen Zeile ein."
-
-#: tips:35
-msgid "Show Print Margin"
-msgstr "Druckränder zeigen"
-
-#: tips:36
-msgid "Print Margin"
-msgstr "Druckränder"
-
-#: tips:37 tips:43
-msgid "characters"
-msgstr "Zeichen"
-
-#: tips:38
-msgid "Smart Home/End"
-msgstr "Intelligentes Pos 1 / Ende"
-
-#: tips:39
-msgid "Show Line Numbers"
-msgstr "Zeilennummern zeigen"
-
-#: tips:40
-msgid "Show Line Markers"
-msgstr "Zeilenmarkierungen zeigen"
-
-#: tips:41
-msgid "Use spaces instead of Tabs"
-msgstr "Tabulatoren durch Leerzeichen ersetzen"
-
-#: tips:42
-msgid "Tab width"
-msgstr "Tabulatorbreite"
-
-#: tips:44
-msgid "Changes"
-msgstr "Änderungen"
-
-#: tips:45
-msgid "Colours for Show Changes feature"
-msgstr "Farben für 'Änderungen zeigen'"
-
-#: tips:46 tips:50 tips:54 tips:58
-msgid "Foreground"
-msgstr "Vordergrund"
-
-#: tips:47 tips:51 tips:55 tips:59
-msgid "Background"
-msgstr "Hintergrund"
-
-#: tips:48 tips:49
-msgid "(headers)"
-msgstr "(Kopfzeilen)"
-
-#: tips:52 tips:53
-msgid "(no change)"
-msgstr "(keine Änderung)"
-
-#: tips:56 tips:57
-msgid "(additions)"
-msgstr "(hinzugefügt)"
-
-#: tips:60 tips:61 tips:62 tips:63 tips:64
-msgid "(deletions)"
-msgstr "(gelöscht)"
-
-#~ msgid "Forward search:"
-#~ msgstr "Vorwärtssuche:"
-
-#~ msgid "Backward search:"
-#~ msgstr "Rückwärtssuche:"
-
-#~ msgid "/File/"
-#~ msgstr "/Datei/"
-
-#~ msgid "/Edit/"
-#~ msgstr "/Bearbeiten/"
-
-#~ msgid "/Help"
-#~ msgstr "/Hilfe"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/dist b/source/rox-extra/edit/edit-2.0/Edit/Messages/dist
deleted file mode 100755
index a637e09..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/dist
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-echo Making all .mo files...
-echo
-
-for FILE in *.po; do
-	msgfmt $FILE -o ${FILE%.po}.gmo && echo Created file $OUT OK
-done
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/es.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/es.gmo
deleted file mode 100644
index dcd5f0a..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/es.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/es.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/es.po
deleted file mode 100644
index 0920186..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/es.po
+++ /dev/null
@@ -1,580 +0,0 @@
-# Spanish translation for Edit.
-# Copyright (C) 2003 Ensambl3
-# Nicolás de la Torre <ndelatorre at gmx.net>, 2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: Sat May 21 20:07:04 2005\n"
-"PO-Revision-Date: 2003-10-05 23:34-0300\n"
-"Last-Translator: Nicolás de la Torre <ndelatorre at gmx.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.4\n"
-
-#: EditWindow.py:52
-msgid "Cut"
-msgstr "Cortar"
-
-#: EditWindow.py:53
-msgid "Copy"
-msgstr "Copiar"
-
-#: EditWindow.py:54
-msgid "Paste"
-msgstr "Pegar"
-
-#: EditWindow.py:56 EditWindow.py:221
-msgid "Undo"
-msgstr "Deshacer"
-
-#: EditWindow.py:57 EditWindow.py:220
-msgid "Redo"
-msgstr "Rehacer"
-
-#: EditWindow.py:59
-msgid "Search..."
-msgstr "Buscar..."
-
-#: EditWindow.py:60
-msgid "Search and Replace...."
-msgstr "Buscar y Reemplazar..."
-
-#: EditWindow.py:62
-msgid "Goto line..."
-msgstr "Ir a linea..."
-
-#: EditWindow.py:67
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: EditWindow.py:68
-msgid "Next Bookmark"
-msgstr ""
-
-#: EditWindow.py:69
-msgid "Previous Bookmark"
-msgstr ""
-
-#: EditWindow.py:76
-#, fuzzy
-msgid "File"
-msgstr "/Archivo"
-
-#: EditWindow.py:77 EditWindow.py:225
-msgid "Save"
-msgstr "Salvar"
-
-#: EditWindow.py:78
-msgid "Save As..."
-msgstr ""
-
-#: EditWindow.py:79
-msgid "Open Parent"
-msgstr "Abrir Origen"
-
-#: EditWindow.py:80
-msgid "Show Changes"
-msgstr ""
-
-#: EditWindow.py:81 EditWindow.py:216 tips:9
-msgid "Word Wrap"
-msgstr ""
-
-#: EditWindow.py:82 EditWindow.py:227
-msgid "Close"
-msgstr "Cerrar"
-
-#: EditWindow.py:84
-msgid "New"
-msgstr "Nuevo"
-
-#: EditWindow.py:86
-#, fuzzy
-msgid "Edit"
-msgstr "/Editar"
-
-#: EditWindow.py:88
-#, fuzzy
-msgid "Options"
-msgstr "/Opciones"
-
-#: EditWindow.py:89 EditWindow.py:207
-msgid "Help"
-msgstr "Ayuda"
-
-#: EditWindow.py:208
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-
-#: EditWindow.py:222
-msgid "Replace"
-msgstr "Reemplazar"
-
-#: EditWindow.py:223
-msgid "Search"
-msgstr "Buscar"
-
-#: EditWindow.py:224
-#, fuzzy
-msgid "Save As"
-msgstr "Salvar"
-
-#: EditWindow.py:226
-msgid "Up"
-msgstr "Arriba"
-
-#: EditWindow.py:279
-msgid "Line %s of %d"
-msgstr ""
-
-#: EditWindow.py:286
-msgid "One character selected (%s)"
-msgstr ""
-
-#: EditWindow.py:289
-msgid "%d characters selected"
-msgstr ""
-
-#: EditWindow.py:291
-msgid "%d lines selected"
-msgstr ""
-
-#: EditWindow.py:434
-msgid "Untitled"
-msgstr ""
-
-#: EditWindow.py:462
-#, fuzzy
-msgid "Encoding:"
-msgstr "/Editar"
-
-#: EditWindow.py:468
-msgid "Ignore errors"
-msgstr ""
-
-#: EditWindow.py:494
-msgid "Unknown encoding '%s'"
-msgstr "Codificación desconocia '%s'"
-
-#: EditWindow.py:518
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr ""
-"Los datos %s no son validos. Por favor elija la codificación para el "
-"archivo. Seleccione 'ignorar errores' para probar y cargarlo de todas formas."
-
-#: EditWindow.py:559
-msgid "File is not saved to disk yet"
-msgstr "El archivo no se a salvado en el disco todavia"
-
-#: EditWindow.py:564
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-
-#: EditWindow.py:761
-msgid "Minibuffer help"
-msgstr "Ayuda Minibuffer"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr ""
-
-#: diff.py:129
-msgid "There is no difference between this version and the saved one."
-msgstr ""
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "Ir a linea:"
-
-#: goto.py:12
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr ""
-"Ingrese el número de linea para ir. Los números de lineas empiezan desde 1. "
-"Presione Escape para cancelar, o intro para saltar a la linea."
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "Número de linea invalida: %s"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr ""
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr ""
-
-#: search.py:8
-msgid "Any character listed (- must be first)"
-msgstr ""
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr ""
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr ""
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr ""
-
-#: search.py:12
-msgid "One or more A"
-msgstr ""
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr ""
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr ""
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr ""
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr ""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr ""
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr ""
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr ""
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr ""
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr ""
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr ""
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr ""
-
-#: search.py:24
-msgid "Others"
-msgstr ""
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr ""
-
-#: search.py:26
-msgid "Examples:"
-msgstr ""
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr ""
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr ""
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr ""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr ""
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr ""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr ""
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr ""
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr ""
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr ""
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr ""
-
-#: search.py:56
-msgid "Find Next"
-msgstr ""
-
-#: search.py:61
-msgid "Find Previous"
-msgstr ""
-
-#: search.py:66
-msgid "Match case"
-msgstr ""
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-
-#: search.py:85
-msgid " Find: "
-msgstr ""
-
-#: search.py:160
-#, fuzzy
-msgid "Code"
-msgstr "Cerrar"
-
-#: search.py:162
-msgid "Meaning"
-msgstr ""
-
-#: search.py:213
-#, fuzzy
-msgid "Replace:"
-msgstr "Reemplazar"
-
-#: search.py:214
-msgid "With:"
-msgstr ""
-
-#: search.py:221
-#, fuzzy
-msgid "Advanced search and replace"
-msgstr "Buscar y Reemplazar..."
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr ""
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr ""
-
-#: search.py:297
-msgid "Search string not found"
-msgstr ""
-
-#: search.py:301
-msgid "One line changed"
-msgstr ""
-
-#: search.py:303
-msgid "%d lines changed"
-msgstr ""
-
-#: tips:1
-msgid "Display"
-msgstr ""
-
-#: tips:2
-msgid "Fonts"
-msgstr ""
-
-#: tips:3
-msgid "Text font"
-msgstr ""
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr ""
-
-#: tips:6
-#, fuzzy
-msgid "Colours"
-msgstr "Cerrar"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr ""
-
-#: tips:8
-msgid "Background colour"
-msgstr ""
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr ""
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr ""
-
-#: tips:13
-msgid "Toolbar"
-msgstr ""
-
-#: tips:14
-msgid "Show toolbar"
-msgstr ""
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr ""
-
-#: tips:18
-msgid "Spacing"
-msgstr ""
-
-#: tips:19
-msgid "Margins"
-msgstr ""
-
-#: tips:20
-msgid "pixels for left margin, and for the right:"
-msgstr ""
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr ""
-
-#: tips:22
-msgid "Paragraphs"
-msgstr ""
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr ""
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr ""
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr ""
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr ""
-
-#: tips:31
-#, fuzzy
-msgid "Editing"
-msgstr "/Editar"
-
-#: tips:32
-msgid "Indentation"
-msgstr ""
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr ""
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr ""
-
-#: tips:35
-msgid "Show Print Margin"
-msgstr ""
-
-#: tips:36
-msgid "Print Margin"
-msgstr ""
-
-#: tips:37 tips:43
-msgid "characters"
-msgstr ""
-
-#: tips:38
-msgid "Smart Home/End"
-msgstr ""
-
-#: tips:39
-msgid "Show Line Numbers"
-msgstr ""
-
-#: tips:40
-msgid "Show Line Markers"
-msgstr ""
-
-#: tips:41
-msgid "Use spaces instead of Tabs"
-msgstr ""
-
-#: tips:42
-msgid "Tab width"
-msgstr ""
-
-#: tips:44
-msgid "Changes"
-msgstr ""
-
-#: tips:45
-msgid "Colours for Show Changes feature"
-msgstr ""
-
-#: tips:46 tips:50 tips:54 tips:58
-msgid "Foreground"
-msgstr ""
-
-#: tips:47 tips:51 tips:55 tips:59
-msgid "Background"
-msgstr ""
-
-#: tips:48 tips:49
-msgid "(headers)"
-msgstr ""
-
-#: tips:52 tips:53
-msgid "(no change)"
-msgstr ""
-
-#: tips:56 tips:57
-msgid "(additions)"
-msgstr ""
-
-#: tips:60 tips:61 tips:62 tips:63 tips:64
-msgid "(deletions)"
-msgstr ""
-
-#~ msgid "/File/"
-#~ msgstr "/Archivo/"
-
-#~ msgid "/Edit/"
-#~ msgstr "/Editar/"
-
-#~ msgid "/Help"
-#~ msgstr "/Ayuda"
-
-#~ msgid "Edit requires ROX-Lib2 1.9.8 or later"
-#~ msgstr "Edit requiere ROX-Lib2 1.9.8 o posterior"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.gmo
deleted file mode 100644
index b034d04..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.po
deleted file mode 100644
index 2f80418..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/fr.po
+++ /dev/null
@@ -1,601 +0,0 @@
-# French translation for Edit.
-# Copyright (C) 2004 Arnaud CALVO
-# Arnaud CALVO <arnaud+traducedit@(drop-this)calvo-france.com>, 2004.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: Sat May 21 20:07:04 2005\n"
-"PO-Revision-Date: 2004-01-28 12:00+0100\n"
-"Last-Translator: Arnaud CALVO <arnaud+traducedit@(drop-this)calvo-france."
-"com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.5\n"
-
-#: EditWindow.py:52
-msgid "Cut"
-msgstr "Couper"
-
-#: EditWindow.py:53
-msgid "Copy"
-msgstr "Copier"
-
-#: EditWindow.py:54
-msgid "Paste"
-msgstr "Coller"
-
-#: EditWindow.py:56 EditWindow.py:221
-msgid "Undo"
-msgstr "Annuler"
-
-#: EditWindow.py:57 EditWindow.py:220
-msgid "Redo"
-msgstr "Rétablir"
-
-#: EditWindow.py:59
-msgid "Search..."
-msgstr "Chercher..."
-
-#: EditWindow.py:60
-msgid "Search and Replace...."
-msgstr "Chercher et remplacer..."
-
-#: EditWindow.py:62
-msgid "Goto line..."
-msgstr "Aller à la ligne..."
-
-#: EditWindow.py:67
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: EditWindow.py:68
-msgid "Next Bookmark"
-msgstr ""
-
-#: EditWindow.py:69
-msgid "Previous Bookmark"
-msgstr ""
-
-#: EditWindow.py:76
-#, fuzzy
-msgid "File"
-msgstr "/Fichier"
-
-#: EditWindow.py:77 EditWindow.py:225
-msgid "Save"
-msgstr "Enregistrer"
-
-#: EditWindow.py:78
-msgid "Save As..."
-msgstr ""
-
-#: EditWindow.py:79
-msgid "Open Parent"
-msgstr "Ouvrir le dossier père"
-
-#: EditWindow.py:80
-msgid "Show Changes"
-msgstr "Afficher les différences"
-
-#: EditWindow.py:81 EditWindow.py:216 tips:9
-msgid "Word Wrap"
-msgstr ""
-
-#: EditWindow.py:82 EditWindow.py:227
-msgid "Close"
-msgstr "Quitter"
-
-#: EditWindow.py:84
-msgid "New"
-msgstr "Nouveau"
-
-#: EditWindow.py:86
-#, fuzzy
-msgid "Edit"
-msgstr "/Édition"
-
-#: EditWindow.py:88
-#, fuzzy
-msgid "Options"
-msgstr "/Options"
-
-#: EditWindow.py:89 EditWindow.py:207
-msgid "Help"
-msgstr "Aide"
-
-#: EditWindow.py:208
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-"Afficher les différences par rapport au dernier enregistrement (vous\n"
-"pouvez faire glisser ici une ancienne version de ce fichier pour afficher\n"
-"les différences."
-
-#: EditWindow.py:222
-msgid "Replace"
-msgstr "Remplacer"
-
-#: EditWindow.py:223
-msgid "Search"
-msgstr "Chercher"
-
-#: EditWindow.py:224
-#, fuzzy
-msgid "Save As"
-msgstr "Enregistrer"
-
-#: EditWindow.py:226
-msgid "Up"
-msgstr "Ouvrir le dossier père"
-
-#: EditWindow.py:279
-msgid "Line %s of %d"
-msgstr "Ligne %s sur %d"
-
-#: EditWindow.py:286
-msgid "One character selected (%s)"
-msgstr "Un caractère sélectionné (%s)"
-
-#: EditWindow.py:289
-msgid "%d characters selected"
-msgstr "%d caractères sélectionnés"
-
-#: EditWindow.py:291
-msgid "%d lines selected"
-msgstr "%d lignes sélectionnées"
-
-#: EditWindow.py:434
-msgid "Untitled"
-msgstr ""
-
-#: EditWindow.py:462
-#, fuzzy
-msgid "Encoding:"
-msgstr "Édition"
-
-#: EditWindow.py:468
-msgid "Ignore errors"
-msgstr ""
-
-#: EditWindow.py:494
-msgid "Unknown encoding '%s'"
-msgstr "Encodage de caractères '%s' inconnu"
-
-#: EditWindow.py:518
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr ""
-"Ce fichier contient du texte non %s.\n"
-"Choisissez un encodage pour ce fichier.\n"
-"Cochez 'Ignorer les erreurs' pour essayer de l'ouvrir quand même."
-
-#: EditWindow.py:559
-msgid "File is not saved to disk yet"
-msgstr "Le fichier n'a pas encore été enregistré"
-
-#: EditWindow.py:564
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-"Ce fichier n'a encore pas été enregistré ; rien à comparer !\n"
-"Note : vous pouvez glisser un fichier sur le bouton de la barre d'outils\n"
-"pour afficher les différences."
-
-#: EditWindow.py:761
-msgid "Minibuffer help"
-msgstr "Aide du Minibuffer"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr "Différences sur %s"
-
-#: diff.py:129
-msgid "There is no difference between this version and the saved one."
-msgstr ""
-"Il n'y a aucune différence entre cette version et la dernière enregistrée."
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "Aller à la ligne :"
-
-#: goto.py:12
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr ""
-"Entrez le numéro de la ligne sur laquelle vous voulez aller.Appuyez sur "
-"Échap pour annuler, ou Entrée pour vous déplacer sur la ligne indiquée."
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "Numéro de ligne invalide (%s)"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr ""
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr ""
-
-#: search.py:8
-#, fuzzy
-msgid "Any character listed (- must be first)"
-msgstr "Un caractère sélectionné (%s)"
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr ""
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr ""
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr ""
-
-#: search.py:12
-msgid "One or more A"
-msgstr ""
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr ""
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr ""
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr ""
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr ""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr ""
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr ""
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr ""
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr ""
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr ""
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr ""
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr ""
-
-#: search.py:24
-msgid "Others"
-msgstr ""
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr ""
-
-#: search.py:26
-msgid "Examples:"
-msgstr ""
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr ""
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr ""
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr ""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr ""
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr ""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr ""
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr ""
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr ""
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr ""
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr ""
-
-#: search.py:56
-msgid "Find Next"
-msgstr ""
-
-#: search.py:61
-msgid "Find Previous"
-msgstr ""
-
-#: search.py:66
-msgid "Match case"
-msgstr ""
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-
-#: search.py:85
-msgid " Find: "
-msgstr ""
-
-#: search.py:160
-#, fuzzy
-msgid "Code"
-msgstr "Quitter"
-
-#: search.py:162
-msgid "Meaning"
-msgstr ""
-
-#: search.py:213
-#, fuzzy
-msgid "Replace:"
-msgstr "Remplacer"
-
-#: search.py:214
-msgid "With:"
-msgstr ""
-
-#: search.py:221
-#, fuzzy
-msgid "Advanced search and replace"
-msgstr "Chercher et remplacer..."
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr ""
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr ""
-
-#: search.py:297
-msgid "Search string not found"
-msgstr ""
-
-#: search.py:301
-msgid "One line changed"
-msgstr ""
-
-#: search.py:303
-#, fuzzy
-msgid "%d lines changed"
-msgstr "%d lignes sélectionnées"
-
-#: tips:1
-msgid "Display"
-msgstr "Affichage"
-
-#: tips:2
-msgid "Fonts"
-msgstr "Polices"
-
-#: tips:3
-msgid "Text font"
-msgstr "Texte"
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr "Police utilisée pour le texte normal"
-
-#: tips:6
-msgid "Colours"
-msgstr "Couleurs"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr "Texte"
-
-#: tips:8
-msgid "Background colour"
-msgstr "Fond"
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr ""
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr ""
-
-#: tips:13
-msgid "Toolbar"
-msgstr ""
-
-#: tips:14
-msgid "Show toolbar"
-msgstr ""
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr ""
-
-#: tips:18
-msgid "Spacing"
-msgstr "Espacement"
-
-#: tips:19
-msgid "Margins"
-msgstr "Marges"
-
-#: tips:20
-#, fuzzy
-msgid "pixels for left margin, and for the right:"
-msgstr "à gauche, et à droite :"
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr "pixels"
-
-#: tips:22
-msgid "Paragraphs"
-msgstr "Paragraphes"
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr "Espace au-dessus des paragraphes"
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr "Espace sous les paragraphes"
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr "Interlignage intra paragraphes"
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr "Retrait des nouveaux paragraphes"
-
-#: tips:31
-msgid "Editing"
-msgstr "Édition"
-
-#: tips:32
-msgid "Indentation"
-msgstr "Mises en retrait"
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr "Retraits automatiques"
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr ""
-"Quand vous pressez la touche Entrée, la nouvelle ligne commence avec le même "
-"retrait que la précédente"
-
-#: tips:35
-msgid "Show Print Margin"
-msgstr ""
-
-#: tips:36
-#, fuzzy
-msgid "Print Margin"
-msgstr "Marges"
-
-#: tips:37 tips:43
-#, fuzzy
-msgid "characters"
-msgstr "%d caractères sélectionnés"
-
-#: tips:38
-msgid "Smart Home/End"
-msgstr ""
-
-#: tips:39
-msgid "Show Line Numbers"
-msgstr ""
-
-#: tips:40
-msgid "Show Line Markers"
-msgstr ""
-
-#: tips:41
-msgid "Use spaces instead of Tabs"
-msgstr ""
-
-#: tips:42
-msgid "Tab width"
-msgstr ""
-
-#: tips:44
-msgid "Changes"
-msgstr "Différences"
-
-#: tips:45
-msgid "Colours for Show Changes feature"
-msgstr "Couleurs pour la fonction 'Afficher les différences'"
-
-#: tips:46 tips:50 tips:54 tips:58
-msgid "Foreground"
-msgstr "Texte"
-
-#: tips:47 tips:51 tips:55 tips:59
-msgid "Background"
-msgstr "Fond"
-
-#: tips:48 tips:49
-#, fuzzy
-msgid "(headers)"
-msgstr "En-têtes :"
-
-#: tips:52 tips:53
-#, fuzzy
-msgid "(no change)"
-msgstr "Afficher les différences"
-
-#: tips:56 tips:57
-#, fuzzy
-msgid "(additions)"
-msgstr "Ajouts :"
-
-#: tips:60 tips:61 tips:62 tips:63 tips:64
-#, fuzzy
-msgid "(deletions)"
-msgstr "Suppressions :"
-
-#~ msgid "/File/"
-#~ msgstr "/Fichier/"
-
-#~ msgid "/Edit/"
-#~ msgstr "/Édition/"
-
-#~ msgid "/Help"
-#~ msgstr "/Aide"
-
-#~ msgid "Edit requires ROX-Lib2 1.9.8 or later"
-#~ msgstr "Edit a besoin de ROX-Lib2 version 1.9.8 ou postérieure"
-
-#~ msgid "Normal:"
-#~ msgstr "Normal :"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/it.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/it.gmo
deleted file mode 100644
index bb586a6..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/it.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/it.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/it.po
deleted file mode 100644
index ef17221..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/it.po
+++ /dev/null
@@ -1,618 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: Sat May 21 20:07:04 2005\n"
-"PO-Revision-Date: 2003-10-03 18:55+1\n"
-"Last-Translator: Roberto Inzerillo <robicd at gmx.net>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.4\n"
-
-#: EditWindow.py:52
-msgid "Cut"
-msgstr ""
-
-#: EditWindow.py:53
-msgid "Copy"
-msgstr ""
-
-#: EditWindow.py:54
-#, fuzzy
-msgid "Paste"
-msgstr "/Modifica/Incolla"
-
-#: EditWindow.py:56 EditWindow.py:221
-msgid "Undo"
-msgstr "Annulla"
-
-#: EditWindow.py:57 EditWindow.py:220
-msgid "Redo"
-msgstr "Ripeti"
-
-#: EditWindow.py:59
-#, fuzzy
-msgid "Search..."
-msgstr "Cerca"
-
-#: EditWindow.py:60
-#, fuzzy
-msgid "Search and Replace...."
-msgstr "/Modifica/Cerca e Sotituisci"
-
-#: EditWindow.py:62
-#, fuzzy
-msgid "Goto line..."
-msgstr "Vai alla riga:"
-
-#: EditWindow.py:67
-msgid "Toggle Bookmark"
-msgstr ""
-
-#: EditWindow.py:68
-msgid "Next Bookmark"
-msgstr ""
-
-#: EditWindow.py:69
-msgid "Previous Bookmark"
-msgstr ""
-
-#: EditWindow.py:76
-#, fuzzy
-msgid "File"
-msgstr "/File"
-
-#: EditWindow.py:77 EditWindow.py:225
-msgid "Save"
-msgstr "Salva"
-
-#: EditWindow.py:78
-msgid "Save As..."
-msgstr ""
-
-#: EditWindow.py:79
-#, fuzzy
-msgid "Open Parent"
-msgstr "/File/Apri Directory"
-
-#: EditWindow.py:80
-msgid "Show Changes"
-msgstr ""
-
-#: EditWindow.py:81 EditWindow.py:216 tips:9
-msgid "Word Wrap"
-msgstr ""
-
-#: EditWindow.py:82 EditWindow.py:227
-msgid "Close"
-msgstr "Chiudi"
-
-#: EditWindow.py:84
-msgid "New"
-msgstr ""
-
-#: EditWindow.py:86
-#, fuzzy
-msgid "Edit"
-msgstr "/Modifica"
-
-#: EditWindow.py:88
-#, fuzzy
-msgid "Options"
-msgstr "/Opzioni"
-
-#: EditWindow.py:89 EditWindow.py:207
-msgid "Help"
-msgstr "Aiuto"
-
-#: EditWindow.py:208
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-
-#: EditWindow.py:222
-msgid "Replace"
-msgstr "Sostituisci"
-
-#: EditWindow.py:223
-msgid "Search"
-msgstr "Cerca"
-
-#: EditWindow.py:224
-#, fuzzy
-msgid "Save As"
-msgstr "Salva"
-
-#: EditWindow.py:226
-msgid "Up"
-msgstr "Apri directory"
-
-#: EditWindow.py:279
-msgid "Line %s of %d"
-msgstr ""
-
-#: EditWindow.py:286
-msgid "One character selected (%s)"
-msgstr ""
-
-#: EditWindow.py:289
-msgid "%d characters selected"
-msgstr ""
-
-#: EditWindow.py:291
-msgid "%d lines selected"
-msgstr ""
-
-#: EditWindow.py:434
-msgid "Untitled"
-msgstr ""
-
-#: EditWindow.py:462
-#, fuzzy
-msgid "Encoding:"
-msgstr "/Modifica"
-
-#: EditWindow.py:468
-msgid "Ignore errors"
-msgstr ""
-
-#: EditWindow.py:494
-#, fuzzy
-msgid "Unknown encoding '%s'"
-msgstr "Codifica % sconosciuta"
-
-#: EditWindow.py:518
-#, fuzzy
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr "I dati non sono %s validi. Scegliere la codifica del file."
-
-#: EditWindow.py:559
-msgid "File is not saved to disk yet"
-msgstr "Il file non è ancora stato salvato sul disco"
-
-#: EditWindow.py:564
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-
-#: EditWindow.py:761
-msgid "Minibuffer help"
-msgstr "Aiuto del Minibuffer"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr ""
-
-#: diff.py:129
-msgid "There is no difference between this version and the saved one."
-msgstr ""
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "Vai alla riga:"
-
-#: goto.py:12
-#, fuzzy
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr ""
-"Scrivi il numero della riga alla quale andare. Le righe iniziano dalla "
-"numero 1.\n"
-"Premi ESC per annullare, oppure INVIO per andare alla riga scelta."
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "Numero di riga non valido: %"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr ""
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr ""
-
-#: search.py:8
-msgid "Any character listed (- must be first)"
-msgstr ""
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr ""
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr ""
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr ""
-
-#: search.py:12
-msgid "One or more A"
-msgstr ""
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr ""
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr ""
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr ""
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr ""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr ""
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr ""
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr ""
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr ""
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr ""
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr ""
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr ""
-
-#: search.py:24
-msgid "Others"
-msgstr ""
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr ""
-
-#: search.py:26
-msgid "Examples:"
-msgstr ""
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr ""
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr ""
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr ""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr ""
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr ""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr ""
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr ""
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr ""
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr ""
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr ""
-
-#: search.py:56
-msgid "Find Next"
-msgstr ""
-
-#: search.py:61
-msgid "Find Previous"
-msgstr ""
-
-#: search.py:66
-msgid "Match case"
-msgstr ""
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-
-#: search.py:85
-msgid " Find: "
-msgstr ""
-
-#: search.py:160
-#, fuzzy
-msgid "Code"
-msgstr "Chiudi"
-
-#: search.py:162
-msgid "Meaning"
-msgstr ""
-
-#: search.py:213
-#, fuzzy
-msgid "Replace:"
-msgstr "Sostituisci"
-
-#: search.py:214
-msgid "With:"
-msgstr ""
-
-#: search.py:221
-#, fuzzy
-msgid "Advanced search and replace"
-msgstr "/Modifica/Cerca e Sotituisci"
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr ""
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr ""
-
-#: search.py:297
-msgid "Search string not found"
-msgstr ""
-
-#: search.py:301
-msgid "One line changed"
-msgstr ""
-
-#: search.py:303
-msgid "%d lines changed"
-msgstr ""
-
-#: tips:1
-msgid "Display"
-msgstr ""
-
-#: tips:2
-msgid "Fonts"
-msgstr ""
-
-#: tips:3
-msgid "Text font"
-msgstr ""
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr ""
-
-#: tips:6
-#, fuzzy
-msgid "Colours"
-msgstr "Chiudi"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr ""
-
-#: tips:8
-msgid "Background colour"
-msgstr ""
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr ""
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr ""
-
-#: tips:13
-msgid "Toolbar"
-msgstr ""
-
-#: tips:14
-msgid "Show toolbar"
-msgstr ""
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr ""
-
-#: tips:18
-msgid "Spacing"
-msgstr ""
-
-#: tips:19
-msgid "Margins"
-msgstr ""
-
-#: tips:20
-msgid "pixels for left margin, and for the right:"
-msgstr ""
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr ""
-
-#: tips:22
-msgid "Paragraphs"
-msgstr ""
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr ""
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr ""
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr ""
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr ""
-
-#: tips:31
-#, fuzzy
-msgid "Editing"
-msgstr "/Modifica"
-
-#: tips:32
-msgid "Indentation"
-msgstr ""
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr ""
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr ""
-
-#: tips:35
-msgid "Show Print Margin"
-msgstr ""
-
-#: tips:36
-msgid "Print Margin"
-msgstr ""
-
-#: tips:37 tips:43
-msgid "characters"
-msgstr ""
-
-#: tips:38
-msgid "Smart Home/End"
-msgstr ""
-
-#: tips:39
-msgid "Show Line Numbers"
-msgstr ""
-
-#: tips:40
-msgid "Show Line Markers"
-msgstr ""
-
-#: tips:41
-msgid "Use spaces instead of Tabs"
-msgstr ""
-
-#: tips:42
-msgid "Tab width"
-msgstr ""
-
-#: tips:44
-msgid "Changes"
-msgstr ""
-
-#: tips:45
-msgid "Colours for Show Changes feature"
-msgstr ""
-
-#: tips:46 tips:50 tips:54 tips:58
-msgid "Foreground"
-msgstr ""
-
-#: tips:47 tips:51 tips:55 tips:59
-msgid "Background"
-msgstr ""
-
-#: tips:48 tips:49
-msgid "(headers)"
-msgstr ""
-
-#: tips:52 tips:53
-msgid "(no change)"
-msgstr ""
-
-#: tips:56 tips:57
-msgid "(additions)"
-msgstr ""
-
-#: tips:60 tips:61 tips:62 tips:63 tips:64
-msgid "(deletions)"
-msgstr ""
-
-#~ msgid "/File/"
-#~ msgstr "/File/"
-
-#~ msgid "/Edit/"
-#~ msgstr "/Modifica/"
-
-#~ msgid "/Help"
-#~ msgstr "/Aiuto"
-
-#~ msgid "Edit requires ROX-Lib2 1.9.8 or later"
-#~ msgstr "Edit necessita di ROX-Lib2 1.9.8 o più recente"
-
-#~ msgid "/File/Save"
-#~ msgstr "/File/Salva"
-
-#~ msgid "/File/Close"
-#~ msgstr "/File/Chiudi"
-
-#~ msgid "/File/New"
-#~ msgstr "/File/Nuovo"
-
-#~ msgid "/Edit/Cut"
-#~ msgstr "/Modifica/Taglia"
-
-#~ msgid "/Edit/Copy"
-#~ msgstr "/Modifica/Copia"
-
-#~ msgid "/Edit/Undo"
-#~ msgstr "/Modifica/Annulla"
-
-#~ msgid "/Edit/Redo"
-#~ msgstr "/Modifica/Ripeti"
-
-#~ msgid "/Edit/Search..."
-#~ msgstr "/Modifica/Cerca..."
-
-#~ msgid "/Edit/Goto line..."
-#~ msgstr "/Modifica/Vai alla riga..."
-
-#~ msgid "Turn on 'ignore errors' to try and load it anyway."
-#~ msgstr "Attiva 'ignora errori' per per provare a caricarlo comunque"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/tips.py b/source/rox-extra/edit/edit-2.0/Edit/Messages/tips.py
deleted file mode 100644
index 19e9592..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/tips.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Grab the tips from Options.xml
-
-from xmllib import *
-import string, os
-
-print "Extracting translatable bits from Options.xml..."
-
-class Parser(XMLParser):
-	data = ""
-
-	def unknown_starttag(self, tag, attrs):
-		for x in ['title', 'label', 'end', 'unit']:
-			if attrs.has_key(x):
-				self.trans(attrs[x])
-		self.data = ""
-
-	def handle_data(self, data):
-		self.data = self.data + data
-
-	def unknown_endtag(self, tag):
-		data = string.strip(self.data)
-		if data:
-			self.trans(data)
-
-	def trans(self, data):
-		data = string.join(string.split(data, '\n'), '\\n')
-		if data:
-			out.write('_("%s")\n' % data)
-
-try:
-	os.chdir("po")
-except OSError:
-	pass
-
-file = open('../Options.xml', 'rb')
-out = open('../tips', 'wb')
-parser = Parser()
-parser.feed(file.read())
-file.close()
-parser.close()
-out.close()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/update-po b/source/rox-extra/edit/edit-2.0/Edit/Messages/update-po
deleted file mode 100755
index dba7ff2..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/update-po
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-echo Extracting messages from source files...
-echo
-
-python ./tips.py
-(cd ..; pygettext *.py tips)
-
-echo
-echo Updating all .po files...
-echo
-
-for FILE in *.po; do
-	echo -n "Updating '$FILE' translation"
-	mv $FILE $FILE.old
-	msgmerge $FILE.old ../messages.pot > $FILE
-done
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.gmo
deleted file mode 100644
index bab9d21..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.po
deleted file mode 100644
index 2bbf17f..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_CN.po
+++ /dev/null
@@ -1,601 +0,0 @@
-# Rox Edit Chinese Tranalation.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2005-07-10 21:57+HKT\n"
-"PO-Revision-Date: 2005-07-10 18:55+1\n"
-"Last-Translator: Babyfai Cheung <babyfai1 at yahoo.com.hk>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.4\n"
-
-#: EditWindow.py:81
-msgid "Cut"
-msgstr "剪下"
-
-#: EditWindow.py:82
-msgid "Copy"
-msgstr "复制"
-
-#: EditWindow.py:83
-msgid "Paste"
-msgstr "贴上"
-
-#: EditWindow.py:85 EditWindow.py:259
-msgid "Undo"
-msgstr "还原"
-
-#: EditWindow.py:86 EditWindow.py:258
-msgid "Redo"
-msgstr "重做"
-
-#: EditWindow.py:88
-msgid "Search..."
-msgstr "搜寻..."
-
-#: EditWindow.py:89
-msgid "Search and Replace...."
-msgstr "搜寻及取代..."
-
-#: EditWindow.py:91
-msgid "Goto line..."
-msgstr "跳至行数..."
-
-#: EditWindow.py:96
-msgid "Toggle Bookmark"
-msgstr "标记此行"
-
-#: EditWindow.py:97
-msgid "Next Bookmark"
-msgstr "下个标记"
-
-#: EditWindow.py:98
-msgid "Previous Bookmark"
-msgstr "上个标记"
-
-#: EditWindow.py:105
-msgid "File"
-msgstr "文件"
-
-#: EditWindow.py:106 EditWindow.py:263
-msgid "Save"
-msgstr "储存"
-
-#: EditWindow.py:107
-msgid "Save As..."
-msgstr "另存为..."
-
-#: EditWindow.py:108
-msgid "Open Parent"
-msgstr "往上目录"
-
-#: EditWindow.py:109
-msgid "Show Changes"
-msgstr "显示改变"
-
-#: EditWindow.py:110 EditWindow.py:255 tips:9
-msgid "Word Wrap"
-msgstr "自动换行"
-
-#: EditWindow.py:111 EditWindow.py:265
-msgid "Close"
-msgstr "关闭"
-
-#: EditWindow.py:113
-msgid "New"
-msgstr "新增"
-
-#: EditWindow.py:115
-msgid "Edit"
-msgstr "编辑"
-
-#: EditWindow.py:117
-msgid "Options"
-msgstr "选项"
-
-#: EditWindow.py:118 EditWindow.py:238
-msgid "Help"
-msgstr "帮助"
-
-#: EditWindow.py:239
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-"显示已作及储存的改变.\n"
-"或将备份文件,拖放到这按钮上以检视改变。"
-
-#: EditWindow.py:249
-msgid "Check Spelling"
-msgstr "检查字串拼写"
-
-#: EditWindow.py:260
-msgid "Replace"
-msgstr "取代"
-
-#: EditWindow.py:261
-msgid "Search"
-msgstr "搜寻"
-
-#: EditWindow.py:262
-msgid "Save As"
-msgstr "另存为"
-
-#: EditWindow.py:264
-msgid "Up"
-msgstr "往上"
-
-#: EditWindow.py:323
-msgid "Line %s of %d"
-msgstr "行 %s 总数 %d"
-
-#: EditWindow.py:330
-msgid "One character selected (%s)"
-msgstr "选择了一个字符 (%s)"
-
-#: EditWindow.py:333
-msgid "%d characters selected"
-msgstr "%d 个字符已选择"
-
-#: EditWindow.py:335
-msgid "%d lines selected"
-msgstr "%d 行数已选择"
-
-#: EditWindow.py:502
-msgid "Untitled"
-msgstr "未命名"
-
-#: EditWindow.py:530
-msgid "Encoding:"
-msgstr "编码:"
-
-#: EditWindow.py:536
-msgid "Ignore errors"
-msgstr "忽略错误"
-
-#: EditWindow.py:562
-msgid "Unknown encoding '%s'"
-msgstr "不明编码 '%s'"
-
-#: EditWindow.py:586
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr "资料不是 %s. 请选择正确的编码,启用 '忽略错误'  以尝试打开。"
-
-#: EditWindow.py:627
-msgid "File is not saved to disk yet"
-msgstr "文件尚未储存"
-
-#: EditWindow.py:648
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-"这文件还未储存;因此没法进行比较!\n"
-"注意:您可拖放文件到工具栏的按钮上,来查看已更改的资料。"
-
-#: EditWindow.py:697
-msgid "TextFile"
-msgstr "文字文件"
-
-#: EditWindow.py:845
-msgid "Minibuffer help"
-msgstr "小型帮助框"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr "%s 的改变"
-
-#: diff.py:128
-msgid "There is no difference between this version and the saved one."
-msgstr "没有不相同的地方。"
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "跳至行数:"
-
-#: goto.py:12
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr "键入行数数字,行数起始为 1。按 Escape 以取消,或按 Enter 以跳至该行。"
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "错误的行数:%s"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr "对应任何字符"
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr "任何小阶字母"
-
-#: search.py:8
-msgid "Any character listed (- must be first)"
-msgstr "任一列出字符 (- 必须前排)"
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr "A 在行的最前"
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr "A 在行的最后"
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr "零或更多 A"
-
-#: search.py:12
-msgid "One or more A"
-msgstr "一或更多 A"
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr "零或一个 A"
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr "对应 m 与 n 之间的 A"
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr "包含  *, +, ? 及 {} 的版本"
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr "正常字符  \"*\", \"+\""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr "能对应 A 或 B"
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr "A 和 B 一同匹配 (用於 *, \\1, 等等)"
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr "匹配括弧内第一/或第二个字符 (须用於: 盒型括弧内)"
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr "匹配含边沿的整字  (eg, \\bWord\\b)"
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr "匹配整字内不在边沿的字符"
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr "数字,非数字"
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr "空白,非空白"
-
-#: search.py:24
-msgid "Others"
-msgstr "å…¶ä»–"
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr "详情请参阅 Python 正则表达法文本"
-
-#: search.py:26
-msgid "Examples:"
-msgstr "举例:"
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr "任何对应  \"Fred\" "
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr "一行内只包含 \"Fred\""
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr "\"Gogle, Google, Gooogle, 等等\""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr "Colour 或 Color"
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr "\"The\" 或  \"the\""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr "Python 正则表达法:"
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr "匹配的文字"
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr "'old' 的数值"
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr "将匹配的文字转为大阶字母"
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr "将匹配的数值加倍"
-
-#: search.py:56
-msgid "Find Next"
-msgstr "找寻下一个"
-
-#: search.py:61
-msgid "Find Previous"
-msgstr "找寻上一个"
-
-#: search.py:66
-msgid "Match case"
-msgstr "匹配大小阶"
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-"键入要寻找的字串,匹配的将会以卷动型式显示,用往上或往下的箭咀键来浏览结果,"
-"按Escape 或 Return 结束。"
-
-#: search.py:85
-msgid " Find: "
-msgstr "找寻:"
-
-#: search.py:160
-msgid "Code"
-msgstr "代码"
-
-#: search.py:162
-msgid "Meaning"
-msgstr "注释"
-
-#: search.py:213
-msgid "Replace:"
-msgstr "取代:"
-
-#: search.py:214
-msgid "With:"
-msgstr "换为:"
-
-#: search.py:221
-msgid "Advanced search and replace"
-msgstr "进阶搜寻及取代"
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr "以 Python 正则表达法鉴定"
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr "请先指明需要搜寻的目标..."
-
-#: search.py:297
-msgid "Search string not found"
-msgstr "找不到要搜寻的字串"
-
-#: search.py:301
-msgid "One line changed"
-msgstr "一行已改变"
-
-#: search.py:303
-msgid "%d lines changed"
-msgstr "%d 行数已改变"
-
-#: tips:1
-msgid "Display"
-msgstr "显示"
-
-#: tips:2
-msgid "Fonts"
-msgstr "å­—åž‹"
-
-#: tips:3
-msgid "Text font"
-msgstr "内文字型"
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr "一般内文的字型"
-
-#: tips:6
-msgid "Colours"
-msgstr "颜色"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr "文字颜色"
-
-#: tips:8
-msgid "Background colour"
-msgstr "背景颜色"
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr "对过长文字的行换行"
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr "当内文的字行比窗口要长时,会换到下一行来显示."
-
-#: tips:13
-msgid "Toolbar"
-msgstr "工具栏"
-
-#: tips:14
-msgid "Show toolbar"
-msgstr "显示工具栏"
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr "在顶端显示工具栏"
-
-#: tips:18
-msgid "Spacing"
-msgstr "字距"
-
-#: tips:19
-msgid "Margins"
-msgstr "边界"
-
-#: tips:20
-msgid "pixels for left margin, and for the right:"
-msgstr "像素 左面边界;及右面边界:"
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr "像素"
-
-#: tips:22
-msgid "Paragraphs"
-msgstr "段落"
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr "对比上段落间的距离"
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr "对比下段落间的距离"
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr "段落间的行距"
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr "换新段落时缩排"
-
-#: tips:31
-msgid "Editing"
-msgstr "编辑"
-
-#: tips:32
-msgid "Indentation"
-msgstr "缩排"
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr "自动缩排"
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr "当按下 Return 键,下一行开始的位置,会自行缩排致跟上行一样。"
-
-#: tips:35
-msgid "You need the gtksourceview Python module to use these"
-msgstr "您须安装 gtksourceview Python 模组才可启用这些功能"
-
-#: tips:36
-msgid "Show Print Margin"
-msgstr "显示可列印边界"
-
-#: tips:37
-msgid "Draw a line to show the right margin for printing."
-msgstr "在右边可列印边界上绘出一条直线"
-
-#: tips:38
-msgid "Print Margin"
-msgstr "可列印边界"
-
-#: tips:39 tips:49
-msgid "characters"
-msgstr "字符"
-
-#: tips:40
-msgid "Smart Home/End"
-msgstr "优化 Home/End 按键 "
-
-#: tips:41
-msgid "Move to the first/last actual character on the line, ignoring spaces."
-msgstr "移到每行的 最前/最后 的字符,并忽略空格。"
-
-#: tips:42
-msgid "Show Line Numbers"
-msgstr "显示行号"
-
-#: tips:43
-msgid "Add a column on the far left showing line numbers."
-msgstr "在最左边加上一列空间来放置行号。"
-
-#: tips:44
-msgid "Show Bookmarks"
-msgstr "显示标记"
-
-#: tips:45
-msgid "Add a column in the left margin showing which lines are bookmarked."
-msgstr "在最左边加上一列空间来显示被标记的行号。"
-
-#: tips:46
-msgid "Use spaces instead of Tabs"
-msgstr "优化 Tab 键输出"
-
-#: tips:47
-msgid ""
-"Pressing the Tab key inserts multiple spaces, instead of a single Tab "
-"character."
-msgstr "当按 Tab 键时可变为自动输出多个空格字符。"
-
-#: tips:48
-msgid "Tab width"
-msgstr "Tab 宽度"
-
-#: tips:50 tips:51 tips:52 tips:53
-msgid ""
-"Show one tab as this number of spaces or, when 'Use spaces instead of Tabs' "
-"is on, insert this many spaces."
-msgstr "设定在按 Tab 键时可输出的空格数目。"
-
-#: tips:54
-msgid "Changes"
-msgstr "变更"
-
-#: tips:55
-msgid "Colours for Show Changes feature"
-msgstr "用以显示变更的颜色"
-
-#: tips:56 tips:60 tips:64 tips:68
-msgid "Foreground"
-msgstr "文字"
-
-#: tips:57 tips:61 tips:65 tips:69
-msgid "Background"
-msgstr "背景"
-
-#: tips:58 tips:59
-msgid "(headers)"
-msgstr "(标题)"
-
-#: tips:62 tips:63
-msgid "(no change)"
-msgstr "(没有改变)"
-
-#: tips:66 tips:67
-msgid "(additions)"
-msgstr "(附加)"
-
-#: tips:70 tips:71 tips:72 tips:73 tips:74
-msgid "(deletions)"
-msgstr "(删除)"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.gmo b/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.gmo
deleted file mode 100644
index 22a7d5a..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.gmo and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.po b/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.po
deleted file mode 100644
index f8179a8..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Messages/zh_TW.po
+++ /dev/null
@@ -1,601 +0,0 @@
-# Rox Edit Chinese Tranalation.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2005-07-10 21:57+HKT\n"
-"PO-Revision-Date: 2005-07-10 18:55+1\n"
-"Last-Translator: Babyfai Cheung <babyfai1 at yahoo.com.hk>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.4\n"
-
-#: EditWindow.py:81
-msgid "Cut"
-msgstr "剪下"
-
-#: EditWindow.py:82
-msgid "Copy"
-msgstr "複製"
-
-#: EditWindow.py:83
-msgid "Paste"
-msgstr "貼上"
-
-#: EditWindow.py:85 EditWindow.py:259
-msgid "Undo"
-msgstr "還原"
-
-#: EditWindow.py:86 EditWindow.py:258
-msgid "Redo"
-msgstr "重做"
-
-#: EditWindow.py:88
-msgid "Search..."
-msgstr "搜尋..."
-
-#: EditWindow.py:89
-msgid "Search and Replace...."
-msgstr "搜尋及取代..."
-
-#: EditWindow.py:91
-msgid "Goto line..."
-msgstr "跳至行數..."
-
-#: EditWindow.py:96
-msgid "Toggle Bookmark"
-msgstr "標記此行"
-
-#: EditWindow.py:97
-msgid "Next Bookmark"
-msgstr "下個標記"
-
-#: EditWindow.py:98
-msgid "Previous Bookmark"
-msgstr "上個標記"
-
-#: EditWindow.py:105
-msgid "File"
-msgstr "檔案"
-
-#: EditWindow.py:106 EditWindow.py:263
-msgid "Save"
-msgstr "儲存"
-
-#: EditWindow.py:107
-msgid "Save As..."
-msgstr "另存為..."
-
-#: EditWindow.py:108
-msgid "Open Parent"
-msgstr "往上目錄"
-
-#: EditWindow.py:109
-msgid "Show Changes"
-msgstr "顯示改變"
-
-#: EditWindow.py:110 EditWindow.py:255 tips:9
-msgid "Word Wrap"
-msgstr "自動換行"
-
-#: EditWindow.py:111 EditWindow.py:265
-msgid "Close"
-msgstr "關閉"
-
-#: EditWindow.py:113
-msgid "New"
-msgstr "新增"
-
-#: EditWindow.py:115
-msgid "Edit"
-msgstr "編輯"
-
-#: EditWindow.py:117
-msgid "Options"
-msgstr "選項"
-
-#: EditWindow.py:118 EditWindow.py:238
-msgid "Help"
-msgstr "說明"
-
-#: EditWindow.py:239
-msgid ""
-"Show changes from saved copy.\n"
-"Or, drop a backup file onto this button to see changes from that."
-msgstr ""
-"顯示已作及儲存的改變。\n"
-"或將備份檔案,拖放到這按鈕上以檢視改變。"
-
-#: EditWindow.py:249
-msgid "Check Spelling"
-msgstr "檢查字串拼寫"
-
-#: EditWindow.py:260
-msgid "Replace"
-msgstr "取代"
-
-#: EditWindow.py:261
-msgid "Search"
-msgstr "搜尋"
-
-#: EditWindow.py:262
-msgid "Save As"
-msgstr "另存為"
-
-#: EditWindow.py:264
-msgid "Up"
-msgstr "往上"
-
-#: EditWindow.py:323
-msgid "Line %s of %d"
-msgstr "行 %s 總數 %d"
-
-#: EditWindow.py:330
-msgid "One character selected (%s)"
-msgstr "選擇了一個字符 (%s)"
-
-#: EditWindow.py:333
-msgid "%d characters selected"
-msgstr "%d 個字符已選擇"
-
-#: EditWindow.py:335
-msgid "%d lines selected"
-msgstr "%d 行數已選擇"
-
-#: EditWindow.py:502
-msgid "Untitled"
-msgstr "未命名"
-
-#: EditWindow.py:530
-msgid "Encoding:"
-msgstr "編碼:"
-
-#: EditWindow.py:536
-msgid "Ignore errors"
-msgstr "忽略錯誤"
-
-#: EditWindow.py:562
-msgid "Unknown encoding '%s'"
-msgstr "不明編碼 '%s'"
-
-#: EditWindow.py:586
-msgid ""
-"Data is not valid %s. Please select the file's encoding. Turn on 'ignore "
-"errors' to try and load it anyway."
-msgstr "資料不是 %s。請選擇正確的編碼,啟用 '忽略錯誤'  以嘗試打開。"
-
-#: EditWindow.py:627
-msgid "File is not saved to disk yet"
-msgstr "檔案尚未儲存"
-
-#: EditWindow.py:648
-msgid ""
-"This file has never been saved; nothing to compare it to!\n"
-"Note: you can drop a file onto the toolbar button to see the changes from "
-"that file."
-msgstr ""
-"這檔案還未儲存;因此沒法進行比較!\n"
-"注意:您可拖放檔案到工具欄的按鈕上,來查看已更改的資料。"
-
-#: EditWindow.py:697
-msgid "TextFile"
-msgstr "文字檔案"
-
-#: EditWindow.py:845
-msgid "Minibuffer help"
-msgstr "小型幫助框"
-
-#: diff.py:78
-msgid "Changes to %s"
-msgstr "%s 的改變"
-
-#: diff.py:128
-msgid "There is no difference between this version and the saved one."
-msgstr "沒有不相同的地方。"
-
-#: goto.py:10
-msgid "Goto line:"
-msgstr "跳至行數:"
-
-#: goto.py:12
-msgid ""
-"Enter the line number to go to. Line numbers start from 1. Press Escape to "
-"cancel, or Return to jump to the line."
-msgstr "鍵入行數數字,行數起始為 1。按 Escape 以取消,或按 Enter 以跳至該行。"
-
-#: goto.py:22
-msgid "Invalid line number: %s"
-msgstr "錯誤的行數:%s"
-
-#: search.py:6
-msgid "Matches any character"
-msgstr "對應任何字符"
-
-#: search.py:7
-msgid "Any lowercase letter"
-msgstr "任何小階字母"
-
-#: search.py:8
-msgid "Any character listed (- must be first)"
-msgstr "任一列出字符 (- 必須前排)"
-
-#: search.py:9
-msgid "A only at the start of a line"
-msgstr "A 在行的最前"
-
-#: search.py:10
-msgid "A only at the end of a line"
-msgstr "A 在行的最後"
-
-#: search.py:11
-msgid "Zero or more A"
-msgstr "零或更多 A"
-
-#: search.py:12
-msgid "One or more A"
-msgstr "一或更多 A"
-
-#: search.py:13
-msgid "Zero or one A"
-msgstr "零或一個 A"
-
-#: search.py:14
-msgid "Between m and n matches of A"
-msgstr "對應 m 與 n 之間的 A"
-
-#: search.py:15
-msgid "Non-greedy versions of *, +, ? and {}"
-msgstr "包含  *, +, ? 及 {} 的版本"
-
-#: search.py:16
-msgid "Literal \"*\", \"+\""
-msgstr "正常字符  \"*\", \"+\""
-
-#: search.py:17
-msgid "Can match A or B"
-msgstr "能對應 A 或 B"
-
-#: search.py:18
-msgid "Group A and B together (for *, \\1, etc)"
-msgstr "A 和 B 一同匹配 (用於 *, \\1, 等等)"
-
-#: search.py:19
-msgid "The first/second bracketed match (goes in the With: box)"
-msgstr "匹配括弧內第一/或第二個字符 (須用於: 盒型括弧內)"
-
-#: search.py:20
-msgid "Word boundary (eg, \\bWord\\b)"
-msgstr "匹配含邊沿的整字  (eg, \\bWord\\b)"
-
-#: search.py:21
-msgid "Non-word boundary"
-msgstr "匹配整字內不在邊沿的字符"
-
-#: search.py:22
-msgid "Digit, non-digit"
-msgstr "數字,非數字"
-
-#: search.py:23
-msgid "Whitespace, non-whitespace"
-msgstr "空白,非空白"
-
-#: search.py:24
-msgid "Others"
-msgstr "å…¶ä»–"
-
-#: search.py:24
-msgid "See the Python regular expression documentation for more"
-msgstr "詳情請參閱 Python 正則表達法文本"
-
-#: search.py:26
-msgid "Examples:"
-msgstr "舉例:"
-
-#: search.py:27
-msgid "Matches \"Fred\" anywhere"
-msgstr "任何對應  \"Fred\" "
-
-#: search.py:28
-msgid "A line containing only \"Fred\""
-msgstr "一行內只包含 \"Fred\""
-
-#: search.py:29
-msgid "\"Gogle, Google, Gooogle, etc\""
-msgstr "\"Gogle, Google, Gooogle, 等等\""
-
-#: search.py:30
-msgid "Colour or Color"
-msgstr "Colour 或 Color"
-
-#: search.py:31
-msgid "\"The\" or \"the\""
-msgstr "\"The\" 或  \"the\""
-
-#: search.py:35
-msgid "Python expressions:"
-msgstr "Python 正則表達法:"
-
-#: search.py:36
-msgid "The text that was matched"
-msgstr "匹配的文字"
-
-#: search.py:37
-msgid "The numerical value of 'old'"
-msgstr "'old' 的數值"
-
-#: search.py:38
-msgid "Convert match to uppercase"
-msgstr "將匹配的文字轉為大階字母"
-
-#: search.py:39
-msgid "Double all matched numbers"
-msgstr "將匹配的數值加倍"
-
-#: search.py:56
-msgid "Find Next"
-msgstr "找尋下一個"
-
-#: search.py:61
-msgid "Find Previous"
-msgstr "找尋上一個"
-
-#: search.py:66
-msgid "Match case"
-msgstr "匹配大小階"
-
-#: search.py:80
-msgid ""
-"Type a string to search for. The display will scroll to show the next match "
-"as you type. Use the Up and Down cursor keys to move to the next or previous "
-"match. Press Escape or Return to finish."
-msgstr ""
-"鍵入要尋找的字串,匹配的將會以卷動型式顯示,用往上或往下的箭咀鍵來瀏覽結果,"
-"按Escape 或 Return 結束。"
-
-#: search.py:85
-msgid " Find: "
-msgstr " 找尋:"
-
-#: search.py:160
-msgid "Code"
-msgstr "代碼"
-
-#: search.py:162
-msgid "Meaning"
-msgstr "註釋"
-
-#: search.py:213
-msgid "Replace:"
-msgstr "取代:"
-
-#: search.py:214
-msgid "With:"
-msgstr "換為:"
-
-#: search.py:221
-msgid "Advanced search and replace"
-msgstr "進階搜尋及取代"
-
-#: search.py:229
-msgid "Evaluate 'With' as Python expression"
-msgstr "以 Python 正則表達法鑒定"
-
-#: search.py:252
-msgid "You need to specify something to search for..."
-msgstr "請先指明需要搜尋的目標..."
-
-#: search.py:297
-msgid "Search string not found"
-msgstr "找不到要搜尋的字串"
-
-#: search.py:301
-msgid "One line changed"
-msgstr "一行已改變"
-
-#: search.py:303
-msgid "%d lines changed"
-msgstr "%d 行數已改變"
-
-#: tips:1
-msgid "Display"
-msgstr "顯示"
-
-#: tips:2
-msgid "Fonts"
-msgstr "å­—åž‹"
-
-#: tips:3
-msgid "Text font"
-msgstr "內文字型"
-
-#: tips:4 tips:5
-msgid "Font used for normal text."
-msgstr "一般內文的字型"
-
-#: tips:6
-msgid "Colours"
-msgstr "顏色"
-
-#: tips:7
-msgid "Foreground colour"
-msgstr "文字顏色"
-
-#: tips:8
-msgid "Background colour"
-msgstr "背景顏色"
-
-#: tips:10
-msgid "Wrap long lines of text"
-msgstr "對過長文字的行換行"
-
-#: tips:11 tips:12
-msgid ""
-"Control whether lines wider than the window are wrapped to multiple display "
-"lines."
-msgstr "當內文的字行比窗口要長時,會換到下一行來顯示。"
-
-#: tips:13
-msgid "Toolbar"
-msgstr "工具欄"
-
-#: tips:14
-msgid "Show toolbar"
-msgstr "顯示工具欄"
-
-#: tips:15 tips:16 tips:17
-msgid "Display a toolbar along the top of each window with common tools."
-msgstr "在頂端顯示工具欄。"
-
-#: tips:18
-msgid "Spacing"
-msgstr "字距"
-
-#: tips:19
-msgid "Margins"
-msgstr "邊界"
-
-#: tips:20
-msgid "pixels for left margin, and for the right:"
-msgstr "像素 左面邊界;及右面邊界:"
-
-#: tips:21 tips:24 tips:26 tips:28 tips:30
-msgid "pixels"
-msgstr "像素"
-
-#: tips:22
-msgid "Paragraphs"
-msgstr "段落"
-
-#: tips:23
-msgid "Space above paragraphs"
-msgstr "對比上段落間的距離"
-
-#: tips:25
-msgid "Space below paragraphs"
-msgstr "對比下段落間的距離"
-
-#: tips:27
-msgid "Line spacing within paragraphs"
-msgstr "段落間的行距"
-
-#: tips:29
-msgid "New-paragraph indent"
-msgstr "換新段落時縮排"
-
-#: tips:31
-msgid "Editing"
-msgstr "編輯"
-
-#: tips:32
-msgid "Indentation"
-msgstr "縮排"
-
-#: tips:33
-msgid "Automatic indentation"
-msgstr "自動縮排"
-
-#: tips:34
-msgid ""
-"When you press Return, the next line starts with the same amount of "
-"indentation as the previous line."
-msgstr "當按下 Return 鍵,下一行開始的位置,會自行縮排致跟上行一樣。"
-
-#: tips:35
-msgid "You need the gtksourceview Python module to use these"
-msgstr "您須安裝 gtksourceview Python 模組才可啟用這些功能 "
-
-#: tips:36
-msgid "Show Print Margin"
-msgstr "顯示可列印邊界"
-
-#: tips:37
-msgid "Draw a line to show the right margin for printing."
-msgstr "在右邊可列印邊界上繪出一條直線。"
-
-#: tips:38
-msgid "Print Margin"
-msgstr "可列印邊界"
-
-#: tips:39 tips:49
-msgid "characters"
-msgstr "字符"
-
-#: tips:40
-msgid "Smart Home/End"
-msgstr "優化 Home/End 按鍵"
-
-#: tips:41
-msgid "Move to the first/last actual character on the line, ignoring spaces."
-msgstr "移到每行的 最前/最後 的字符,並忽略空格。"
-
-#: tips:42
-msgid "Show Line Numbers"
-msgstr "顯示行號"
-
-#: tips:43
-msgid "Add a column on the far left showing line numbers."
-msgstr "在最左邊加上一列空間來放置行號。"
-
-#: tips:44
-msgid "Show Bookmarks"
-msgstr "顯示標記"
-
-#: tips:45
-msgid "Add a column in the left margin showing which lines are bookmarked."
-msgstr "在最左邊加上一列空間來顯示被標記的行號。"
-
-#: tips:46
-msgid "Use spaces instead of Tabs"
-msgstr "優化 Tab 鍵輸出"
-
-#: tips:47
-msgid ""
-"Pressing the Tab key inserts multiple spaces, instead of a single Tab "
-"character."
-msgstr "當按 Tab 鍵時可變為自動輸出多個空格字符。"
-
-#: tips:48
-msgid "Tab width"
-msgstr "Tab 寬度"
-
-#: tips:50 tips:51 tips:52 tips:53
-msgid ""
-"Show one tab as this number of spaces or, when 'Use spaces instead of Tabs' "
-"is on, insert this many spaces."
-msgstr "設定在按 Tab 鍵時可輸出的空格數目。"
-
-#: tips:54
-msgid "Changes"
-msgstr "變更"
-
-#: tips:55
-msgid "Colours for Show Changes feature"
-msgstr "用以顯示變更的顏色"
-
-#: tips:56 tips:60 tips:64 tips:68
-msgid "Foreground"
-msgstr "文字"
-
-#: tips:57 tips:61 tips:65 tips:69
-msgid "Background"
-msgstr "背景"
-
-#: tips:58 tips:59
-msgid "(headers)"
-msgstr "(標題)"
-
-#: tips:62 tips:63
-msgid "(no change)"
-msgstr "(沒有改變)"
-
-#: tips:66 tips:67
-msgid "(additions)"
-msgstr "(附加)"
-
-#: tips:70 tips:71 tips:72 tips:73 tips:74
-msgid "(deletions)"
-msgstr "(刪除)"
diff --git a/source/rox-extra/edit/edit-2.0/Edit/Options.xml b/source/rox-extra/edit/edit-2.0/Edit/Options.xml
deleted file mode 100644
index 7f5c9b9..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/Options.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version='1.0'?>
-<options>
-  <section title='Display'>
-    <frame label='Fonts'>
-      <font name='default_font' label='Text font'>
-        Font used for normal text.
-      </font>
-    </frame>
-
-    <frame label='Colours' size-group='colours'>
-	  <hbox>
-	  <colour name='foreground' label='Foreground colour'/>
-      <colour name='background' label='Background colour'/>
-	  </hbox>
-    </frame>
-
-    <frame label='Word Wrap'>
-      <toggle name='wordwrap' label='Wrap long lines of text'>
-          Control whether lines wider than the window are wrapped to multiple display lines.
-      </toggle>
-    </frame>
-	<frame label='Toolbar'>
-      <toggle name='show_toolbar' label='Show toolbar'>Display a toolbar along the top of each window with common tools.</toggle>
-    </frame>
-
-  </section>
-
-  <section title='Spacing'>
-
-    <frame label='Margins'>
-      <hbox>
-        <numentry name='layout_left_margin' label='' min='0' max='100' unit='pixels for left margin, and for the right:'/>
-        <numentry name='layout_right_margin' label='' min='0' max='100' unit='pixels'/>
-      </hbox>
-    </frame>
-
-    <frame label='Paragraphs' size-group='para'>
-      <numentry name='layout_before_para' label='Space above paragraphs'
-      		min='0' max='10' unit='pixels'/>
-      <numentry name='layout_after_para' label='Space below paragraphs'
-      		min='0' max='10' unit='pixels'/>
-      <numentry name='layout_inside_para' label='Line spacing within paragraphs'
-      		min='0' max='10' unit='pixels'/>
-      <numentry name='layout_indent_para' label='New-paragraph indent'
-      		min='-100' max='100' unit='pixels'/>
-    </frame>
-  </section>
-
-  <section title='Editing'>
-    <frame label='Indentation'>
-      <toggle name='autoindent' label='Automatic indentation'>
-        When you press Return, the next line starts with the same amount of indentation as the previous line.
-      </toggle>
-      <source-view-only label='You need the gtksourceview Python module to use these'>
-	<toggle name='show_margin' label='Show Print Margin'>Draw a line to show the right margin for printing.</toggle>
-	<numentry name='right_margin' label='Print Margin' min='20' max='300' unit='characters'/>
-	<toggle name='smart_home_end' label='Smart Home/End'>Move to the first/last actual character on the line, ignoring spaces.</toggle>
-	<toggle name='show_line_numbers' label='Show Line Numbers'>Add a column on the far left showing line numbers.</toggle>
-	<toggle name='show_line_markers' label='Show Bookmarks'>Add a column in the left margin showing which lines are bookmarked.</toggle>
-	<toggle name='use_spaces_for_tabs' label='Use spaces instead of Tabs'>Pressing the Tab key inserts multiple spaces, instead of a single Tab character.</toggle>
-	<numentry name='tab_width' label='Tab width' min='2' max='10' unit='characters'>Show one tab as this number of spaces or, when 'Use spaces instead of Tabs' is on, insert this many spaces.</numentry>
-      </source-view-only>
-    </frame>
-  </section>
-
-  <section title='Changes'>
-    <frame label='Colours for Show Changes feature'>
-      <hbox><colour name='headers_fg' label='Foreground'/><colour name='headers_bg' label='Background'/><label>(headers)</label></hbox>
-      <hbox><colour name='static_fg' label='Foreground'/><colour name='static_bg' label='Background'/><label>(no change)</label></hbox>
-      <hbox><colour name='additions_fg' label='Foreground'/><colour name='additions_bg' label='Background'/><label>(additions)</label></hbox>
-      <hbox><colour name='deletions_fg' label='Foreground'/><colour name='deletions_bg' label='Background'/><label>(deletions)</label></hbox>
-    </frame>
-  </section>
-
-</options>
diff --git a/source/rox-extra/edit/edit-2.0/Edit/buffer.py b/source/rox-extra/edit/edit-2.0/Edit/buffer.py
deleted file mode 100644
index adb82e8..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/buffer.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import rox
-from rox import g
-
-# GtkSourceBuffer is a subclass of GtkTextBuffer which provides extra
-# features. We'll use it if it's available, or GtkTextBuffer if not.
-try:
-	import gtksourceview
-	_parentClass = gtksourceview.SourceBuffer
-	have_sourceview = True
-except:
-	_parentClass = g.TextBuffer
-	have_sourceview = False
-
-
-DELETE = 1
-INSERT = 2
-
-# As operations are performed, they are added to 'in_progress'.
-# When complete, the whole group is added to undo_buffer.
-
-class Buffer(_parentClass):
-	"A buffer that deals with undo/redo."
-
-	action_nest_level = 0
-
-	def __init__(self):
-		if have_sourceview:
-			_parentClass.__init__(self)
-			self.set_max_undo_levels(1000)
-		else:
-			_parentClass.__init__(self, None)
-
-		self.in_progress = None
-		self.undo_buffer = []
-		self.redo_buffer = []	# Will be None during undo or redo
-
-		if have_sourceview:
-			self.lm = gtksourceview.SourceLanguagesManager()
-			self.set_data('languages-manager', self.lm)
-
-	def set_type(self, mime_type):
-		"""Set up syntax highlighting, if available"""
-		self.language = None
-		if not have_sourceview: return
-		if not mime_type: return
-
-		language = self.lm.get_language_from_mime_type(mime_type.media + '/' + mime_type.subtype)
-		if language:
-			self.set_highlight(True)
-			self.set_language(language)
-			self.language = language.get_name()
-		else:
-			#print 'No language found for mime type "%s"' % mime_type
-			self.set_highlight(False)
-
-	def start_undo_history(self):
-		if have_sourceview: return
-		def begin(buffer):
-			self.action_nest_level += 1
-			if self.action_nest_level == 1:
-				assert self.in_progress is None
-				self.in_progress = []
-
-		self.connect('begin-user-action', begin)
-		def end_action(buffer):
-			self.action_nest_level -= 1
-			assert self.action_nest_level >= 0
-			if self.action_nest_level == 0:
-				assert self.in_progress is not None
-				if self.in_progress:
-					self.undo_buffer.append(self.in_progress)
-				self.in_progress = None
-		self.connect('end-user-action', end_action)
-		self.connect('delete-range', self.delete_range)
-		self.connect('insert-text', self.insert_text)
-
-	def delete_range(self, buffer, start, end):
-		self.in_progress.append((INSERT,
-				 start.get_offset(),
-				 buffer.get_slice(start, end, True)))
-		if self.redo_buffer:
-			self.redo_buffer = []
-
-	def insert_text(self, buffer, where, text, len):
-		text = text[:len]	# PyGtk bug?
-		start = where.get_offset()
-		self.in_progress.append((DELETE,
-					start, start + len, text))
-		if self.redo_buffer:
-			self.redo_buffer = []
-
-	try:
-		g.TextBuffer(None).insert_at_cursor('hello')
-	except:
-		# Old version of pygtk
-		def insert(self, iter, text):
-			g.TextBuffer.insert(self, iter, text, -1)
-		def insert_at_cursor(self, text):
-			g.TextBuffer.insert_at_cursor(self, text, -1)
-
-	def do_action(self, op):
-		if op[0] == DELETE:
-			start = self.get_iter_at_offset(op[1])
-			end = self.get_iter_at_offset(op[2])
-			self.delete(start, end)
-		elif op[0] == INSERT:
-			start = self.get_iter_at_offset(op[1])
-			self.insert(start, op[2])
-		else:
-			rox.alert('Unknown entry in undo buffer!\n' + `op`)
-
-	def undo(self, hist = None):
-		if have_sourceview:
-			if self.can_undo():
-				_parentClass.undo(self)
-			return
-
-		if hist is None: hist = self.undo_buffer
-
-		if not hist:
-			g.gdk.beep()
-			return	# Nothing to undo/redo
-
-		assert not self.in_progress
-
-		# List of actions to perform
-		group = hist.pop()
-
-		old_redo, self.redo_buffer = self.redo_buffer, None
-
-		try:
-			self.begin_user_action()
-			group.reverse()
-			for action in group:
-				self.do_action(action)
-		finally:
-			self.redo_buffer = old_redo
-			if hist is self.undo_buffer:
-				self.redo_buffer.append(self.in_progress)
-			else:
-				self.undo_buffer.append(self.in_progress)
-			self.in_progress = []
-
-			self.end_user_action()
-
-	def redo(self):
-		if have_sourceview:
-			_parentClass.redo(self)
-		else:
-			self.undo(hist = self.redo_buffer)
-
-
-	def begin_not_undoable_action(self):
-		if have_sourceview:
-			_parentClass.begin_not_undoable_action(self)
-
-	def end_not_undoable_action(self):
-		if have_sourceview:
-			_parentClass.end_not_undoable_action(self)
-
-
diff --git a/source/rox-extra/edit/edit-2.0/Edit/diff.py b/source/rox-extra/edit/edit-2.0/Edit/diff.py
deleted file mode 100644
index b49943a..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/diff.py
+++ /dev/null
@@ -1,130 +0,0 @@
-import rox
-import os
-from rox import processes, g
-from rox.options import Option
-
-try:
-	processes.PipeThroughCommand
-except:
-	rox.croak('Edit requires ROX-Lib 1.9.11 or later. Sorry!\n'
-		  '\nhttp://rox.sourceforge.net/rox_lib.html')
-
-header_fg = Option('headers_fg', '#000')
-header_bg = Option('headers_bg', '#ddd')
-
-static_fg = Option('static_fg', '#000')
-static_bg = Option('static_bg', '#fff')
-
-additions_fg = Option('additions_fg', '#000')
-additions_bg = Option('additions_bg', '#8f8')
-
-deletions_fg = Option('deletions_fg', '#000')
-deletions_bg = Option('deletions_bg', '#f88')
-
-tags = g.TextTagTable()
-
-header = g.TextTag('header')
-tags.add(header)
-
-static = g.TextTag('static')
-tags.add(static)
-
-add = g.TextTag('add')
-tags.add(add)
-remove = g.TextTag('remove')
-tags.add(remove)
-
-def options_changed():
-	header.set_property('foreground', header_fg.value)
-	header.set_property('background', header_bg.value)
-	static.set_property('foreground', static_fg.value)
-	static.set_property('background', static_bg.value)
-	add.set_property('foreground', additions_fg.value)
-	add.set_property('background', additions_bg.value)
-	remove.set_property('foreground', deletions_fg.value)
-	remove.set_property('background', deletions_bg.value)
-
-rox.app_options.add_notify(options_changed)
-
-class Diff(processes.PipeThroughCommand):
-	def __init__(self, uri, src, dst):
-		processes.PipeThroughCommand.__init__(self, ('diff', '-u', '--', uri, '-'), src, dst)
-		self.wait()
-
-	def check_errors(self, errors, status):
-		if errors:
-			raise Exception(errors)
-
-def Tmp(mode = 'w+b', suffix = '-tmp'):
-	"Create a seekable, randomly named temp file (deleted automatically after use)."
-	import tempfile
-	try:
-		return tempfile.NamedTemporaryFile(mode, suffix = suffix)
-	except:
-		# python2.2 doesn't have NamedTemporaryFile...
-		pass
-
-	import random
-	name = tempfile.mktemp(`random.randint(1, 1000000)` + suffix)
-
-	fd = os.open(name, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0700)
-	tmp = tempfile.TemporaryFileWrapper(os.fdopen(fd, mode), name)
-	tmp.name = name
-	return tmp
-
-class DiffWindow(rox.Dialog):
-	def __init__(self, uri, diff):
-		rox.Dialog.__init__(self)
-		self.set_title(_('Changes to %s') % uri)
-		self.set_has_separator(False)
-
-		buffer = g.TextBuffer(tags)
-		text = g.TextView(buffer)
-		text.set_editable(False)
-		text.set_cursor_visible(False)
-		text.modify_base(g.STATE_NORMAL, g.gdk.color_parse(static_bg.value))
-
-		swin = g.ScrolledWindow()
-		swin.set_shadow_type(g.SHADOW_IN)
-		swin.set_policy(g.POLICY_AUTOMATIC, g.POLICY_ALWAYS)
-		self.vbox.pack_start(swin)
-		swin.add(text)
-		self.vbox.show_all()
-
-		self.add_button(g.STOCK_CLOSE, g.RESPONSE_OK)
-		self.connect('response', lambda b, r: self.destroy())
-
-		iter = buffer.get_start_iter()
-		for line in diff.split('\n'):
-			line += '\n'
-			if line[:4] in ('--- ', '+++ ', '@@ -'):
-				tag = header
-			elif line.startswith('-'):
-				tag = remove
-				if len(line) < 3: line = '  \n'
-			elif line.startswith('+'):
-				tag = add
-				if len(line) < 3: line = '  \n'
-			else:
-				tag = static
-			buffer.insert_with_tags(iter, line, tag)
-
-		width = g.gdk.screen_width() * 3 / 4
-		height = g.gdk.screen_height() * 1 / 2
-		self.set_default_size(width, height)
-
-
-def show_diff(uri, writer):
-	from cStringIO import StringIO
-	src = Tmp(suffix = '-diff')
-	dst = StringIO()
-	writer(src)
-	src.seek(0)
-	Diff(uri, src, dst)
-	del src
-	diff = dst.getvalue()
-	del dst
-	if not diff:
-		rox.info(_('There is no difference between this version and the saved one.'))
-	else:
-		DiffWindow(uri, diff).show()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/findrox.py b/source/rox-extra/edit/edit-2.0/Edit/findrox.py
deleted file mode 100644
index 3405e2a..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/findrox.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# Most of the common code needed by ROX applications is in ROX-Lib2.
-# Except this code, which is needed to find ROX-Lib2 in the first place!
-
-# Just make sure you run findrox.version() before importing anything inside
-# ROX-Lib2...
-
-import os, sys
-from os.path import exists
-import string
-
-def version(major, minor, micro):
-	"""Find ROX-Lib2, with a version >= (major, minor, micro), and
-	add it to sys.path. If version is missing or too old, either
-	prompt the user, or (if possible) upgrade it automatically.
-	If 'rox' is already in PYTHONPATH, just use that (assume the injector
-	is being used)."""
-	try:
-		import rox
-	except ImportError:
-		pass
-	else:
-		#print "Using ROX-Lib in PYTHONPATH"
-		if (major, minor, micro) > rox.roxlib_version:
-			print >>sys.stderr, "WARNING: ROX-Lib version " \
-				"%d.%d.%d requested, but using version " \
-				"%d.%d.%d from %s" % \
-				(major, minor, micro,
-				 rox.roxlib_version[0],
-				 rox.roxlib_version[1],
-				 rox.roxlib_version[2],
-				 rox.__file__)
-		return
-
-	if not os.getenv('ROXLIB_DISABLE_ZEROINSTALL') and os.path.exists('/uri/0install/rox.sourceforge.net'):
-		# We're using ZeroInstall. Good :-)
-		zpath = '/uri/0install/rox.sourceforge.net/lib/ROX-Lib2/' \
-			'latest-2'
-		if not os.path.exists(zpath):
-			os.system('0refresh rox.sourceforge.net')
-			assert os.path.exists(zpath)
-		vs = os.readlink(zpath).split('-')[-1]
-		v = tuple(map(int, vs.split('.')))
-		if v < (major, minor, micro):
-			if os.system('0refresh rox.sourceforge.net'):
-				report_error('Using ROX-Lib in Zero Install, but cached version (%s) is too old (need %d.%d.%d) and updating failed (is zero-install running?)' % (vs, major, minor, micro))
-		sys.path.append(zpath + '/python')
-		return
-	try:
-		path = os.environ['LIBDIRPATH']
-		paths = string.split(path, ':')
-	except KeyError:
-		paths = [os.environ['HOME'] + '/lib',
-			 '/usr/local/lib', '/usr/lib' ]
-
-	for p in paths:
-		p = os.path.join(p, 'ROX-Lib2')
-		if exists(p):
-			# TODO: check version is new enough
-			sys.path.append(os.path.join(p, 'python'))
-			import rox
-			if major == 1 and minor == 9 and micro < 10:
-				return	# Can't check version
-			if not hasattr(rox, 'roxlib_version'):
-				break
-			if (major, minor, micro) <= rox.roxlib_version:
-				return	# OK
-	report_error("This program needs ROX-Lib2 (version %d.%d.%d) " % \
-		(major, minor, micro) + "to run.\n" + \
-		"I tried all of these places:\n\n" + \
-		string.join(paths, '\n') + '\n\n' + \
-		"ROX-Lib2 is available from:\n" + \
-		"http://rox.sourceforge.net")
-
-def report_error(err):
-	"Write 'error' to stderr and, if possible, display a dialog box too."
-	try:
-		sys.stderr.write('*** ' + err + '\n')
-	except:
-		pass
-	try:
-		import pygtk; pygtk.require('2.0')
-		import gtk; g = gtk
-	except:
-		import gtk
-		win = gtk.GtkDialog()
-		message = gtk.GtkLabel(err +
-				'\n\nAlso, pygtk2 needs to be present')
-		win.set_title('Missing ROX-Lib2')
-		win.set_position(gtk.WIN_POS_CENTER)
-		message.set_padding(20, 20)
-		win.vbox.pack_start(message)
-
-		ok = gtk.GtkButton("OK")
-		ok.set_flags(gtk.CAN_DEFAULT)
-		win.action_area.pack_start(ok)
-		ok.connect('clicked', gtk.mainquit)
-		ok.grab_default()
-
-		win.connect('destroy', gtk.mainquit)
-		win.show_all()
-		gtk.mainloop()
-	else:
-		box = g.MessageDialog(None, g.MESSAGE_ERROR, 0,
-					g.BUTTONS_OK, err)
-		box.set_title('Missing ROX-Lib2')
-		box.set_position(g.WIN_POS_CENTER)
-		box.set_default_response(g.RESPONSE_OK)
-		box.run()
-	sys.exit(1)
diff --git a/source/rox-extra/edit/edit-2.0/Edit/goto.py b/source/rox-extra/edit/edit-2.0/Edit/goto.py
deleted file mode 100644
index 855e91b..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/goto.py
+++ /dev/null
@@ -1,28 +0,0 @@
-from rox import g
-import rox
-from EditWindow import Minibuffer
-
-class Goto(Minibuffer):
-	"A minibuffer used to find a line by number."
-
-	def setup(self, window):
-		self.window = window
-		self.window.set_mini_label(_('Goto line:'))
-
-	info = _('Enter the line number to go to. Line numbers start from 1. '
-		 'Press Escape to cancel, or Return to jump to the line.')
-
-	def activate(self):
-		line = self.window.mini_entry.get_text()
-		if line:
-			try:
-				line = int(line)
-				assert line >= 1
-			except:
-				rox.alert(_('Invalid line number: %s') % line)
-			else:
-				buffer = self.window.buffer
-				iter = buffer.get_iter_at_line(line - 1)
-				buffer.place_cursor(iter)
-				self.window.text.scroll_to_iter(iter, 0.05, False)
-		self.window.set_minibuffer(None)
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Entries b/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Entries
deleted file mode 100644
index 013636c..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Entries
+++ /dev/null
@@ -1,4 +0,0 @@
-/marker.png/1.1/Sun May 29 17:12:53 2005//TRelease-2-0
-/rox-diff.png/1.1/Thu Oct 16 11:30:17 2003/-ko/TRelease-2-0
-/rox-word-wrap.png/1.1/Sun Apr 18 13:14:45 2004/-ko/TRelease-2-0
-D
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Repository b/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Repository
deleted file mode 100644
index 624a7f3..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-Edit/images
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Root b/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Root
deleted file mode 100644
index 01d4116..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-tal197 at cvs.sourceforge.net:/cvsroot/rox
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Tag b/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Tag
deleted file mode 100644
index 8833b6e..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/images/CVS/Tag
+++ /dev/null
@@ -1 +0,0 @@
-NRelease-2-0
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/marker.png b/source/rox-extra/edit/edit-2.0/Edit/images/marker.png
deleted file mode 100644
index 830d43c..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/images/marker.png and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/rox-diff.png b/source/rox-extra/edit/edit-2.0/Edit/images/rox-diff.png
deleted file mode 100644
index 0d60e5a..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/images/rox-diff.png and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/images/rox-word-wrap.png b/source/rox-extra/edit/edit-2.0/Edit/images/rox-word-wrap.png
deleted file mode 100644
index 1eee4b4..0000000
Binary files a/source/rox-extra/edit/edit-2.0/Edit/images/rox-word-wrap.png and /dev/null differ
diff --git a/source/rox-extra/edit/edit-2.0/Edit/search.py b/source/rox-extra/edit/edit-2.0/Edit/search.py
deleted file mode 100644
index bafadf0..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/search.py
+++ /dev/null
@@ -1,304 +0,0 @@
-import rox
-from rox import g
-from EditWindow import Minibuffer
-
-regex_help = (
-	('.', _('Matches any character')),
-	('[a-z]', _('Any lowercase letter')),
-	('[-+*/]', _('Any character listed (- must be first)')),
-	('^A', _('A only at the start of a line')),
-	('A$', _('A only at the end of a line')),
-	('A*', _('Zero or more A')),
-	('A+', _('One or more A')),
-	('A?', _('Zero or one A')),
-	('A{m,n}', _('Between m and n matches of A')),
-	('A*?, A+?, A??, A{}?', _('Non-greedy versions of *, +, ? and {}')),
-	('\*, \+, etc', _('Literal "*", "+"')),
-	('A|B', _('Can match A or B')),
-	('(AB)', _('Group A and B together (for *, \\1, etc)')),
-	('\\1, \\2, etc', _('The first/second bracketed match (goes in the With: box)')),
-	('\\b', _('Word boundary (eg, \\bWord\\b)')),
-	('\\B', _('Non-word boundary')),
-	('\\d, \\D', _('Digit, non-digit')),
-	('\\s, \\S', _('Whitespace, non-whitespace')),
-	(_('Others'), _('See the Python regular expression documentation for more')),
-	('', ''),
-	(_('Examples:'), ''),
-	('Fred', _('Matches "Fred" anywhere')),
-	('^Fred$', _('A line containing only "Fred"')),
-	('Go+gle', _('"Gogle, Google, Gooogle, etc"')),
-	('Colou?r', _('Colour or Color')),
-	('[tT]he', _('"The" or "the"')),
-	('M.*d', '"Md", "Mad", "Mud", "Mind", etc'),
-	('([ab][cd])+', '"ac", "ad", "acbdad", etc'),
-	('', ''),
-	(_('Python expressions:'), ''),
-	('old', _('The text that was matched')),
-	('x', _("The numerical value of 'old'")),
-	('old.upper()', _("Convert match to uppercase")),
-	('x * 2', _("Double all matched numbers")),
-)
-
-class Search(Minibuffer):
-	"A minibuffer used to search for text."
-	dir = 1
-
-	def setup(self, window):
-		self.window = window
-		buffer = window.buffer
-		s, e = window.get_selection_range()
-		self.window.mini_entry.set_text(buffer.get_text(s, e, False))
-		cursor = buffer.get_iter_at_mark(window.insert_mark)
-		buffer.move_mark_by_name('search_base', cursor)
-		self.dir = 1
-		self.set_label()
-
-		fwd = rox.ButtonMixed(g.STOCK_GO_DOWN, _('Find Next'))
-		fwd.set_relief(g.RELIEF_NONE)
-		fwd.unset_flags(g.CAN_FOCUS)
-		fwd.connect('clicked', lambda e: self.set_dir(1))
-
-		rev = rox.ButtonMixed(g.STOCK_GO_UP, _('Find Previous'))
-		rev.set_relief(g.RELIEF_NONE)
-		rev.unset_flags(g.CAN_FOCUS)
-		rev.connect('clicked', lambda e: self.set_dir(-1))
-
-		case = g.CheckButton(label=_('Match case'))
-		case.set_relief(g.RELIEF_NONE)
-		case.unset_flags(g.CAN_FOCUS)
-
-		self.window.mini_hbox.pack_start(fwd, False, True, 0)
-		self.window.mini_hbox.pack_start(rev, False, True, 0)
-#		self.window.mini_hbox.pack_start(case, False, True, 10)
-
-		self.items = [fwd, rev] #, case]
-
-	def close(self):
-		for x in self.items:
-			self.window.mini_hbox.remove(x)
-
-	info = _('Type a string to search for. The display will scroll to show the ' \
-		'next match as you type. Use the Up and Down cursor keys to move ' \
-		'to the next or previous match. Press Escape or Return to finish.')
-
-	def set_label(self):
-		self.window.set_mini_label(_(' Find: '))
-
-	def set_dir(self, dir):
-		assert dir == 1 or dir == -1
-
-		buffer = self.window.buffer
-		cursor = buffer.get_iter_at_mark(self.window.insert_mark)
-		buffer.move_mark_by_name('search_base', cursor)
-
-		if dir == self.dir:
-			if dir == 1:
-				cursor.forward_char()
-			else:
-				cursor.backward_char()
-			if self.search(cursor):
-				buffer.move_mark_by_name('search_base', cursor)
-			else:
-				g.gdk.beep()
-		else:
-			self.dir = dir
-			self.set_label()
-		self.changed()
-
-	def activate(self):
-		self.set_dir(self.dir)
-
-	def key_press(self, kev):
-		k = kev.keyval
-		if k == g.keysyms.Up:
-			self.set_dir(-1)
-		elif k == g.keysyms.Down:
-			self.set_dir(1)
-		else:
-			return 0
-		return 1
-
-	def search(self, start):
-		"Search forwards or backwards for the pattern. Matches at 'start'"
-		"are allowed in both directions. Returns (match_start, match_end) if"
-		"found."
-		iter = start.copy()
-		pattern = self.window.mini_entry.get_text()
-		if not pattern:
-			return (iter, iter)
-		if self.dir == 1:
-			found = iter.forward_search(pattern, 0, None)
-		else:
-			iter.forward_chars(len(pattern))
-			found = iter.backward_search(pattern, 0, None)
-		return found
-
-	def changed(self):
-		buffer = self.window.buffer
-		pos = buffer.get_iter_at_mark(self.window.search_base)
-
-		found = self.search(pos)
-		if found:
-			buffer.move_mark_by_name('insert', found[0])
-			buffer.move_mark_by_name('selection_bound', found[1])
-			self.window.text.scroll_to_iter(found[0], 0.05, False)
-		else:
-			g.gdk.beep()
-
-class RegexHelp(g.ScrolledWindow):
-	def __init__(self):
-		g.ScrolledWindow.__init__(self)
-		self.set_shadow_type(g.SHADOW_IN)
-		self.set_policy(g.POLICY_NEVER, g.POLICY_AUTOMATIC)
-
-		model = g.ListStore(str, str)
-		view = g.TreeView(model)
-		self.add(view)
-		view.show()
-
-		cell = g.CellRendererText()
-		column = g.TreeViewColumn(_('Code'), cell, text = 0)
-		view.append_column(column)
-		column = g.TreeViewColumn(_('Meaning'), cell, text = 1)
-		view.append_column(column)
-
-		for c, m in regex_help:
-			new = model.append()
-			model.set(new, 0, c, 1, m)
-
-		self.set_size_request(-1, 150)
-
-		view.get_selection().set_mode(g.SELECTION_NONE)
-
-history = {}	# Field name -> last value
-
-class Replace(rox.Dialog):
-	def __init__(self, window):
-		self.edit_window = window
-		rox.Dialog.__init__(self, parent = window,
-					flags = g.DIALOG_DESTROY_WITH_PARENT |
-						g.DIALOG_NO_SEPARATOR)
-		self.add_button(g.STOCK_CANCEL, g.RESPONSE_CANCEL)
-		self.add_button(g.STOCK_FIND_AND_REPLACE, g.RESPONSE_OK)
-		self.set_default_response(g.RESPONSE_OK)
-
-		def response(dialog, resp):
-			if resp == g.RESPONSE_OK:
-				self.do_replace()
-			else:
-				self.destroy()
-		self.connect('response', response)
-
-		vbox = g.VBox(False, 5)
-		self.vbox.pack_start(vbox, True, True, 0)
-		vbox.set_border_width(5)
-		self.sizegroup = g.SizeGroup(g.SIZE_GROUP_HORIZONTAL)
-
-		def field(name):
-			hbox = g.HBox(False, 2)
-			vbox.pack_start(hbox, False, True, 0)
-			entry = g.Entry()
-			label = g.Label(name)
-			self.sizegroup.add_widget(label)
-			hbox.pack_start(label, False, True, 0)
-			hbox.pack_start(entry, True, True, 0)
-			entry.set_text(history.get(name, ''))
-			def changed(entry):
-				history[name] = entry.get_text()
-			entry.connect('changed', changed)
-			entry.set_activates_default(True)
-
-			return entry
-
-		self.replace_entry = field(_('Replace:'))
-		self.with_entry = field(_('With:'))
-
-
-		hbox = g.HBox(False)
-		label = g.Label()
-		self.sizegroup.add_widget(label)
-		hbox.pack_start(label, False, False, 3)
-		self.regex = g.CheckButton(_('Advanced search and replace'))
-		hbox.pack_start(self.regex, False, False, 0)
-		vbox.pack_start(hbox, False, True, 0)
-		self.vbox.show_all()
-
-		regex_help = RegexHelp()
-		vbox.pack_start(regex_help, True, True, 0)
-
-		self.python_with = g.CheckButton(_("Evaluate 'With' as Python expression"))
-		def changed(toggle): history['Python'] = toggle.get_active()
-		vbox.pack_start(self.python_with, False, True, 0)
-		self.python_with.set_active(history.get('Python', False))
-		self.python_with.connect('toggled', changed)
-
-		def changed(toggle):
-			history['Advanced'] = toggle.get_active()
-			if toggle.get_active():
-				regex_help.show()
-				self.python_with.show()
-			else:
-				regex_help.hide()
-				self.python_with.hide()
-				self.resize(1, 1)
-		self.regex.connect('toggled', changed)
-		self.regex.set_active(history.get('Advanced', False))
-
-	def do_replace(self, show_info = True):
-		regex = self.regex.get_active()
-
-		replace = self.replace_entry.get_text()
-		if not replace:
-			rox.alert(_('You need to specify something to search for...'))
-			return
-		with = self.with_entry.get_text()
-
-		changes = [0]
-		if regex:
-			import re
-			try:
-				prog = re.compile(replace)
-			except:
-				rox.report_exception()
-				return
-			python = self.python_with.get_active()
-			if python:
-				try:
-					code = compile(with, 'With', 'eval')
-					def with(match):
-						locals = {'old': match.group(0)}
-						try:
-							locals['x'] = float(locals['old'])
-						except:
-							locals['x'] = None
-						return str(eval(code, locals))
-				except:
-					rox.report_exception()
-					return
-			def do_line(line):
-				new, n = prog.subn(with, line)
-				if n:
-					changes[0] += 1
-					return new
-		else:
-			def do_line(line):
-				new = line.replace(replace, with)
-				if new == line:
-					return None
-				changes[0] += 1
-				return new
-
-		try:
-			self.edit_window.process_selected(do_line)
-		except:
-			rox.report_exception()
-			return
-		if not changes[0]:
-			rox.alert(_('Search string not found'))
-			return
-		if show_info:
-			if changes[0] == 1:
-				rox.info(_('One line changed'))
-			else:
-				rox.info(_('%d lines changed') % changes[0])
-		self.destroy()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/setup.py b/source/rox-extra/edit/edit-2.0/Edit/setup.py
deleted file mode 100644
index 64978b7..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/setup.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import findrox; findrox.version(1, 19, 14)
-
-import sys, os
-import rox
-from rox import g
-
-try:
-	import setup
-	import __main__
-
-	__main__.__builtins__._ = rox.i18n.translation(os.path.join(rox.app_dir, 'Messages'))
-
-	g.rc_parse_string('style "edit-text-area" { GtkWidget::cursor-color = "#e00"\n'
-			      'GtkWidget::cursor-aspect-ratio = 0.1}\n'
-			      'style "edit-scrolled" { GtkScrolledWindow::scrollbar-spacing = 0}\n'
-			      'class "GtkScrolledWindow" style : gtk "edit-scrolled"\n'
-			      'class "GtkTextView" style : gtk "edit-text-area"\n')
-
-	# Load icons
-	factory = g.IconFactory()
-	for name in ['rox-diff']:
-		path = os.path.join(rox.app_dir, "images", name + ".png")
-		pixbuf = g.gdk.pixbuf_new_from_file(path)
-		if not pixbuf:
-			print >>sys.stderr, "Can't load stock icon '%s'" % name
-		g.stock_add([(name, name, 0, 0, "")])
-		factory.add(name, g.IconSet(pixbuf = pixbuf))
-	factory.add_default()
-
-	from rox import choices
-	choices.migrate('Edit', 'rox.sourceforge.net')
-	rox.setup_app_options('Edit', site='rox.sourceforge.net')
-
-	# Register options...
-	import EditWindow
-	import diff
-
-	# All options must be registered by the time we get here
-	rox.app_options.notify()
-except:
-	rox.report_exception()
diff --git a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Entries b/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Entries
deleted file mode 100644
index a8de955..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Entries
+++ /dev/null
@@ -1,2 +0,0 @@
-/testreplace.py/1.2/Sat Jan 29 11:38:11 2005//TRelease-2-0
-D
diff --git a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Repository b/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Repository
deleted file mode 100644
index 2fcfbfa..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-Edit/tests
diff --git a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Root b/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Root
deleted file mode 100644
index 01d4116..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-tal197 at cvs.sourceforge.net:/cvsroot/rox
diff --git a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Tag b/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Tag
deleted file mode 100644
index 8833b6e..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/tests/CVS/Tag
+++ /dev/null
@@ -1 +0,0 @@
-NRelease-2-0
diff --git a/source/rox-extra/edit/edit-2.0/Edit/tests/testreplace.py b/source/rox-extra/edit/edit-2.0/Edit/tests/testreplace.py
deleted file mode 100755
index c57c171..0000000
--- a/source/rox-extra/edit/edit-2.0/Edit/tests/testreplace.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env python2.2
-import unittest
-import sys
-import os, time
-from os.path import dirname, abspath, join
-
-sys.path.insert(0, '..')
-sys.argv[0] = dirname(sys.argv[0])
-
-import setup
-from EditWindow import EditWindow
-import search
-
-class TestReplace(unittest.TestCase):
-	def setUp(self):
-		self.win = EditWindow(show = False)
-		self.win.buffer.begin_user_action()
-		self.win.buffer.insert_at_cursor("Hello\n")
-		self.win.buffer.end_user_action()
-		self.win.buffer.start_undo_history()
-
-	def tearDown(self):
-		self.win.destroy()
-
-	def get_text(self):
-		s = self.win.buffer.get_start_iter()
-		e = self.win.buffer.get_end_iter()
-                return self.win.buffer.get_text(s, e, True)
-
-	def assertNow(self, expected):
-		actual = self.get_text()
-		if actual != expected:
-			raise AssertionError("Incorrect final text.\n"
-				"Expected:\n%s\nActual:\n%s" % (expected[:100], actual[:100]))
-
-	def testSimple(self):
-		self.win.process_selected(lambda x: "World")
-		self.assertNow("World\n")
-		self.win.undo()
-		self.assertNow("Hello\n")
-
-	def testReplace(self):
-		self.win.undo()
-		self.win.buffer.begin_user_action()
-		self.win.buffer.insert_at_cursor("deàça")
-		self.win.buffer.end_user_action()
-		replace = search.Replace(self.win)
-		replace.replace_entry.set_text("a")
-		replace.with_entry.set_text("b")
-		replace.do_replace(show_info = False)
-
-		self.assertNow("deàçb")
-
-		self.win.undo()
-		self.assertNow("deàça")
-
-
-sys.argv.append('-v')
-unittest.main()


More information about the Frugalware-git mailing list