################################################################################
#
# 01meld-win32-and-gtk-only.patch 
# Patch to free meld as much as possible from gnome, enabling it to be used on
# platforms that lack the full gnome experience. This patch also targets getting
# meld running on the most irritating platform of all - Windows !
#
# This is for early viewing and as such, this patch is in no way complete
#
# Guilty Party: Greg Bowyer <gbowyer@fastmail.co.uk>
# Version: 0.1
# Verses: Local vs Revision 1069
# Context: From meld root (-p0)
#
################################################################################

Index: fileentry.py
===================================================================
--- fileentry.py	(revision 0)
+++ fileentry.py	(revision 0)
@@ -0,0 +1,78 @@
+import gnomeglade
+import paths
+
+class FileEntry(gnomeglade.Component):
+	""" Raw GTK replacement for the GnomeFileEntry widget that is used within meld.
+		The rational for this is simple, by reimplementing the (deprecated) gnome 
+		widget, we are able to free meld from gnome (and as a nice side effect get meld
+		running on windows)
+
+		:author: Greg Bowyer <gbowyer@fastmail.co.uk> """
+
+	def __init__(self, prefs, ordinal, activate_callback, directory_browser):
+		""" Initialises the widget, the callback is available to allow for interesting behaviour to 
+			be setup with regard to autocompletion """
+		gnomeglade.Component.__init__(self, paths.share_dir('glade2/fileentry.glade'), 'fileentry', {})
+		self.ordinal = ordinal
+
+		self.text = self.xml.get_widget('fileentrytext')
+		self.browse = self.xml.get_widget('fileentrybrowsebutton')
+		self.history = self.xml.get_widget('fileentryhistorybutton')
+
+		self.chooser = FileEntryChooser(self.filechoose_callback, directory_browser)
+
+		self.callback = activate_callback
+		self.text.connect("activate", activate_callback)
+
+	def __getitem__(self, index):
+		raise "ERROR"
+
+	def filechoose_callback(self, filename):
+		self.set_filename(filename)
+		self.callback(self.text)
+
+	def set_filename(self, filename):
+		self.filename = filename
+		self.text.set_text(filename)
+
+	def get_full_path(self, exists):
+		if exists:
+			# Check file exists ?
+			pass
+		return self.text.get_text()
+
+	def set_files(self, files):
+		print files
+
+	def show(self):
+		self.widget.show()
+
+	def hide(self):
+		self.widget.hide()
+
+	def on_fileentrybrowsebutton_clicked(self, object):
+		self.chooser.set_filename(self.filename);
+		self.chooser.show()
+	
+class FileEntryChooser(gnomeglade.Component):
+
+	def __init__(self, callback, directory_browser):
+		gnomeglade.Component.__init__(self, paths.share_dir('glade2/fileentry.glade'), 'fileentrychooser', {})
+		self.show = self.widget.show
+		self.hide = self.widget.hide
+		self.callback = callback
+
+	def on_fileentrychoosercancelbutton_clicked(self, button):
+		self.hide()
+
+	def on_fileentrychooseropenbutton_clicked(self, button):
+		if self.widget.get_filename():
+			self.callback(self.widget.get_filename())
+		self.hide()
+
+	def set_filename(self, name):
+		self.widget.set_filename(name)
+	
+	def get_filename(self):
+		return self.widget.get_filename()
+

Index: gnomeglade.py
===================================================================
--- gnomeglade.py	(revision 1069)
+++ gnomeglade.py	(working copy)
@@ -19,8 +19,13 @@
 
 import gtk
 import gtk.glade
+
 # FIXME: remove once there are no GnomeUI-based widgets in the glade file
-import gnome.ui
+try:
+	import gnome.ui
+except ImportError:
+	pass
+	# No gnome, must be windows
 
 class Component(object):
     """Base class for all glade objects.
@@ -45,8 +50,8 @@
         self.widget.set_data("pyobject", self)
 
     def __getattr__(self, key):
-        """Allow glade widgets to be accessed as self.widgetname.
-        """
+        """Allow glade widgets to be accessed as self.widgetname."""
+
         widget = self.xml.get_widget(key)
         if widget: # cache lookups
             setattr(self, key, widget)
Index: vcview.py
===================================================================
--- vcview.py	(revision 1069)
+++ vcview.py	(working copy)
@@ -135,6 +135,9 @@
         )
 
         ui_file = paths.share_dir("glade2/vcview-ui.xml")
+
+        self._create_file_entries()
+
         self.actiongroup = gtk.ActionGroup('VcviewActions')
         self.actiongroup.set_translation_domain("meld")
         self.actiongroup.add_actions(actions)
@@ -196,8 +199,9 @@
         self.consolestream = ConsoleStream(self.consoleview)
         self.location = None
         self.treeview_column_location.set_visible(self.actiongroup.get_action("VcFlatten").get_active())
-        size = self.fileentry.size_request()[1]
-        self.button_jump.set_size_request(size, size)
+        #size = self.fileentry.size_request()[1]
+        #self.button_jump.set_size_request(size, size)
+        self.button_jump.set_size_request(10, 10)
         self.button_jump.hide()
         if not self.prefs.vc_console_visible:
             self.on_console_view_toggle(self.console_hide_box)
@@ -205,7 +209,7 @@
     def set_location(self, location):
         self.model.clear()
         self.location = location = os.path.abspath(location or ".")
-        self.fileentry.gtk_entry().set_text(location)
+        #self.fileentry.gtk_entry().set_text(location)
         self.vc = vc.Vc(location)
         it = self.model.add_entries( None, [location] )
         self.treeview.grab_focus()
Index: dirdiff.py
===================================================================
--- dirdiff.py	(revision 1069)
+++ dirdiff.py	(working copy)
@@ -31,6 +31,8 @@
 import stat
 import time
 
+from fileentry import FileEntry
+
 gdk = gtk.gdk
 
 ################################################################################
@@ -222,6 +224,7 @@
         self.map_widgets_into_lists( ["treeview", "fileentry", "diffmap", "scrolledwindow", "linkmap"] )
         self.popup_menu = self.ui.get_widget('/DirdiffPopup')
         self.popup_menu.connect("deactivate", self.on_popup_deactivate_event)
+        self._create_file_entries(num_panes)
         self.set_num_panes(num_panes)
         self.focus_in_events = []
         self.focus_out_events = []
Index: glade2/dirdiff.glade
===================================================================
--- glade2/dirdiff.glade	(revision 1069)
+++ glade2/dirdiff.glade	(working copy)
@@ -1,444 +1,372 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<?xml version="1.0" standalone="no"?> 
 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<!--*- mode: xml -*-->
 <glade-interface>
-<requires lib="gnome"/>
+	<widget class="GtkWindow" id="container">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">window1</property>
+		<property name="type">GTK_WINDOW_TOPLEVEL</property>
+		<property name="window_position">GTK_WIN_POS_NONE</property>
+		<property name="modal">False</property>
+		<property name="resizable">True</property>
+		<property name="destroy_with_parent">False</property>
+		<property name="decorated">True</property>
+		<property name="skip_taskbar_hint">False</property>
+		<property name="skip_pager_hint">False</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+		<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+		<property name="focus_on_map">True</property>
+		<property name="urgency_hint">False</property>
 
-<widget class="GtkWindow" id="container">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">window1</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
+		<child>
+			<widget class="GtkVBox" id="dirdiff">
+				<property name="visible">True</property>
+				<property name="homogeneous">False</property>
+				<property name="spacing">0</property>
 
-  <child>
-    <widget class="GtkVBox" id="dirdiff">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
+				<child>
+					<widget class="GtkTable" id="table">
+						<property name="visible">True</property>
+						<property name="n_rows">2</property>
+						<property name="n_columns">7</property>
+						<property name="homogeneous">False</property>
+						<property name="row_spacing">0</property>
+						<property name="column_spacing">0</property>
 
-      <child>
-	<widget class="GtkTable" id="table">
-	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">7</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">0</property>
-	  <property name="column_spacing">0</property>
+						<child>
+							<widget class="GtkScrolledWindow" id="scrolledwindow0">
+								<property name="visible">True</property>
+								<property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="shadow_type">GTK_SHADOW_NONE</property>
+								<property name="window_placement">GTK_CORNER_TOP_RIGHT</property>
 
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow0">
-	      <property name="visible">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_RIGHT</property>
+								<child>
+									<widget class="GtkTreeView" id="treeview0">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="headers_visible">False</property>
+										<property name="rules_hint">False</property>
+										<property name="reorderable">False</property>
+										<property name="enable_search">True</property>
+										<property name="fixed_height_mode">False</property>
+										<property name="hover_selection">False</property>
+										<property name="hover_expand">False</property>
+										<signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:11 GMT"/>
+										<signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:46 GMT"/>
+										<signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:01 GMT"/>
+										<signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:44 GMT"/>
+										<signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 21:04:29 GMT"/>
+										<signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:09:35 GMT"/>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="left_attach">1</property>
+								<property name="right_attach">2</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	      <child>
-		<widget class="GtkTreeView" id="treeview0">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">False</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		  <signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:11 GMT"/>
-		  <signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:46 GMT"/>
-		  <signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:01 GMT"/>
-		  <signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:44 GMT"/>
-		  <signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 21:04:29 GMT"/>
-		  <signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:09:35 GMT"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkScrolledWindow" id="scrolledwindow1">
+								<property name="visible">True</property>
+								<property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="shadow_type">GTK_SHADOW_NONE</property>
+								<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow1">
-	      <property name="visible">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+								<child>
+									<widget class="GtkTreeView" id="treeview1">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="headers_visible">False</property>
+										<property name="rules_hint">False</property>
+										<property name="reorderable">False</property>
+										<property name="enable_search">True</property>
+										<property name="fixed_height_mode">False</property>
+										<property name="hover_selection">False</property>
+										<property name="hover_expand">False</property>
+										<signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:29 GMT"/>
+										<signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:36 GMT"/>
+										<signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:07 GMT"/>
+										<signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:58 GMT"/>
+										<signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:15:38 GMT"/>
+										<signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 22:22:39 GMT"/>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="left_attach">3</property>
+								<property name="right_attach">4</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	      <child>
-		<widget class="GtkTreeView" id="treeview1">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">False</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		  <signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:29 GMT"/>
-		  <signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:36 GMT"/>
-		  <signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:07 GMT"/>
-		  <signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:58 GMT"/>
-		  <signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:15:38 GMT"/>
-		  <signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 22:22:39 GMT"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">3</property>
-	      <property name="right_attach">4</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkHBox" id="fileentrycontainer0" />
+							<packing>
+								<property name="left_attach">1</property>
+								<property name="right_attach">2</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GnomeFileEntry" id="fileentry0">
-	      <property name="visible">True</property>
-	      <property name="history_id">direntry</property>
-	      <property name="max_saved">10</property>
-	      <property name="directory_entry">True</property>
-	      <property name="modal">False</property>
-	      <property name="use_filechooser">True</property>
-	      <property name="filechooser_action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-	      <signal name="activate" handler="on_fileentry_activate" last_modification_time="Tue, 30 Jul 2002 21:08:21 GMT"/>
+						<child>
+							<widget class="GtkHBox" id="fileentrycontainer1" />
+							<packing>
+								<property name="left_attach">3</property>
+								<property name="right_attach">4</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="comboentry0">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkHBox" id="fileentrycontainer2" />
+							<packing>
+								<property name="left_attach">5</property>
+								<property name="right_attach">6</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GnomeFileEntry" id="fileentry1">
-	      <property name="visible">True</property>
-	      <property name="history_id">direntry</property>
-	      <property name="max_saved">10</property>
-	      <property name="directory_entry">True</property>
-	      <property name="modal">False</property>
-	      <property name="use_filechooser">True</property>
-	      <property name="filechooser_action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-	      <signal name="activate" handler="on_fileentry_activate" last_modification_time="Thu, 18 Jul 2002 10:45:51 GMT"/>
+						<child>
+							<widget class="GtkLabel" id="label4">
+								<property name="visible">True</property>
+								<property name="label" translatable="yes"></property>
+								<property name="use_underline">False</property>
+								<property name="use_markup">False</property>
+								<property name="justify">GTK_JUSTIFY_LEFT</property>
+								<property name="wrap">False</property>
+								<property name="selectable">False</property>
+								<property name="xalign">0</property>
+								<property name="yalign">0.5</property>
+								<property name="xpad">0</property>
+								<property name="ypad">0</property>
+								<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+								<property name="width_chars">-1</property>
+								<property name="single_line_mode">False</property>
+								<property name="angle">0</property>
+							</widget>
+							<packing>
+								<property name="left_attach">6</property>
+								<property name="right_attach">7</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="x_options">fill</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="comboentry1">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">3</property>
-	      <property name="right_attach">4</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkDrawingArea" id="diffmap1">
+								<property name="width_request">20</property>
+								<property name="visible">True</property>
+								<property name="events">GDK_BUTTON_PRESS_MASK</property>
+								<signal name="expose_event" handler="on_diffmap_expose_event" last_modification_time="Wed, 21 May 2003 19:30:53 GMT"/>
+								<signal name="button_press_event" handler="on_diffmap_button_press_event" last_modification_time="Thu, 24 Jul 2003 19:32:10 GMT"/>
+							</widget>
+							<packing>
+								<property name="left_attach">6</property>
+								<property name="right_attach">7</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="x_options">fill</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GnomeFileEntry" id="fileentry2">
-	      <property name="visible">True</property>
-	      <property name="history_id">direntry</property>
-	      <property name="max_saved">10</property>
-	      <property name="browse_dialog_title" translatable="yes"></property>
-	      <property name="directory_entry">True</property>
-	      <property name="modal">False</property>
-	      <property name="use_filechooser">True</property>
-	      <property name="filechooser_action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-	      <signal name="activate" handler="on_fileentry_activate" last_modification_time="Thu, 18 Jul 2002 10:46:00 GMT"/>
+						<child>
+							<widget class="GtkDrawingArea" id="linkmap1">
+								<property name="width_request">50</property>
+								<property name="visible">True</property>
+								<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+								<signal name="scroll_event" handler="on_linkmap_scroll_event" last_modification_time="Fri, 01 Aug 2003 12:42:20 GMT"/>
+							</widget>
+							<packing>
+								<property name="left_attach">4</property>
+								<property name="right_attach">5</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="x_options">fill</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="comboentry2">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">5</property>
-	      <property name="right_attach">6</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkDrawingArea" id="diffmap0">
+								<property name="width_request">20</property>
+								<property name="visible">True</property>
+								<property name="events">GDK_BUTTON_PRESS_MASK</property>
+								<signal name="expose_event" handler="on_diffmap_expose_event" last_modification_time="Wed, 21 May 2003 19:30:44 GMT"/>
+								<signal name="button_press_event" handler="on_diffmap_button_press_event" last_modification_time="Thu, 24 Jul 2003 19:32:02 GMT"/>
+							</widget>
+							<packing>
+								<property name="left_attach">0</property>
+								<property name="right_attach">1</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="x_options">fill</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkLabel" id="label4">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">6</property>
-	      <property name="right_attach">7</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkScrolledWindow" id="scrolledwindow2">
+								<property name="visible">True</property>
+								<property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+								<property name="shadow_type">GTK_SHADOW_NONE</property>
+								<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-	  <child>
-	    <widget class="GtkDrawingArea" id="diffmap1">
-	      <property name="width_request">20</property>
-	      <property name="visible">True</property>
-	      <property name="events">GDK_BUTTON_PRESS_MASK</property>
-	      <signal name="expose_event" handler="on_diffmap_expose_event" last_modification_time="Wed, 21 May 2003 19:30:53 GMT"/>
-	      <signal name="button_press_event" handler="on_diffmap_button_press_event" last_modification_time="Thu, 24 Jul 2003 19:32:10 GMT"/>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">6</property>
-	      <property name="right_attach">7</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
+								<child>
+									<widget class="GtkTreeView" id="treeview2">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="headers_visible">False</property>
+										<property name="rules_hint">False</property>
+										<property name="reorderable">False</property>
+										<property name="enable_search">True</property>
+										<property name="fixed_height_mode">False</property>
+										<property name="hover_selection">False</property>
+										<property name="hover_expand">False</property>
+										<signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:29 GMT"/>
+										<signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:36 GMT"/>
+										<signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:07 GMT"/>
+										<signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:58 GMT"/>
+										<signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:15:54 GMT"/>
+										<signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 22:22:48 GMT"/>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="left_attach">5</property>
+								<property name="right_attach">6</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkDrawingArea" id="linkmap1">
-	      <property name="width_request">50</property>
-	      <property name="visible">True</property>
-	      <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-	      <signal name="scroll_event" handler="on_linkmap_scroll_event" last_modification_time="Fri, 01 Aug 2003 12:42:20 GMT"/>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">4</property>
-	      <property name="right_attach">5</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkDrawingArea" id="linkmap0">
+								<property name="width_request">50</property>
+								<property name="visible">True</property>
+								<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+								<signal name="scroll_event" handler="on_linkmap_scroll_event" last_modification_time="Fri, 01 Aug 2003 12:42:07 GMT"/>
+							</widget>
+							<packing>
+								<property name="left_attach">2</property>
+								<property name="right_attach">3</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="x_options">fill</property>
+								<property name="y_options">fill</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkDrawingArea" id="diffmap0">
-	      <property name="width_request">20</property>
-	      <property name="visible">True</property>
-	      <property name="events">GDK_BUTTON_PRESS_MASK</property>
-	      <signal name="expose_event" handler="on_diffmap_expose_event" last_modification_time="Wed, 21 May 2003 19:30:44 GMT"/>
-	      <signal name="button_press_event" handler="on_diffmap_button_press_event" last_modification_time="Thu, 24 Jul 2003 19:32:02 GMT"/>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkLabel" id="label5">
+								<property name="visible">True</property>
+								<property name="label" translatable="yes"></property>
+								<property name="use_underline">False</property>
+								<property name="use_markup">False</property>
+								<property name="justify">GTK_JUSTIFY_LEFT</property>
+								<property name="wrap">False</property>
+								<property name="selectable">False</property>
+								<property name="xalign">0</property>
+								<property name="yalign">0.5</property>
+								<property name="xpad">0</property>
+								<property name="ypad">0</property>
+								<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+								<property name="width_chars">-1</property>
+								<property name="single_line_mode">False</property>
+								<property name="angle">0</property>
+							</widget>
+							<packing>
+								<property name="left_attach">0</property>
+								<property name="right_attach">1</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="x_options">fill</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow2">
-	      <property name="visible">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+						<child>
+							<widget class="GtkLabel" id="label6">
+								<property name="visible">True</property>
+								<property name="label" translatable="yes"></property>
+								<property name="use_underline">False</property>
+								<property name="use_markup">False</property>
+								<property name="justify">GTK_JUSTIFY_LEFT</property>
+								<property name="wrap">False</property>
+								<property name="selectable">False</property>
+								<property name="xalign">0</property>
+								<property name="yalign">0.5</property>
+								<property name="xpad">0</property>
+								<property name="ypad">0</property>
+								<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+								<property name="width_chars">-1</property>
+								<property name="single_line_mode">False</property>
+								<property name="angle">0</property>
+							</widget>
+							<packing>
+								<property name="left_attach">2</property>
+								<property name="right_attach">3</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="x_options">fill</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
 
-	      <child>
-		<widget class="GtkTreeView" id="treeview2">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">False</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		  <signal name="row_expanded" handler="on_treeview_row_expanded" last_modification_time="Sun, 03 Nov 2002 16:03:29 GMT"/>
-		  <signal name="row_collapsed" handler="on_treeview_row_collapsed" last_modification_time="Sun, 03 Nov 2002 16:08:36 GMT"/>
-		  <signal name="row_activated" handler="on_treeview_row_activated" last_modification_time="Sun, 03 Nov 2002 17:24:07 GMT"/>
-		  <signal name="button_press_event" handler="on_treeview_button_press_event" last_modification_time="Wed, 19 Mar 2003 10:22:58 GMT"/>
-		  <signal name="key_press_event" handler="on_treeview_key_press_event" last_modification_time="Sun, 14 Dec 2003 22:15:54 GMT"/>
-		  <signal name="cursor_changed" handler="on_treeview_cursor_changed" last_modification_time="Sun, 14 Dec 2003 22:22:48 GMT"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">5</property>
-	      <property name="right_attach">6</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkDrawingArea" id="linkmap0">
-	      <property name="width_request">50</property>
-	      <property name="visible">True</property>
-	      <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-	      <signal name="scroll_event" handler="on_linkmap_scroll_event" last_modification_time="Fri, 01 Aug 2003 12:42:07 GMT"/>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label5">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label6">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label7">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">4</property>
-	      <property name="right_attach">5</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkLabel" id="label7">
+								<property name="visible">True</property>
+								<property name="label" translatable="yes"></property>
+								<property name="use_underline">False</property>
+								<property name="use_markup">False</property>
+								<property name="justify">GTK_JUSTIFY_LEFT</property>
+								<property name="wrap">False</property>
+								<property name="selectable">False</property>
+								<property name="xalign">0</property>
+								<property name="yalign">0.5</property>
+								<property name="xpad">0</property>
+								<property name="ypad">0</property>
+								<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+								<property name="width_chars">-1</property>
+								<property name="single_line_mode">False</property>
+								<property name="angle">0</property>
+							</widget>
+							<packing>
+								<property name="left_attach">4</property>
+								<property name="right_attach">5</property>
+								<property name="top_attach">0</property>
+								<property name="bottom_attach">1</property>
+								<property name="x_options">fill</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">True</property>
+						<property name="fill">True</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
 	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
 
 </glade-interface>
Index: glade2/filediff.glade
===================================================================
--- glade2/filediff.glade	(revision 1069)
+++ glade2/filediff.glade	(working copy)
@@ -2,738 +2,694 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <requires lib="gnome"/>
-  <widget class="GtkWindow" id="container">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">window1</property>
-    <signal name="destroy" handler="on_delete_event"/>
-    <child>
-      <widget class="GtkTable" id="filediff">
-        <property name="visible">True</property>
-        <property name="n_rows">2</property>
-        <property name="n_columns">7</property>
-        <child>
-          <placeholder/>
-        </child>
-        <child>
-          <widget class="GnomeFileEntry" id="fileentry2">
-            <property name="visible">True</property>
-            <property name="history_id">fileentry</property>
-            <property name="use_filechooser">True</property>
-            <property name="max_saved">10</property>
-            <signal name="activate" handler="on_fileentry_activate"/>
-            <child internal-child="entry">
-              <widget class="GtkEntry" id="comboentry0">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">5</property>
-            <property name="right_attach">6</property>
-            <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GnomeFileEntry" id="fileentry1">
-            <property name="visible">True</property>
-            <property name="history_id">fileentry</property>
-            <property name="use_filechooser">True</property>
-            <property name="max_saved">10</property>
-            <signal name="activate" handler="on_fileentry_activate"/>
-            <child internal-child="entry">
-              <widget class="GtkEntry" id="comboentry1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">3</property>
-            <property name="right_attach">4</property>
-            <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GnomeFileEntry" id="fileentry0">
-            <property name="visible">True</property>
-            <property name="history_id">fileentry</property>
-            <property name="use_filechooser">True</property>
-            <property name="max_saved">10</property>
-            <signal name="activate" handler="on_fileentry_activate"/>
-            <child internal-child="entry">
-              <widget class="GtkEntry" id="comboentry0">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
-            <property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
-            <property name="y_options"></property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow0">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="window_placement">GTK_CORNER_TOP_RIGHT</property>
-            <child>
-              <widget class="GtkTextView" id="textview0">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <signal name="button_press_event" handler="on_textview_button_press_event"/>
-                <signal name="expose_event" handler="on_textview_expose_event"/>
-                <signal name="move_cursor" handler="on_textview_move_cursor"/>
-                <signal name="focus_in_event" handler="on_textview_focus_in_event"/>
-                <signal name="key_press_event" handler="on_key_press_event"/>
-                <signal name="key_release_event" handler="on_key_release_event"/>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkImage" id="statusimage2">
-            <property name="width_request">20</property>
-            <property name="visible">True</property>
-            <property name="xalign">1</property>
-            <property name="stock">gtk-missing-image</property>
-          </widget>
-          <packing>
-            <property name="left_attach">4</property>
-            <property name="right_attach">5</property>
-            <property name="x_options">GTK_SHRINK | GTK_FILL</property>
-            <property name="y_options">GTK_SHRINK | GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkImage" id="statusimage1">
-            <property name="visible">True</property>
-            <property name="xalign">1</property>
-            <property name="stock">gtk-missing-image</property>
-          </widget>
-          <packing>
-            <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
-            <property name="x_options">GTK_SHRINK | GTK_FILL</property>
-            <property name="y_options">GTK_SHRINK | GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkImage" id="statusimage0">
-            <property name="visible">True</property>
-            <property name="xalign">1</property>
-            <property name="stock">gtk-missing-image</property>
-          </widget>
-          <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <widget class="GtkTextView" id="textview2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <signal name="button_press_event" handler="on_textview_button_press_event"/>
-                <signal name="expose_event" handler="on_textview_expose_event"/>
-                <signal name="move_cursor" handler="on_textview_move_cursor"/>
-                <signal name="focus_in_event" handler="on_textview_focus_in_event"/>
-                <signal name="key_press_event" handler="on_key_press_event"/>
-                <signal name="key_release_event" handler="on_key_release_event"/>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">5</property>
-            <property name="right_attach">6</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <widget class="GtkTextView" id="textview1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <signal name="button_press_event" handler="on_textview_button_press_event"/>
-                <signal name="expose_event" handler="on_textview_expose_event"/>
-                <signal name="move_cursor" handler="on_textview_move_cursor"/>
-                <signal name="focus_in_event" handler="on_textview_focus_in_event"/>
-                <signal name="key_press_event" handler="on_key_press_event"/>
-                <signal name="key_release_event" handler="on_key_release_event"/>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="left_attach">3</property>
-            <property name="right_attach">4</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkDrawingArea" id="diffmap1">
-            <property name="width_request">20</property>
-            <property name="visible">True</property>
-            <property name="events">GDK_BUTTON_PRESS_MASK</property>
-            <signal name="expose_event" handler="on_diffmap_expose_event"/>
-            <signal name="button_press_event" handler="on_diffmap_button_press_event"/>
-          </widget>
-          <packing>
-            <property name="left_attach">6</property>
-            <property name="right_attach">7</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkDrawingArea" id="linkmap0">
-            <property name="width_request">50</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="has_focus">True</property>
-            <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
-            <signal name="expose_event" handler="on_linkmap_expose_event"/>
-            <signal name="button_press_event" handler="on_linkmap_button_press_event"/>
-            <signal name="key_press_event" handler="on_key_press_event"/>
-            <signal name="button_release_event" handler="on_linkmap_button_release_event"/>
-            <signal name="key_release_event" handler="on_key_release_event"/>
-            <signal name="scroll_event" handler="on_linkmap_scroll_event"/>
-          </widget>
-          <packing>
-            <property name="left_attach">2</property>
-            <property name="right_attach">3</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkDrawingArea" id="diffmap0">
-            <property name="width_request">20</property>
-            <property name="visible">True</property>
-            <property name="events">GDK_BUTTON_PRESS_MASK</property>
-            <signal name="expose_event" handler="on_diffmap_expose_event"/>
-            <signal name="button_press_event" handler="on_diffmap_button_press_event"/>
-          </widget>
-          <packing>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkDrawingArea" id="linkmap1">
-            <property name="width_request">50</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="has_focus">True</property>
-            <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
-            <signal name="expose_event" handler="on_linkmap_expose_event"/>
-            <signal name="button_press_event" handler="on_linkmap_button_press_event"/>
-            <signal name="key_press_event" handler="on_key_press_event"/>
-            <signal name="button_release_event" handler="on_linkmap_button_release_event"/>
-            <signal name="key_release_event" handler="on_key_release_event"/>
-            <signal name="scroll_event" handler="on_linkmap_scroll_event"/>
-          </widget>
-          <packing>
-            <property name="left_attach">4</property>
-            <property name="right_attach">5</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="closedialog">
-    <property name="title" translatable="yes">Save modified files?</property>
-    <property name="resizable">False</property>
-    <property name="icon">pixmaps/icon.png</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="has_separator">False</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="spacing">12</property>
-        <child>
-          <widget class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <property name="spacing">12</property>
-            <child>
-              <widget class="GtkImage" id="image1">
-                <property name="visible">True</property>
-                <property name="yalign">0</property>
-                <property name="xpad">12</property>
-                <property name="ypad">12</property>
-                <property name="stock">gtk-dialog-warning</property>
-                <property name="icon_size">6</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkVBox" id="box">
-                <property name="visible">True</property>
-                <child>
-                  <widget class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="xpad">12</property>
-                    <property name="ypad">12</property>
-                    <property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;Some files have been modified.
-Which ones would you like to save?&lt;/span&gt;</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="can_default">True</property>
-            <property name="has_default">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <widget class="GtkButton" id="button_quit">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="response_id">-7</property>
-                <child>
-                  <widget class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <widget class="GtkHBox" id="hbox3">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <widget class="GtkImage" id="image25">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-quit</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label10">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Discard Changes</property>
-                            <property name="use_underline">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button_cancel">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="label">gtk-cancel</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button_ok">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="response_id">-5</property>
-                <child>
-                  <widget class="GtkAlignment" id="alignment3">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <widget class="GtkHBox" id="hbox4">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <widget class="GtkImage" id="image26">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-save</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label11">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Save Selected</property>
-                            <property name="use_underline">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="finddialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Find</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="has_separator">False</property>
-    <signal name="delete_event" handler="on_destroy"/>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkTable" id="table1">
-            <property name="visible">True</property>
-            <property name="n_rows">2</property>
-            <property name="n_columns">3</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <widget class="GnomeEntry" id="gnome_entry_search_for">
-                <property name="visible">True</property>
-                <property name="history_id">search_for</property>
-                <property name="max_saved">10</property>
-                <child internal-child="entry">
-                  <widget class="GtkEntry" id="entry_search_for">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="invisible_char">*</property>
-                    <signal name="activate" handler="on_entry_search_for_activate"/>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkVBox" id="vbox1">
-                <property name="visible">True</property>
-                <child>
-                  <widget class="GtkCheckButton" id="check_case">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">_Match case</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="draw_indicator">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">5</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkCheckButton" id="check_word">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">Match _entire word only</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="draw_indicator">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">5</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkCheckButton" id="check_wrap">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">_Wrap around</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="active">True</property>
-                    <property name="draw_indicator">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">5</property>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkCheckButton" id="check_regex">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">Regular e_xpression</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="draw_indicator">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">5</property>
-                    <property name="position">3</property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="x_padding">15</property>
-                <property name="y_padding">5</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label5">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Search for:</property>
-              </widget>
-              <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">5</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button_find">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="label">gtk-find</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-                <signal name="clicked" handler="on_entry_search_for_activate"/>
-              </widget>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">5</property>
-                <property name="y_padding">5</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="padding">5</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <widget class="GtkButton" id="button_close">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="label">gtk-close</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">-7</property>
-                <signal name="clicked" handler="on_destroy"/>
-                <accelerator key="Escape" modifiers="" signal="clicked"/>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="patchdialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Create Patch</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="skip_taskbar_hint">True</property>
-    <property name="skip_pager_hint">True</property>
-    <property name="has_separator">False</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox3">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow3">
-            <property name="width_request">600</property>
-            <property name="height_request">400</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="shadow_type">GTK_SHADOW_IN</property>
-            <child>
-              <widget class="GtkTextView" id="textview">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="accepts_tab">False</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="padding">6</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <widget class="GtkButton" id="button6">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="response_id">1</property>
-                <child>
-                  <widget class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <widget class="GtkHBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <widget class="GtkImage" id="image24">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-copy</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label9">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">Copy to Clipboard</property>
-                            <property name="use_underline">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button7">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">gtk-save-as</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button9">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="label">gtk-cancel</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
-                <accelerator key="Escape" modifiers="" signal="activate"/>
-              </widget>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
+	<widget class="GtkWindow" id="container">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">window1</property>
+		<signal name="destroy" handler="on_delete_event"/>
+		<child>
+			<widget class="GtkTable" id="filediff">
+				<property name="visible">True</property>
+				<property name="n_rows">2</property>
+				<property name="n_columns">7</property>
+				<child>
+					<placeholder/>
+				</child>
+				<child>
+					<!-- This is a placeholder to make the positioning of the fileentry component easier -->
+					<widget class="GtkHBox" id="fileentrycontainer2" />
+					<packing>
+						<property name="left_attach">5</property>
+						<property name="right_attach">6</property>
+						<property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+						<property name="y_options"></property>
+					</packing>
+				</child>
+				<child>
+					<!-- This is a placeholder to make the positioning of the fileentry component easier -->
+					<widget class="GtkHBox" id="fileentrycontainer1" />
+					<packing>
+						<property name="left_attach">3</property>
+						<property name="right_attach">4</property>
+						<property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+						<property name="y_options"></property>
+					</packing>
+				</child>
+				<child>
+					<!-- This is a placeholder to make the positioning of the fileentry component easier -->
+					<widget class="GtkHBox" id="fileentrycontainer0" />
+					<packing>
+						<property name="left_attach">1</property>
+						<property name="right_attach">2</property>
+						<property name="x_options">GTK_EXPAND | GTK_SHRINK | GTK_FILL</property>
+						<property name="y_options"></property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkScrolledWindow" id="scrolledwindow0">
+						<property name="visible">True</property>
+						<property name="can_focus">False</property>
+						<property name="window_placement">GTK_CORNER_TOP_RIGHT</property>
+						<child>
+							<widget class="GtkTextView" id="textview0">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="has_default">True</property>
+								<signal name="button_press_event" handler="on_textview_button_press_event"/>
+								<signal name="expose_event" handler="on_textview_expose_event"/>
+								<signal name="move_cursor" handler="on_textview_move_cursor"/>
+								<signal name="focus_in_event" handler="on_textview_focus_in_event"/>
+								<signal name="key_press_event" handler="on_key_press_event"/>
+								<signal name="key_release_event" handler="on_key_release_event"/>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="left_attach">1</property>
+						<property name="right_attach">2</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkImage" id="statusimage2">
+						<property name="width_request">20</property>
+						<property name="visible">True</property>
+						<property name="xalign">1</property>
+						<property name="stock">gtk-missing-image</property>
+					</widget>
+					<packing>
+						<property name="left_attach">4</property>
+						<property name="right_attach">5</property>
+						<property name="x_options">GTK_SHRINK | GTK_FILL</property>
+						<property name="y_options">GTK_SHRINK | GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkImage" id="statusimage1">
+						<property name="visible">True</property>
+						<property name="xalign">1</property>
+						<property name="stock">gtk-missing-image</property>
+					</widget>
+					<packing>
+						<property name="left_attach">2</property>
+						<property name="right_attach">3</property>
+						<property name="x_options">GTK_SHRINK | GTK_FILL</property>
+						<property name="y_options">GTK_SHRINK | GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkImage" id="statusimage0">
+						<property name="visible">True</property>
+						<property name="xalign">1</property>
+						<property name="stock">gtk-missing-image</property>
+					</widget>
+					<packing>
+						<property name="x_options">GTK_FILL</property>
+						<property name="y_options">GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkScrolledWindow" id="scrolledwindow2">
+						<property name="visible">True</property>
+						<property name="can_focus">False</property>
+						<child>
+							<widget class="GtkTextView" id="textview2">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<signal name="button_press_event" handler="on_textview_button_press_event"/>
+								<signal name="expose_event" handler="on_textview_expose_event"/>
+								<signal name="move_cursor" handler="on_textview_move_cursor"/>
+								<signal name="focus_in_event" handler="on_textview_focus_in_event"/>
+								<signal name="key_press_event" handler="on_key_press_event"/>
+								<signal name="key_release_event" handler="on_key_release_event"/>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="left_attach">5</property>
+						<property name="right_attach">6</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkScrolledWindow" id="scrolledwindow1">
+						<property name="visible">True</property>
+						<property name="can_focus">False</property>
+						<child>
+							<widget class="GtkTextView" id="textview1">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<signal name="button_press_event" handler="on_textview_button_press_event"/>
+								<signal name="expose_event" handler="on_textview_expose_event"/>
+								<signal name="move_cursor" handler="on_textview_move_cursor"/>
+								<signal name="focus_in_event" handler="on_textview_focus_in_event"/>
+								<signal name="key_press_event" handler="on_key_press_event"/>
+								<signal name="key_release_event" handler="on_key_release_event"/>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="left_attach">3</property>
+						<property name="right_attach">4</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkDrawingArea" id="diffmap1">
+						<property name="width_request">20</property>
+						<property name="visible">True</property>
+						<property name="events">GDK_BUTTON_PRESS_MASK</property>
+						<signal name="expose_event" handler="on_diffmap_expose_event"/>
+						<signal name="button_press_event" handler="on_diffmap_button_press_event"/>
+					</widget>
+					<packing>
+						<property name="left_attach">6</property>
+						<property name="right_attach">7</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+						<property name="x_options">GTK_FILL</property>
+						<property name="y_options">GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkDrawingArea" id="linkmap0">
+						<property name="width_request">50</property>
+						<property name="visible">True</property>
+						<property name="can_focus">True</property>
+						<property name="has_focus">True</property>
+						<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
+						<signal name="expose_event" handler="on_linkmap_expose_event"/>
+						<signal name="button_press_event" handler="on_linkmap_button_press_event"/>
+						<signal name="key_press_event" handler="on_key_press_event"/>
+						<signal name="button_release_event" handler="on_linkmap_button_release_event"/>
+						<signal name="key_release_event" handler="on_key_release_event"/>
+						<signal name="scroll_event" handler="on_linkmap_scroll_event"/>
+					</widget>
+					<packing>
+						<property name="left_attach">2</property>
+						<property name="right_attach">3</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+						<property name="x_options">GTK_FILL</property>
+						<property name="y_options">GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkDrawingArea" id="diffmap0">
+						<property name="width_request">20</property>
+						<property name="visible">True</property>
+						<property name="events">GDK_BUTTON_PRESS_MASK</property>
+						<signal name="expose_event" handler="on_diffmap_expose_event"/>
+						<signal name="button_press_event" handler="on_diffmap_button_press_event"/>
+					</widget>
+					<packing>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+						<property name="x_options">GTK_FILL</property>
+					</packing>
+				</child>
+				<child>
+					<widget class="GtkDrawingArea" id="linkmap1">
+						<property name="width_request">50</property>
+						<property name="visible">True</property>
+						<property name="can_focus">True</property>
+						<property name="has_focus">True</property>
+						<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
+						<signal name="expose_event" handler="on_linkmap_expose_event"/>
+						<signal name="button_press_event" handler="on_linkmap_button_press_event"/>
+						<signal name="key_press_event" handler="on_key_press_event"/>
+						<signal name="button_release_event" handler="on_linkmap_button_release_event"/>
+						<signal name="key_release_event" handler="on_key_release_event"/>
+						<signal name="scroll_event" handler="on_linkmap_scroll_event"/>
+					</widget>
+					<packing>
+						<property name="left_attach">4</property>
+						<property name="right_attach">5</property>
+						<property name="top_attach">1</property>
+						<property name="bottom_attach">2</property>
+						<property name="x_options">GTK_FILL</property>
+						<property name="y_options">GTK_FILL</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
+	</widget>
+	<widget class="GtkDialog" id="closedialog">
+		<property name="title" translatable="yes">Save modified files?</property>
+		<property name="resizable">False</property>
+		<property name="icon">pixmaps/icon.png</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+		<property name="has_separator">False</property>
+		<child internal-child="vbox">
+			<widget class="GtkVBox" id="dialog-vbox1">
+				<property name="visible">True</property>
+				<property name="spacing">12</property>
+				<child>
+					<widget class="GtkHBox" id="hbox1">
+						<property name="visible">True</property>
+						<property name="spacing">12</property>
+						<child>
+							<widget class="GtkImage" id="image1">
+								<property name="visible">True</property>
+								<property name="yalign">0</property>
+								<property name="xpad">12</property>
+								<property name="ypad">12</property>
+								<property name="stock">gtk-dialog-warning</property>
+								<property name="icon_size">6</property>
+							</widget>
+						</child>
+						<child>
+							<widget class="GtkVBox" id="box">
+								<property name="visible">True</property>
+								<child>
+									<widget class="GtkLabel" id="label2">
+										<property name="visible">True</property>
+										<property name="xpad">12</property>
+										<property name="ypad">12</property>
+										<property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;Some files have been modified.
+											Which ones would you like to save?&lt;/span&gt;</property>
+										<property name="use_markup">True</property>
+										<property name="wrap">True</property>
+									</widget>
+									<packing>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="position">1</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="position">1</property>
+					</packing>
+				</child>
+				<child internal-child="action_area">
+					<widget class="GtkHButtonBox" id="dialog-action_area1">
+						<property name="visible">True</property>
+						<property name="can_default">True</property>
+						<property name="has_default">True</property>
+						<property name="layout_style">GTK_BUTTONBOX_END</property>
+						<child>
+							<widget class="GtkButton" id="button_quit">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="response_id">-7</property>
+								<child>
+									<widget class="GtkAlignment" id="alignment2">
+										<property name="visible">True</property>
+										<property name="xscale">0</property>
+										<property name="yscale">0</property>
+										<child>
+											<widget class="GtkHBox" id="hbox3">
+												<property name="visible">True</property>
+												<property name="spacing">2</property>
+												<child>
+													<widget class="GtkImage" id="image25">
+														<property name="visible">True</property>
+														<property name="stock">gtk-quit</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
+												<child>
+													<widget class="GtkLabel" id="label10">
+														<property name="visible">True</property>
+														<property name="label" translatable="yes">_Discard Changes</property>
+														<property name="use_underline">True</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+														<property name="position">1</property>
+													</packing>
+												</child>
+											</widget>
+										</child>
+									</widget>
+								</child>
+							</widget>
+						</child>
+						<child>
+							<widget class="GtkButton" id="button_cancel">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="has_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="has_default">True</property>
+								<property name="label">gtk-cancel</property>
+								<property name="use_stock">True</property>
+								<property name="response_id">-6</property>
+							</widget>
+							<packing>
+								<property name="position">1</property>
+							</packing>
+						</child>
+						<child>
+							<widget class="GtkButton" id="button_ok">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="response_id">-5</property>
+								<child>
+									<widget class="GtkAlignment" id="alignment3">
+										<property name="visible">True</property>
+										<property name="xscale">0</property>
+										<property name="yscale">0</property>
+										<child>
+											<widget class="GtkHBox" id="hbox4">
+												<property name="visible">True</property>
+												<property name="spacing">2</property>
+												<child>
+													<widget class="GtkImage" id="image26">
+														<property name="visible">True</property>
+														<property name="stock">gtk-save</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
+												<child>
+													<widget class="GtkLabel" id="label11">
+														<property name="visible">True</property>
+														<property name="label" translatable="yes">_Save Selected</property>
+														<property name="use_underline">True</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+														<property name="position">1</property>
+													</packing>
+												</child>
+											</widget>
+										</child>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="position">2</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="expand">False</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
+	</widget>
+	<widget class="GtkDialog" id="finddialog">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">Find</property>
+		<property name="window_position">GTK_WIN_POS_CENTER</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+		<property name="has_separator">False</property>
+		<signal name="delete_event" handler="on_destroy"/>
+		<child internal-child="vbox">
+			<widget class="GtkVBox" id="dialog-vbox2">
+				<property name="visible">True</property>
+				<child>
+					<widget class="GtkTable" id="table1">
+						<property name="visible">True</property>
+						<property name="n_rows">2</property>
+						<property name="n_columns">3</property>
+						<child>
+							<placeholder/>
+						</child>
+						<child>
+							<placeholder/>
+						</child>
+						<child>
+							<widget class="GtkEntry" id="entry_search_for">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="invisible_char">*</property>
+								<signal name="activate" handler="on_entry_search_for_activate"/>
+							</widget>
+							<packing>
+								<property name="left_attach">1</property>
+								<property name="right_attach">2</property>
+								<property name="y_options"></property>
+							</packing>
+						</child>
+						<child>
+							<widget class="GtkVBox" id="vbox1">
+								<property name="visible">True</property>
+								<child>
+									<widget class="GtkCheckButton" id="check_case">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes">_Match case</property>
+										<property name="use_underline">True</property>
+										<property name="response_id">0</property>
+										<property name="draw_indicator">True</property>
+									</widget>
+									<packing>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+										<property name="padding">5</property>
+									</packing>
+								</child>
+								<child>
+									<widget class="GtkCheckButton" id="check_word">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes">Match _entire word only</property>
+										<property name="use_underline">True</property>
+										<property name="response_id">0</property>
+										<property name="draw_indicator">True</property>
+									</widget>
+									<packing>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+										<property name="padding">5</property>
+										<property name="position">1</property>
+									</packing>
+								</child>
+								<child>
+									<widget class="GtkCheckButton" id="check_wrap">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes">_Wrap around</property>
+										<property name="use_underline">True</property>
+										<property name="response_id">0</property>
+										<property name="active">True</property>
+										<property name="draw_indicator">True</property>
+									</widget>
+									<packing>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+										<property name="padding">5</property>
+										<property name="position">2</property>
+									</packing>
+								</child>
+								<child>
+									<widget class="GtkCheckButton" id="check_regex">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes">Regular e_xpression</property>
+										<property name="use_underline">True</property>
+										<property name="response_id">0</property>
+										<property name="draw_indicator">True</property>
+									</widget>
+									<packing>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+										<property name="padding">5</property>
+										<property name="position">3</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="left_attach">1</property>
+								<property name="right_attach">2</property>
+								<property name="top_attach">1</property>
+								<property name="bottom_attach">2</property>
+								<property name="x_options">GTK_FILL</property>
+								<property name="x_padding">15</property>
+								<property name="y_padding">5</property>
+							</packing>
+						</child>
+						<child>
+							<widget class="GtkLabel" id="label5">
+								<property name="visible">True</property>
+								<property name="xalign">0</property>
+								<property name="label" translatable="yes">Search for:</property>
+							</widget>
+							<packing>
+								<property name="x_options">GTK_FILL</property>
+								<property name="y_options"></property>
+								<property name="x_padding">5</property>
+							</packing>
+						</child>
+						<child>
+							<widget class="GtkButton" id="button_find">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-find</property>
+								<property name="use_stock">True</property>
+								<property name="response_id">0</property>
+								<signal name="clicked" handler="on_entry_search_for_activate"/>
+							</widget>
+							<packing>
+								<property name="left_attach">2</property>
+								<property name="right_attach">3</property>
+								<property name="x_options">GTK_FILL</property>
+								<property name="y_options"></property>
+								<property name="x_padding">5</property>
+								<property name="y_padding">5</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">5</property>
+						<property name="position">1</property>
+					</packing>
+				</child>
+				<child internal-child="action_area">
+					<widget class="GtkHButtonBox" id="dialog-action_area2">
+						<property name="visible">True</property>
+						<property name="layout_style">GTK_BUTTONBOX_END</property>
+						<child>
+							<widget class="GtkButton" id="button_close">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-close</property>
+								<property name="use_stock">True</property>
+								<property name="response_id">-7</property>
+								<signal name="clicked" handler="on_destroy"/>
+								<accelerator key="Escape" modifiers="" signal="clicked"/>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="expand">False</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
+	</widget>
+	<widget class="GtkDialog" id="patchdialog">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">Create Patch</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+		<property name="skip_taskbar_hint">True</property>
+		<property name="skip_pager_hint">True</property>
+		<property name="has_separator">False</property>
+		<child internal-child="vbox">
+			<widget class="GtkVBox" id="dialog-vbox3">
+				<property name="visible">True</property>
+				<child>
+					<widget class="GtkScrolledWindow" id="scrolledwindow3">
+						<property name="width_request">600</property>
+						<property name="height_request">400</property>
+						<property name="visible">True</property>
+						<property name="can_focus">True</property>
+						<property name="shadow_type">GTK_SHADOW_IN</property>
+						<child>
+							<widget class="GtkTextView" id="textview">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="accepts_tab">False</property>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">6</property>
+						<property name="position">1</property>
+					</packing>
+				</child>
+				<child internal-child="action_area">
+					<widget class="GtkHButtonBox" id="dialog-action_area3">
+						<property name="visible">True</property>
+						<property name="layout_style">GTK_BUTTONBOX_END</property>
+						<child>
+							<widget class="GtkButton" id="button6">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="response_id">1</property>
+								<child>
+									<widget class="GtkAlignment" id="alignment1">
+										<property name="visible">True</property>
+										<property name="xscale">0</property>
+										<property name="yscale">0</property>
+										<child>
+											<widget class="GtkHBox" id="hbox2">
+												<property name="visible">True</property>
+												<property name="spacing">2</property>
+												<child>
+													<widget class="GtkImage" id="image24">
+														<property name="visible">True</property>
+														<property name="stock">gtk-copy</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
+												<child>
+													<widget class="GtkLabel" id="label9">
+														<property name="visible">True</property>
+														<property name="label" translatable="yes">Copy to Clipboard</property>
+														<property name="use_underline">True</property>
+													</widget>
+													<packing>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+														<property name="position">1</property>
+													</packing>
+												</child>
+											</widget>
+										</child>
+									</widget>
+								</child>
+							</widget>
+						</child>
+						<child>
+							<widget class="GtkButton" id="button7">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="label">gtk-save-as</property>
+								<property name="use_stock">True</property>
+								<property name="response_id">0</property>
+							</widget>
+							<packing>
+								<property name="position">1</property>
+							</packing>
+						</child>
+						<child>
+							<widget class="GtkButton" id="button9">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="can_default">True</property>
+								<property name="label">gtk-cancel</property>
+								<property name="use_stock">True</property>
+								<property name="response_id">-6</property>
+								<accelerator key="Escape" modifiers="" signal="activate"/>
+							</widget>
+							<packing>
+								<property name="position">2</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="expand">False</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
+	</widget>
 </glade-interface>
Index: glade2/fileentry.glade
===================================================================
--- glade2/fileentry.glade	(revision 0)
+++ glade2/fileentry.glade	(revision 0)
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkHBox" id="fileentry">
+    <child>
+      <widget class="GtkEntry" id="fileentrytext">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <signal name="activate" handler="on_fileentry_activate"/>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkButton" id="fileentryhistorybutton">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="receives_default">True</property>
+        <property name="response_id">0</property>
+        <child>
+          <widget class="GtkArrow" id="fileentryarrow1">
+            <property name="visible">True</property>
+            <property name="arrow_type">GTK_ARROW_DOWN</property>
+          </widget>
+        </child>
+      </widget>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="padding">2</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <widget class="GtkButton" id="fileentrybrowsebutton">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="receives_default">True</property>
+        <property name="label" translatable="yes">gtk-open</property>
+        <property name="use_stock">True</property>
+        <property name="response_id">0</property>
+        <signal name="clicked" handler="on_fileentrybrowsebutton_clicked"/>
+      </widget>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+  </widget>
+  <widget class="GtkFileChooserDialog" id="fileentrychooser">
+    <property name="border_width">5</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <placeholder/>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="fileentrychooseropenbutton">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-open</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_fileentrychooseropenbutton_clicked"/>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="fileentrychoosercancelbutton">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_fileentrychoosercancelbutton_clicked"/>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>

Index: glade2/meldapp.glade
===================================================================
--- glade2/meldapp.glade	(revision 1069)
+++ glade2/meldapp.glade	(working copy)
@@ -2,112 +2,76 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <requires lib="gnome"/>
   <widget class="GtkWindow" id="meldapp">
     <property name="height_request">480</property>
     <property name="title" translatable="yes">Meld</property>
-    <property name="icon">pixmaps/icon.png</property>
+    <property name="icon">icon.png</property>
     <signal name="size_allocate" handler="on_size_allocate"/>
     <signal name="delete_event" handler="on_delete_event"/>
+    <child>
+      <widget class="GtkVBox" id="appvbox">
+        <property name="visible">True</property>
         <child>
-          <widget class="GtkVBox" id="appvbox">
+          <widget class="GtkHBox" id="status_box">
             <property name="visible">True</property>
             <child>
-              <widget class="GtkNotebook" id="notebook">
+              <widget class="GtkProgressBar" id="task_progress">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="scrollable">True</property>
-                <property name="enable_popup">True</property>
-                <signal name="key_press_event" handler="on_notebook_key_press_event"/>
-                <signal name="switch_page" handler="on_switch_page"/>
+                <property name="pulse_step">0.109999999404</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkStatusbar" id="task_status">
+                <property name="visible">True</property>
+                <property name="has_resize_grip">False</property>
+              </widget>
+              <packing>
                 <property name="position">1</property>
-                <property name="pack_type">GTK_PACK_END</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkHBox" id="status_box">
+              <widget class="GtkStatusbar" id="doc_status">
+                <property name="width_request">175</property>
                 <property name="visible">True</property>
-                <child>
-                  <widget class="GtkProgressBar" id="task_progress">
-                    <property name="visible">True</property>
-                    <property name="pulse_step">0.109999999404</property>
-                    <property name="text" translatable="yes"></property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkStatusbar" id="task_status">
-                    <property name="visible">True</property>
-                    <property name="has_resize_grip">False</property>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkStatusbar" id="doc_status">
-                    <property name="width_request">175</property>
-                    <property name="visible">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="position">0</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="position">2</property>
               </packing>
             </child>
           </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">3</property>
+          </packing>
         </child>
+        <child>
+          <widget class="GtkNotebook" id="notebook">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="scrollable">True</property>
+            <property name="enable_popup">True</property>
+            <signal name="key_press_event" handler="on_notebook_key_press_event"/>
+            <signal name="switch_page" handler="on_switch_page"/>
+          </widget>
+          <packing>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
   </widget>
-  <widget class="GnomeAbout" id="about">
-    <property name="visible">True</property>
-    <property name="border_width">5</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="icon">pixmaps/icon.png</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="copyright" translatable="yes">Copyright (C) 2002-2006 Stephen Kennedy</property>
-    <property name="comments">http://meld.sourceforge.net</property>
-    <property name="authors">Stephen Kennedy &lt;stevek@gnome.org&gt;
-
-With help from:
-
-Ross Burton (debian packaging, patches)
-Dag Wieers (rpm packaging)
-Martin Pool (localtime cvs patch)
-Adam Muegge (patched cvsview to support svn)
-Aaron Bentley (bzr vc plugin)
-Daniel Thompson (monotone vc plugin)
-
-</property>
-    <property name="translator_credits">Benoît Dejean (fr)
-Takeshi Aihana (ja)
-Dongsu Jang (ko)
-Danilo Šegan (sr)
-Duarte Loreto (pt)
-Miloslav Trmac (cs)
-Vincent van Adrighem (nl)
-Changwoo Ryu (ko)
-Benoît Dejean (fr)
-Gareth Owen (en_GB)
-Adam Weinberger (en_CA)</property>
-    <property name="logo">pixmaps/icon.png</property>
-  </widget>
   <widget class="GtkDialog" id="newdialog">
     <property name="visible">True</property>
     <property name="title" translatable="yes">Choose Files</property>
     <property name="default_width">600</property>
-    <property name="icon">pixmaps/icon.png</property>
+    <property name="icon">icon.png</property>
     <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
     <signal name="response" handler="on_response"/>
     <child internal-child="vbox">
@@ -133,37 +97,11 @@
                   <placeholder/>
                 </child>
                 <child>
-                  <widget class="GtkCheckButton" id="three_way_compare0">
+                  <widget class="GtkFileChooserButton" id="fileentry2">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">_Three Way Compare</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="on_three_way_toggled"/>
+                    <property name="title" translatable="yes">My File</property>
                   </widget>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GnomeFileEntry" id="fileentry2">
-                    <property name="visible">True</property>
-                    <property name="history_id">file_comparison</property>
-                    <property name="browse_dialog_title">My File</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="combo-entry6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
-                  </widget>
-                  <packing>
                     <property name="left_attach">2</property>
                     <property name="right_attach">3</property>
                     <property name="top_attach">2</property>
@@ -172,20 +110,9 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GnomeFileEntry" id="fileentry1">
+                  <widget class="GtkFileChooserButton" id="fileentry1">
                     <property name="visible">True</property>
-                    <property name="history_id">file_comparison</property>
-                    <property name="browse_dialog_title">Original File</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="combo-entry5">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
+                    <property name="title" translatable="yes">Original File</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
@@ -196,42 +123,27 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GnomeFileEntry" id="fileentry0">
+                  <widget class="GtkFileChooserButton" id="fileentry0">
                     <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_default">True</property>
-                    <property name="history_id">file_comparison</property>
-                    <property name="browse_dialog_title">Other File</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="combo-entry4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
+                    <property name="title" translatable="yes">Other File</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
                     <property name="right_attach">3</property>
-                    <property name="y_options"></property>
+                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label77">
+                  <widget class="GtkLabel" id="label75">
                     <property name="visible">True</property>
                     <property name="xalign">1</property>
                     <property name="xpad">5</property>
                     <property name="ypad">5</property>
-                    <property name="label" translatable="yes">Mine</property>
+                    <property name="label" translatable="yes">Other</property>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
@@ -254,20 +166,37 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label75">
+                  <widget class="GtkLabel" id="label77">
                     <property name="visible">True</property>
                     <property name="xalign">1</property>
                     <property name="xpad">5</property>
                     <property name="ypad">5</property>
-                    <property name="label" translatable="yes">Other</property>
+                    <property name="label" translatable="yes">Mine</property>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
+                <child>
+                  <widget class="GtkCheckButton" id="three_way_compare0">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="label" translatable="yes">_Three Way Compare</property>
+                    <property name="use_underline">True</property>
+                    <property name="response_id">0</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="on_three_way_toggled"/>
+                  </widget>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
               </widget>
             </child>
             <child>
@@ -296,38 +225,11 @@
                   <placeholder/>
                 </child>
                 <child>
-                  <widget class="GtkCheckButton" id="three_way_compare1">
+                  <widget class="GtkFileChooserButton" id="direntry0">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="label" translatable="yes">_Three Way Compare</property>
-                    <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
-                    <property name="draw_indicator">True</property>
-                    <signal name="toggled" handler="on_three_way_toggled"/>
+                    <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
                   </widget>
                   <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GnomeFileEntry" id="direntry2">
-                    <property name="visible">True</property>
-                    <property name="history_id">dir_comparison</property>
-                    <property name="browse_dialog_title">My Directory</property>
-                    <property name="directory_entry">True</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="entry3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
-                  </widget>
-                  <packing>
                     <property name="left_attach">2</property>
                     <property name="right_attach">3</property>
                     <property name="top_attach">2</property>
@@ -336,21 +238,9 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GnomeFileEntry" id="direntry1">
+                  <widget class="GtkFileChooserButton" id="direntry1">
                     <property name="visible">True</property>
-                    <property name="history_id">dir_comparison</property>
-                    <property name="browse_dialog_title">Original Directory</property>
-                    <property name="directory_entry">True</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="entry2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
+                    <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
@@ -361,24 +251,9 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GnomeFileEntry" id="direntry0">
+                  <widget class="GtkFileChooserButton" id="direntry2">
                     <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_default">True</property>
-                    <property name="has_default">True</property>
-                    <property name="history_id">dir_comparison</property>
-                    <property name="browse_dialog_title">Other Directory</property>
-                    <property name="directory_entry">True</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="entry1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
+                    <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
@@ -387,18 +262,16 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label80">
+                  <widget class="GtkLabel" id="label78">
                     <property name="visible">True</property>
                     <property name="xalign">1</property>
                     <property name="xpad">5</property>
                     <property name="ypad">5</property>
-                    <property name="label" translatable="yes">Mine</property>
+                    <property name="label" translatable="yes">Other</property>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
@@ -421,20 +294,37 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label78">
+                  <widget class="GtkLabel" id="label80">
                     <property name="visible">True</property>
                     <property name="xalign">1</property>
                     <property name="xpad">5</property>
                     <property name="ypad">5</property>
-                    <property name="label" translatable="yes">Other</property>
+                    <property name="label" translatable="yes">Mine</property>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
+                <child>
+                  <widget class="GtkCheckButton" id="three_way_compare1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="label" translatable="yes">_Three Way Compare</property>
+                    <property name="use_underline">True</property>
+                    <property name="response_id">0</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="on_three_way_toggled"/>
+                  </widget>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -456,31 +346,19 @@
               <widget class="GtkTable" id="table3">
                 <property name="visible">True</property>
                 <property name="border_width">10</property>
-                <property name="n_rows">1</property>
                 <property name="n_columns">2</property>
                 <property name="column_spacing">10</property>
                 <property name="row_spacing">10</property>
                 <child>
-                  <widget class="GnomeFileEntry" id="vcentry0">
+                  <widget class="GtkFileChooserButton" id="vcentry0">
                     <property name="visible">True</property>
-                    <property name="history_id">vc_directory</property>
-                    <property name="browse_dialog_title">CVS Directory</property>
-                    <property name="directory_entry">True</property>
-                    <property name="use_filechooser">True</property>
-                    <property name="max_saved">10</property>
-                    <signal name="activate" handler="on_entry_activate"/>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="entry4">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="invisible_char">*</property>
-                      </widget>
-                    </child>
+                    <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+                    <property name="title" translatable="yes">VCS Directory</property>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
-                    <property name="y_options"></property>
+                    <property name="y_options">GTK_FILL</property>
                   </packing>
                 </child>
                 <child>
@@ -707,6 +585,7 @@
                             <property name="visible">True</property>
                           </widget>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
@@ -782,22 +661,6 @@
                                         <property name="fill">False</property>
                                       </packing>
                                     </child>
-                                    <child>
-                                      <widget class="GnomeFontPicker" id="fontpicker">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
-                                        <property name="mode">GNOME_FONT_PICKER_MODE_FONT_INFO</property>
-                                        <property name="use_font_in_label">True</property>
-                                        <property name="label_font_size">10</property>
-                                        <signal name="font_set" handler="on_fontpicker_font_set"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
@@ -873,7 +736,7 @@
                                       <widget class="GtkSpinButton" id="spinbutton_tabsize">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="adjustment">4 1 8 1 10 10</property>
+                                        <property name="adjustment">1 1 8 1 10 10</property>
                                         <property name="climb_rate">1</property>
                                         <signal name="changed" handler="on_spinbutton_tabsize_changed"/>
                                       </widget>
@@ -1127,7 +990,6 @@
                                       <widget class="GtkEntry" id="custom_edit_command_entry">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="invisible_char">*</property>
                                       </widget>
                                       <packing>
                                         <property name="padding">5</property>
@@ -1763,6 +1625,7 @@
                             <property name="visible">True</property>
                           </widget>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
@@ -1824,7 +1687,6 @@
                                       <widget class="GtkEntry" id="entry_text_codecs">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="invisible_char">*</property>
                                         <property name="text">utf8 iso8859</property>
                                       </widget>
                                       <packing>
@@ -1958,7 +1820,7 @@
                 <child>
                   <widget class="GtkImage" id="image589">
                     <property name="visible">True</property>
-                    <property name="pixbuf">pixmaps/icon.png</property>
+                    <property name="pixbuf">icon.png</property>
                   </widget>
                   <packing>
                     <property name="position">6</property>
@@ -2014,6 +1876,7 @@
                             <property name="visible">True</property>
                           </widget>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
@@ -2272,46 +2135,46 @@
         <property name="n_rows">3</property>
         <property name="n_columns">2</property>
         <child>
-          <widget class="GtkButton" id="items_revert">
+          <widget class="GtkScrolledWindow" id="scrolledwindow">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="label">gtk-revert-to-saved</property>
-            <property name="use_stock">True</property>
-            <property name="response_id">0</property>
-            <signal name="clicked" handler="on_items_revert_clicked"/>
+            <child>
+              <widget class="GtkTreeView" id="treeview">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="reorderable">True</property>
+              </widget>
+            </child>
           </widget>
           <packing>
-            <property name="left_attach">1</property>
-            <property name="right_attach">2</property>
-            <property name="top_attach">2</property>
             <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="x_padding">12</property>
+            <property name="y_padding">12</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkVButtonBox" id="vbuttonbox2">
+          <widget class="GtkVButtonBox" id="vbuttonbox1">
             <property name="visible">True</property>
             <child>
-              <widget class="GtkButton" id="item_up">
+              <widget class="GtkButton" id="item_new">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-go-up</property>
+                <property name="label">gtk-new</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
-                <signal name="clicked" handler="on_item_up_clicked"/>
+                <signal name="clicked" handler="on_item_new_clicked"/>
               </widget>
             </child>
             <child>
-              <widget class="GtkButton" id="item_down">
+              <widget class="GtkButton" id="item_delete">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-go-down</property>
+                <property name="label">gtk-delete</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
-                <signal name="clicked" handler="on_item_down_clicked"/>
+                <signal name="clicked" handler="on_item_delete_clicked"/>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -2321,35 +2184,33 @@
           <packing>
             <property name="left_attach">1</property>
             <property name="right_attach">2</property>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
             <property name="x_options"></property>
             <property name="y_options"></property>
           </packing>
         </child>
         <child>
-          <widget class="GtkVButtonBox" id="vbuttonbox1">
+          <widget class="GtkVButtonBox" id="vbuttonbox2">
             <property name="visible">True</property>
             <child>
-              <widget class="GtkButton" id="item_new">
+              <widget class="GtkButton" id="item_up">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-new</property>
+                <property name="label">gtk-go-up</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
-                <signal name="clicked" handler="on_item_new_clicked"/>
+                <signal name="clicked" handler="on_item_up_clicked"/>
               </widget>
             </child>
             <child>
-              <widget class="GtkButton" id="item_delete">
+              <widget class="GtkButton" id="item_down">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-delete</property>
+                <property name="label">gtk-go-down</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
-                <signal name="clicked" handler="on_item_delete_clicked"/>
+                <signal name="clicked" handler="on_item_down_clicked"/>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -2359,29 +2220,137 @@
           <packing>
             <property name="left_attach">1</property>
             <property name="right_attach">2</property>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
             <property name="x_options"></property>
             <property name="y_options"></property>
           </packing>
         </child>
         <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow">
+          <widget class="GtkButton" id="items_revert">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <child>
-              <widget class="GtkTreeView" id="treeview">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="reorderable">True</property>
-              </widget>
-            </child>
+            <property name="label">gtk-revert-to-saved</property>
+            <property name="use_stock">True</property>
+            <property name="response_id">0</property>
+            <signal name="clicked" handler="on_items_revert_clicked"/>
           </widget>
           <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">2</property>
             <property name="bottom_attach">3</property>
-            <property name="x_padding">12</property>
-            <property name="y_padding">12</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
           </packing>
         </child>
       </widget>
     </child>
   </widget>
+  <widget class="GtkFontSelectionDialog" id="fontpicker">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Font Selection</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="icon">icon.png</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <child internal-child="font_selection">
+      <widget class="GtkFontSelection" id="fontsel-font_selection1">
+        <property name="visible">True</property>
+        <property name="border_width">5</property>
+        <property name="spacing">12</property>
+        <property name="font_name">Agency FB 12</property>
+        <child>
+          <placeholder/>
+        </child>
+      </widget>
+    </child>
+    <child internal-child="cancel_button">
+      <widget class="GtkButton" id="fontsel-cancel_button1">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="can_default">True</property>
+        <property name="receives_default">True</property>
+        <property name="label" translatable="yes">gtk-cancel</property>
+        <property name="use_stock">True</property>
+        <property name="response_id">0</property>
+      </widget>
+    </child>
+    <child internal-child="apply_button">
+      <widget class="GtkButton" id="fontsel-apply_button1">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="can_default">True</property>
+        <property name="receives_default">True</property>
+        <property name="label" translatable="yes">gtk-apply</property>
+        <property name="use_stock">True</property>
+        <property name="response_id">0</property>
+      </widget>
+    </child>
+    <child internal-child="ok_button">
+      <widget class="GtkButton" id="fontsel-ok_button1">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="can_default">True</property>
+        <property name="has_default">True</property>
+        <property name="receives_default">True</property>
+        <property name="label" translatable="yes">gtk-ok</property>
+        <property name="use_stock">True</property>
+        <property name="response_id">0</property>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkAboutDialog" id="about">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">About Glade</property>
+    <property name="resizable">False</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <property name="program_name">Meld</property>
+    <property name="copyright" translatable="yes">Copyright (C) 2002-2006 Stephen Kennedy</property>
+    <property name="website">http://meld.sourceforge.net</property>
+    <property name="website_label" translatable="yes">http://meld.sourceforge.net</property>
+    <property name="authors">Stephen Kennedy &lt;stevek@gnome.org&gt;
+
+With help from:
+
+Ross Burton (debian packaging, patches)
+Dag Wieers (rpm packaging)
+Martin Pool (localtime cvs patch)
+Adam Muegge (patched cvsview to support svn)
+Aaron Bentley (bzr vc plugin)
+Daniel Thompson (monotone vc plugin)
+</property>
+    <property name="translator_credits">Benoît Dejean (fr)
+Takeshi Aihana (ja)
+Dongsu Jang (ko)
+Danilo Šegan (sr)
+Duarte Loreto (pt)
+Miloslav Trmac (cs)
+Vincent van Adrighem (nl)
+Changwoo Ryu (ko)
+Benoît Dejean (fr)
+Gareth Owen (en_GB)
+Adam Weinberger (en_CA)</property>
+    <property name="logo">icon.png</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <placeholder/>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
Index: glade2/vcview.glade
===================================================================
--- glade2/vcview.glade	(revision 1069)
+++ glade2/vcview.glade	(working copy)
@@ -1,831 +1,796 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<?xml version="1.0" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<!--*- mode: xml -*-->
 <glade-interface>
-<requires lib="gnome"/>
+	<widget class="GtkWindow" id="container">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">window1</property>
+		<property name="type">GTK_WINDOW_TOPLEVEL</property>
+		<property name="window_position">GTK_WIN_POS_NONE</property>
+		<property name="modal">False</property>
+		<property name="resizable">True</property>
+		<property name="destroy_with_parent">False</property>
+		<property name="decorated">True</property>
+		<property name="skip_taskbar_hint">False</property>
+		<property name="skip_pager_hint">False</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+		<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+		<property name="focus_on_map">True</property>
+		<property name="urgency_hint">False</property>
 
-<widget class="GtkWindow" id="container">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">window1</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
+		<child>
+			<widget class="GtkVBox" id="vcview">
+				<property name="visible">True</property>
+				<property name="homogeneous">False</property>
+				<property name="spacing">0</property>
 
-  <child>
-    <widget class="GtkVBox" id="vcview">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
+				<child>
+					<widget class="GtkHBox" id="hbox2">
+						<property name="visible">True</property>
+						<property name="homogeneous">False</property>
+						<property name="spacing">0</property>
 
-      <child>
-	<widget class="GtkHBox" id="hbox2">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
+						<child>
+							<widget class="GtkHBox" id="fileentrycontainer0" />
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">True</property>
+								<property name="fill">True</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GnomeFileEntry" id="fileentry">
-	      <property name="visible">True</property>
-	      <property name="history_id">vcroot</property>
-	      <property name="max_saved">10</property>
-	      <property name="directory_entry">True</property>
-	      <property name="modal">False</property>
-	      <property name="use_filechooser">True</property>
-	      <property name="filechooser_action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-	      <signal name="activate" handler="on_fileentry_activate" last_modification_time="Sun, 28 Jul 2002 10:50:58 GMT"/>
+						<child>
+							<widget class="GtkButton" id="button_jump">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<signal name="button_press_event" handler="on_button_jump_press_event" last_modification_time="Thu, 22 May 2003 18:32:48 GMT"/>
 
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="comboentry">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
+								<child>
+									<widget class="GtkImage" id="image1">
+										<property name="visible">True</property>
+										<property name="stock">gtk-jump-to</property>
+										<property name="icon_size">4</property>
+										<property name="xalign">0.5</property>
+										<property name="yalign">0.5</property>
+										<property name="xpad">0</property>
+										<property name="ypad">0</property>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">False</property>
+								<property name="fill">False</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">False</property>
+						<property name="fill">False</property>
+						<property name="pack_type">GTK_PACK_START</property>
+					</packing>
+				</child>
 
-	  <child>
-	    <widget class="GtkButton" id="button_jump">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="button_press_event" handler="on_button_jump_press_event" last_modification_time="Thu, 22 May 2003 18:32:48 GMT"/>
+				<child>
+					<widget class="GtkVPaned" id="vpaned">
+						<property name="visible">True</property>
+						<property name="can_focus">True</property>
+						<property name="position">250</property>
+						<signal name="move_handle" handler="on_vpaned_move_handle" last_modification_time="Sat, 27 Sep 2003 16:23:15 GMT"/>
 
-	      <child>
-		<widget class="GtkImage" id="image1">
-		  <property name="visible">True</property>
-		  <property name="stock">gtk-jump-to</property>
-		  <property name="icon_size">4</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	  <property name="pack_type">GTK_PACK_START</property>
-	</packing>
-      </child>
+						<child>
+							<widget class="GtkScrolledWindow" id="scrolledwindow">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+								<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+								<property name="shadow_type">GTK_SHADOW_IN</property>
+								<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-      <child>
-	<widget class="GtkVPaned" id="vpaned">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="position">250</property>
-	  <signal name="move_handle" handler="on_vpaned_move_handle" last_modification_time="Sat, 27 Sep 2003 16:23:15 GMT"/>
+								<child>
+									<widget class="GtkTreeView" id="treeview">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="headers_visible">True</property>
+										<property name="rules_hint">False</property>
+										<property name="reorderable">False</property>
+										<property name="enable_search">True</property>
+										<property name="fixed_height_mode">False</property>
+										<property name="hover_selection">False</property>
+										<property name="hover_expand">False</property>
+										<signal name="row_activated" handler="on_row_activated" last_modification_time="Sat, 03 Aug 2002 23:32:49 GMT"/>
+										<signal name="button_press_event" handler="on_button_press_event" last_modification_time="Sat, 30 Aug 2003 12:42:19 GMT"/>
+									</widget>
+								</child>
+							</widget>
+							<packing>
+								<property name="shrink">False</property>
+								<property name="resize">True</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+						<child>
+							<widget class="GtkHBox" id="console_hbox">
+								<property name="height_request">70</property>
+								<property name="visible">True</property>
+								<property name="homogeneous">False</property>
+								<property name="spacing">0</property>
 
-	      <child>
-		<widget class="GtkTreeView" id="treeview">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">True</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		  <signal name="row_activated" handler="on_row_activated" last_modification_time="Sat, 03 Aug 2002 23:32:49 GMT"/>
-		  <signal name="button_press_event" handler="on_button_press_event" last_modification_time="Sat, 30 Aug 2003 12:42:19 GMT"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="shrink">False</property>
-	      <property name="resize">True</property>
-	    </packing>
-	  </child>
+								<child>
+									<widget class="GtkEventBox" id="console_hide_box">
+										<property name="visible">True</property>
+										<property name="visible_window">True</property>
+										<property name="above_child">False</property>
+										<signal name="button_press_event" handler="on_console_view_toggle" last_modification_time="Sat, 27 Sep 2003 16:10:20 GMT"/>
 
-	  <child>
-	    <widget class="GtkHBox" id="console_hbox">
-	      <property name="height_request">70</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
+										<child>
+											<widget class="GtkArrow" id="console_arrow_down">
+												<property name="width_request">14</property>
+												<property name="height_request">14</property>
+												<property name="visible">True</property>
+												<property name="arrow_type">GTK_ARROW_DOWN</property>
+												<property name="shadow_type">GTK_SHADOW_OUT</property>
+												<property name="xalign">0.5</property>
+												<property name="yalign">0</property>
+												<property name="xpad">0</property>
+												<property name="ypad">0</property>
+											</widget>
+										</child>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+									</packing>
+								</child>
 
-	      <child>
-		<widget class="GtkEventBox" id="console_hide_box">
-		  <property name="visible">True</property>
-		  <property name="visible_window">True</property>
-		  <property name="above_child">False</property>
-		  <signal name="button_press_event" handler="on_console_view_toggle" last_modification_time="Sat, 27 Sep 2003 16:10:20 GMT"/>
+								<child>
+									<widget class="GtkScrolledWindow" id="console_scrolledwindow">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+										<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+										<property name="shadow_type">GTK_SHADOW_IN</property>
+										<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-		  <child>
-		    <widget class="GtkArrow" id="console_arrow_down">
-		      <property name="width_request">14</property>
-		      <property name="height_request">14</property>
-		      <property name="visible">True</property>
-		      <property name="arrow_type">GTK_ARROW_DOWN</property>
-		      <property name="shadow_type">GTK_SHADOW_OUT</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
+										<child>
+											<widget class="GtkTextView" id="consoleview">
+												<property name="visible">True</property>
+												<property name="can_focus">True</property>
+												<property name="editable">False</property>
+												<property name="overwrite">False</property>
+												<property name="accepts_tab">True</property>
+												<property name="justification">GTK_JUSTIFY_LEFT</property>
+												<property name="wrap_mode">GTK_WRAP_NONE</property>
+												<property name="cursor_visible">False</property>
+												<property name="pixels_above_lines">0</property>
+												<property name="pixels_below_lines">0</property>
+												<property name="pixels_inside_wrap">0</property>
+												<property name="left_margin">0</property>
+												<property name="right_margin">0</property>
+												<property name="indent">0</property>
+												<property name="text" translatable="yes"></property>
+												<signal name="populate_popup" handler="on_consoleview_populate_popup" last_modification_time="Sat, 27 Sep 2003 17:09:16 GMT"/>
+											</widget>
+										</child>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">True</property>
+										<property name="fill">True</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="shrink">True</property>
+								<property name="resize">True</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">True</property>
+						<property name="fill">True</property>
+						<property name="position">1</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
 
-	      <child>
-		<widget class="GtkScrolledWindow" id="console_scrolledwindow">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+				<child>
+					<widget class="GtkEventBox" id="console_show_box">
+						<property name="visible_window">True</property>
+						<property name="above_child">False</property>
+						<signal name="button_press_event" handler="on_console_view_toggle" last_modification_time="Sat, 27 Sep 2003 16:10:28 GMT"/>
 
-		  <child>
-		    <widget class="GtkTextView" id="consoleview">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">False</property>
-		      <property name="overwrite">False</property>
-		      <property name="accepts_tab">True</property>
-		      <property name="justification">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap_mode">GTK_WRAP_NONE</property>
-		      <property name="cursor_visible">False</property>
-		      <property name="pixels_above_lines">0</property>
-		      <property name="pixels_below_lines">0</property>
-		      <property name="pixels_inside_wrap">0</property>
-		      <property name="left_margin">0</property>
-		      <property name="right_margin">0</property>
-		      <property name="indent">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <signal name="populate_popup" handler="on_consoleview_populate_popup" last_modification_time="Sat, 27 Sep 2003 17:09:16 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="shrink">True</property>
-	      <property name="resize">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	  <property name="position">1</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
+						<child>
+							<widget class="GtkHBox" id="hbox3">
+								<property name="visible">True</property>
+								<property name="homogeneous">False</property>
+								<property name="spacing">0</property>
 
-      <child>
-	<widget class="GtkEventBox" id="console_show_box">
-	  <property name="visible_window">True</property>
-	  <property name="above_child">False</property>
-	  <signal name="button_press_event" handler="on_console_view_toggle" last_modification_time="Sat, 27 Sep 2003 16:10:28 GMT"/>
+								<child>
+									<widget class="GtkArrow" id="console_arrow_right">
+										<property name="width_request">14</property>
+										<property name="height_request">14</property>
+										<property name="visible">True</property>
+										<property name="arrow_type">GTK_ARROW_RIGHT</property>
+										<property name="shadow_type">GTK_SHADOW_OUT</property>
+										<property name="xalign">0.5</property>
+										<property name="yalign">0.5</property>
+										<property name="xpad">0</property>
+										<property name="ypad">0</property>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">False</property>
+										<property name="fill">True</property>
+									</packing>
+								</child>
 
-	  <child>
-	    <widget class="GtkHBox" id="hbox3">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkArrow" id="console_arrow_right">
-		  <property name="width_request">14</property>
-		  <property name="height_request">14</property>
-		  <property name="visible">True</property>
-		  <property name="arrow_type">GTK_ARROW_RIGHT</property>
-		  <property name="shadow_type">GTK_SHADOW_OUT</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHSeparator" id="hseparator1">
-		  <property name="visible">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
+								<child>
+									<widget class="GtkHSeparator" id="hseparator1">
+										<property name="visible">True</property>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">True</property>
+										<property name="fill">True</property>
+									</packing>
+								</child>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">False</property>
+						<property name="fill">False</property>
+						<property name="position">0</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
+			</widget>
+		</child>
 	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	  <property name="position">0</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
 
-<widget class="GtkDialog" id="commitdialog">
-  <property name="width_request">450</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">VC Log</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">False</property>
+	<widget class="GtkDialog" id="commitdialog">
+		<property name="width_request">450</property>
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">VC Log</property>
+		<property name="type">GTK_WINDOW_TOPLEVEL</property>
+		<property name="window_position">GTK_WIN_POS_CENTER</property>
+		<property name="modal">True</property>
+		<property name="resizable">True</property>
+		<property name="destroy_with_parent">False</property>
+		<property name="decorated">True</property>
+		<property name="skip_taskbar_hint">False</property>
+		<property name="skip_pager_hint">False</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+		<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+		<property name="focus_on_map">True</property>
+		<property name="urgency_hint">False</property>
+		<property name="has_separator">False</property>
 
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
+		<child internal-child="vbox">
+			<widget class="GtkVBox" id="dialog-vbox1">
+				<property name="visible">True</property>
+				<property name="homogeneous">False</property>
+				<property name="spacing">0</property>
 
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area1">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+				<child internal-child="action_area">
+					<widget class="GtkHButtonBox" id="dialog-action_area1">
+						<property name="visible">True</property>
+						<property name="layout_style">GTK_BUTTONBOX_END</property>
 
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
+						<child>
+							<widget class="GtkButton" id="cancelbutton1">
+								<property name="visible">True</property>
+								<property name="can_default">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-cancel</property>
+								<property name="use_stock">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<property name="response_id">-6</property>
+							</widget>
+						</child>
 
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	      <accelerator key="Return" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-	      <accelerator key="KP_Enter" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
+						<child>
+							<widget class="GtkButton" id="okbutton1">
+								<property name="visible">True</property>
+								<property name="can_default">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-ok</property>
+								<property name="use_stock">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<property name="response_id">-5</property>
+								<accelerator key="Return" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+								<accelerator key="KP_Enter" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">False</property>
+						<property name="fill">True</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
 
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
+				<child>
+					<widget class="GtkVBox" id="vbox1">
+						<property name="border_width">5</property>
+						<property name="visible">True</property>
+						<property name="homogeneous">False</property>
+						<property name="spacing">0</property>
 
-	  <child>
-	    <widget class="GtkFrame" id="frame2">
-	      <property name="visible">True</property>
-	      <property name="label_xalign">0</property>
-	      <property name="label_yalign">0.5</property>
-	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+						<child>
+							<widget class="GtkFrame" id="frame2">
+								<property name="visible">True</property>
+								<property name="label_xalign">0</property>
+								<property name="label_yalign">0.5</property>
+								<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
 
-	      <child>
-		<widget class="GtkLabel" id="changedfiles">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">True</property>
-		  <property name="selectable">True</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-	      </child>
+								<child>
+									<widget class="GtkLabel" id="changedfiles">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes"></property>
+										<property name="use_underline">False</property>
+										<property name="use_markup">False</property>
+										<property name="justify">GTK_JUSTIFY_LEFT</property>
+										<property name="wrap">True</property>
+										<property name="selectable">True</property>
+										<property name="xalign">0</property>
+										<property name="yalign">0</property>
+										<property name="xpad">0</property>
+										<property name="ypad">0</property>
+										<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+										<property name="width_chars">-1</property>
+										<property name="single_line_mode">False</property>
+										<property name="angle">0</property>
+									</widget>
+								</child>
 
-	      <child>
-		<widget class="GtkLabel" id="label3">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Commit Files</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">label_item</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
+								<child>
+									<widget class="GtkLabel" id="label3">
+										<property name="visible">True</property>
+										<property name="label" translatable="yes">Commit Files</property>
+										<property name="use_underline">False</property>
+										<property name="use_markup">False</property>
+										<property name="justify">GTK_JUSTIFY_LEFT</property>
+										<property name="wrap">False</property>
+										<property name="selectable">False</property>
+										<property name="xalign">0.5</property>
+										<property name="yalign">0.5</property>
+										<property name="xpad">0</property>
+										<property name="ypad">0</property>
+										<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+										<property name="width_chars">-1</property>
+										<property name="single_line_mode">False</property>
+										<property name="angle">0</property>
+									</widget>
+									<packing>
+										<property name="type">label_item</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">True</property>
+								<property name="fill">True</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkFrame" id="frame1">
-	      <property name="visible">True</property>
-	      <property name="label_xalign">0</property>
-	      <property name="label_yalign">0.5</property>
-	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+						<child>
+							<widget class="GtkFrame" id="frame1">
+								<property name="visible">True</property>
+								<property name="label_xalign">0</property>
+								<property name="label_yalign">0.5</property>
+								<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
 
-	      <child>
-		<widget class="GtkVBox" id="vbox2">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
+								<child>
+									<widget class="GtkVBox" id="vbox2">
+										<property name="visible">True</property>
+										<property name="homogeneous">False</property>
+										<property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow1">
-		      <property name="border_width">10</property>
-		      <property name="width_request">320</property>
-		      <property name="height_request">200</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_NONE</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+										<child>
+											<widget class="GtkScrolledWindow" id="scrolledwindow1">
+												<property name="border_width">10</property>
+												<property name="width_request">320</property>
+												<property name="height_request">200</property>
+												<property name="visible">True</property>
+												<property name="can_focus">True</property>
+												<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+												<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+												<property name="shadow_type">GTK_SHADOW_NONE</property>
+												<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-		      <child>
-			<widget class="GtkTextView" id="textview">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="overwrite">False</property>
-			  <property name="accepts_tab">True</property>
-			  <property name="justification">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap_mode">GTK_WRAP_NONE</property>
-			  <property name="cursor_visible">True</property>
-			  <property name="pixels_above_lines">0</property>
-			  <property name="pixels_below_lines">0</property>
-			  <property name="pixels_inside_wrap">0</property>
-			  <property name="left_margin">0</property>
-			  <property name="right_margin">0</property>
-			  <property name="indent">0</property>
-			  <property name="text" translatable="yes"></property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
+												<child>
+													<widget class="GtkTextView" id="textview">
+														<property name="visible">True</property>
+														<property name="can_focus">True</property>
+														<property name="editable">True</property>
+														<property name="overwrite">False</property>
+														<property name="accepts_tab">True</property>
+														<property name="justification">GTK_JUSTIFY_LEFT</property>
+														<property name="wrap_mode">GTK_WRAP_NONE</property>
+														<property name="cursor_visible">True</property>
+														<property name="pixels_above_lines">0</property>
+														<property name="pixels_below_lines">0</property>
+														<property name="pixels_inside_wrap">0</property>
+														<property name="left_margin">0</property>
+														<property name="right_margin">0</property>
+														<property name="indent">0</property>
+														<property name="text" translatable="yes"></property>
+													</widget>
+												</child>
+											</widget>
+											<packing>
+												<property name="padding">0</property>
+												<property name="expand">True</property>
+												<property name="fill">True</property>
+											</packing>
+										</child>
 
-		  <child>
-		    <widget class="GtkHBox" id="previousbox">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+										<child>
+											<widget class="GtkHBox" id="previousbox">
+												<property name="visible">True</property>
+												<property name="homogeneous">False</property>
+												<property name="spacing">0</property>
 
-		      <child>
-			<widget class="GtkLabel" id="previouslogs_label">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Previous Logs</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">5</property>
-			  <property name="ypad">5</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+												<child>
+													<widget class="GtkLabel" id="previouslogs_label">
+														<property name="visible">True</property>
+														<property name="label" translatable="yes">Previous Logs</property>
+														<property name="use_underline">False</property>
+														<property name="use_markup">False</property>
+														<property name="justify">GTK_JUSTIFY_LEFT</property>
+														<property name="wrap">False</property>
+														<property name="selectable">False</property>
+														<property name="xalign">0.5</property>
+														<property name="yalign">0.5</property>
+														<property name="xpad">5</property>
+														<property name="ypad">5</property>
+														<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+														<property name="width_chars">-1</property>
+														<property name="single_line_mode">False</property>
+														<property name="angle">0</property>
+													</widget>
+													<packing>
+														<property name="padding">0</property>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
 
-		      <child>
-			<widget class="GnomeEntry" id="previousentry">
-			  <property name="border_width">5</property>
-			  <property name="visible">True</property>
-			  <property name="history_id">previousentry</property>
-			  <property name="max_saved">15</property>
-			  <signal name="changed" handler="on_previousentry_activate" last_modification_time="Sun, 14 Sep 2003 14:08:20 GMT"/>
+												<child>
+													<widget class="GtkEntry" id="comboentry1">
+														<property name="visible">True</property>
+														<property name="can_focus">True</property>
+														<property name="editable">False</property>
+														<property name="visibility">True</property>
+														<property name="max_length">0</property>
+														<property name="text" translatable="yes"></property>
+														<property name="has_frame">True</property>
+														<property name="invisible_char">*</property>
+														<property name="activates_default">False</property>
+													</widget>
+													<packing>
+														<property name="padding">5</property>
+														<property name="expand">True</property>
+														<property name="fill">True</property>
+													</packing>
+												</child>
+											</widget>
+											<packing>
+												<property name="padding">0</property>
+												<property name="expand">True</property>
+												<property name="fill">True</property>
+											</packing>
+										</child>
+									</widget>
+								</child>
 
-			  <child internal-child="entry">
-			    <widget class="GtkEntry" id="comboentry1">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">False</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			  </child>
+								<child>
+									<widget class="GtkLabel" id="label1">
+										<property name="visible">True</property>
+										<property name="label" translatable="yes">Log Message</property>
+										<property name="use_underline">False</property>
+										<property name="use_markup">False</property>
+										<property name="justify">GTK_JUSTIFY_LEFT</property>
+										<property name="wrap">False</property>
+										<property name="selectable">False</property>
+										<property name="xalign">0.5</property>
+										<property name="yalign">0.5</property>
+										<property name="xpad">0</property>
+										<property name="ypad">0</property>
+										<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+										<property name="width_chars">-1</property>
+										<property name="single_line_mode">False</property>
+										<property name="angle">0</property>
+									</widget>
+									<packing>
+										<property name="type">label_item</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">True</property>
+								<property name="fill">True</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">True</property>
+						<property name="fill">True</property>
+					</packing>
+				</child>
 			</widget>
-			<packing>
-			  <property name="padding">5</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label1">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Log Message</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">label_item</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
+		</child>
 	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
 
-<widget class="GtkDialog" id="diffdialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Compare Options</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">False</property>
+	<widget class="GtkDialog" id="diffdialog">
+		<property name="visible">True</property>
+		<property name="title" translatable="yes">Compare Options</property>
+		<property name="type">GTK_WINDOW_TOPLEVEL</property>
+		<property name="window_position">GTK_WIN_POS_CENTER</property>
+		<property name="modal">True</property>
+		<property name="resizable">True</property>
+		<property name="destroy_with_parent">False</property>
+		<property name="decorated">True</property>
+		<property name="skip_taskbar_hint">False</property>
+		<property name="skip_pager_hint">False</property>
+		<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+		<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+		<property name="focus_on_map">True</property>
+		<property name="urgency_hint">False</property>
+		<property name="has_separator">False</property>
 
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox2">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
+		<child internal-child="vbox">
+			<widget class="GtkVBox" id="dialog-vbox2">
+				<property name="visible">True</property>
+				<property name="homogeneous">False</property>
+				<property name="spacing">0</property>
 
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area2">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+				<child internal-child="action_area">
+					<widget class="GtkHButtonBox" id="dialog-action_area2">
+						<property name="visible">True</property>
+						<property name="layout_style">GTK_BUTTONBOX_END</property>
 
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
+						<child>
+							<widget class="GtkButton" id="cancelbutton2">
+								<property name="visible">True</property>
+								<property name="can_default">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-cancel</property>
+								<property name="use_stock">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<property name="response_id">-6</property>
+							</widget>
+						</child>
 
-	  <child>
-	    <widget class="GtkButton" id="okbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
+						<child>
+							<widget class="GtkButton" id="okbutton2">
+								<property name="visible">True</property>
+								<property name="can_default">True</property>
+								<property name="can_focus">True</property>
+								<property name="label">gtk-ok</property>
+								<property name="use_stock">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<property name="response_id">-5</property>
+							</widget>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">0</property>
+						<property name="expand">False</property>
+						<property name="fill">True</property>
+						<property name="pack_type">GTK_PACK_END</property>
+					</packing>
+				</child>
 
-      <child>
-	<widget class="GtkVBox" id="vbox3">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
+				<child>
+					<widget class="GtkVBox" id="vbox3">
+						<property name="visible">True</property>
+						<property name="homogeneous">False</property>
+						<property name="spacing">6</property>
 
-	  <child>
-	    <widget class="GtkRadioButton" id="radiobutton1">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Local copy against same remote revision</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
+						<child>
+							<widget class="GtkRadioButton" id="radiobutton1">
+								<property name="visible">True</property>
+								<property name="can_focus">True</property>
+								<property name="label" translatable="yes">Local copy against same remote revision</property>
+								<property name="use_underline">True</property>
+								<property name="relief">GTK_RELIEF_NORMAL</property>
+								<property name="focus_on_click">True</property>
+								<property name="active">False</property>
+								<property name="inconsistent">False</property>
+								<property name="draw_indicator">True</property>
+							</widget>
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">False</property>
+								<property name="fill">False</property>
+							</packing>
+						</child>
 
-	  <child>
-	    <widget class="GtkVBox" id="vbox5">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
+						<child>
+							<widget class="GtkVBox" id="vbox5">
+								<property name="visible">True</property>
+								<property name="homogeneous">False</property>
+								<property name="spacing">0</property>
 
-	      <child>
-		<widget class="GtkRadioButton" id="radiobutton2">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Local copy against other remote revision</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">radiobutton1</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
+								<child>
+									<widget class="GtkRadioButton" id="radiobutton2">
+										<property name="visible">True</property>
+										<property name="can_focus">True</property>
+										<property name="label" translatable="yes">Local copy against other remote revision</property>
+										<property name="use_underline">True</property>
+										<property name="relief">GTK_RELIEF_NORMAL</property>
+										<property name="focus_on_click">True</property>
+										<property name="active">False</property>
+										<property name="inconsistent">False</property>
+										<property name="draw_indicator">True</property>
+										<property name="group">radiobutton1</property>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">False</property>
+										<property name="fill">False</property>
+									</packing>
+								</child>
 
-	      <child>
-		<widget class="GtkHBox" id="hbox4">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
+								<child>
+									<widget class="GtkHBox" id="hbox4">
+										<property name="visible">True</property>
+										<property name="homogeneous">False</property>
+										<property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label4">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">12</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
+										<child>
+											<widget class="GtkLabel" id="label4">
+												<property name="visible">True</property>
+												<property name="label" translatable="yes"></property>
+												<property name="use_underline">False</property>
+												<property name="use_markup">False</property>
+												<property name="justify">GTK_JUSTIFY_LEFT</property>
+												<property name="wrap">False</property>
+												<property name="selectable">False</property>
+												<property name="xalign">0.5</property>
+												<property name="yalign">0.5</property>
+												<property name="xpad">12</property>
+												<property name="ypad">0</property>
+												<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+												<property name="width_chars">-1</property>
+												<property name="single_line_mode">False</property>
+												<property name="angle">0</property>
+											</widget>
+											<packing>
+												<property name="padding">0</property>
+												<property name="expand">False</property>
+												<property name="fill">False</property>
+											</packing>
+										</child>
 
-		  <child>
-		    <widget class="GtkCombo" id="combo1">
-		      <property name="visible">True</property>
-		      <property name="value_in_list">False</property>
-		      <property name="allow_empty">True</property>
-		      <property name="case_sensitive">False</property>
-		      <property name="enable_arrow_keys">True</property>
-		      <property name="enable_arrows_always">False</property>
+										<child>
+											<widget class="GtkCombo" id="combo1">
+												<property name="visible">True</property>
+												<property name="value_in_list">False</property>
+												<property name="allow_empty">True</property>
+												<property name="case_sensitive">False</property>
+												<property name="enable_arrow_keys">True</property>
+												<property name="enable_arrows_always">False</property>
 
-		      <child internal-child="entry">
-			<widget class="GtkEntry" id="combo-entry1">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
+												<child internal-child="entry">
+													<widget class="GtkEntry" id="combo-entry1">
+														<property name="visible">True</property>
+														<property name="can_focus">True</property>
+														<property name="editable">True</property>
+														<property name="visibility">True</property>
+														<property name="max_length">0</property>
+														<property name="text" translatable="yes"></property>
+														<property name="has_frame">True</property>
+														<property name="invisible_char">*</property>
+														<property name="activates_default">False</property>
+													</widget>
+												</child>
 
-		      <child internal-child="list">
-			<widget class="GtkList" id="combo-list1">
-			  <property name="visible">True</property>
-			  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
+												<child internal-child="list">
+													<widget class="GtkList" id="combo-list1">
+														<property name="visible">True</property>
+														<property name="selection_mode">GTK_SELECTION_BROWSE</property>
+													</widget>
+												</child>
+											</widget>
+											<packing>
+												<property name="padding">0</property>
+												<property name="expand">True</property>
+												<property name="fill">True</property>
+											</packing>
+										</child>
 
-		  <child>
-		    <widget class="GtkVBox" id="vbox7">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+										<child>
+											<widget class="GtkVBox" id="vbox7">
+												<property name="visible">True</property>
+												<property name="homogeneous">False</property>
+												<property name="spacing">0</property>
 
-		      <child>
-			<widget class="GtkRadioButton" id="radiobutton4">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Tag</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+												<child>
+													<widget class="GtkRadioButton" id="radiobutton4">
+														<property name="visible">True</property>
+														<property name="can_focus">True</property>
+														<property name="label" translatable="yes">Tag</property>
+														<property name="use_underline">True</property>
+														<property name="relief">GTK_RELIEF_NORMAL</property>
+														<property name="focus_on_click">True</property>
+														<property name="active">False</property>
+														<property name="inconsistent">False</property>
+														<property name="draw_indicator">True</property>
+													</widget>
+													<packing>
+														<property name="padding">0</property>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
 
-		      <child>
-			<widget class="GtkRadioButton" id="radiobutton5">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Date</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <property name="group">radiobutton4</property>
+												<child>
+													<widget class="GtkRadioButton" id="radiobutton5">
+														<property name="visible">True</property>
+														<property name="can_focus">True</property>
+														<property name="label" translatable="yes">Date</property>
+														<property name="use_underline">True</property>
+														<property name="relief">GTK_RELIEF_NORMAL</property>
+														<property name="focus_on_click">True</property>
+														<property name="active">False</property>
+														<property name="inconsistent">False</property>
+														<property name="draw_indicator">True</property>
+														<property name="group">radiobutton4</property>
+													</widget>
+													<packing>
+														<property name="padding">0</property>
+														<property name="expand">False</property>
+														<property name="fill">False</property>
+													</packing>
+												</child>
+											</widget>
+											<packing>
+												<property name="padding">0</property>
+												<property name="expand">True</property>
+												<property name="fill">True</property>
+											</packing>
+										</child>
+									</widget>
+									<packing>
+										<property name="padding">0</property>
+										<property name="expand">True</property>
+										<property name="fill">True</property>
+									</packing>
+								</child>
+							</widget>
+							<packing>
+								<property name="padding">0</property>
+								<property name="expand">True</property>
+								<property name="fill">True</property>
+							</packing>
+						</child>
+					</widget>
+					<packing>
+						<property name="padding">5</property>
+						<property name="expand">True</property>
+						<property name="fill">True</property>
+					</packing>
+				</child>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
+		</child>
 	</widget>
-	<packing>
-	  <property name="padding">5</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
 
 </glade-interface>
Index: melddoc.py
===================================================================
--- melddoc.py	(revision 1069)
+++ melddoc.py	(working copy)
@@ -21,6 +21,8 @@
 import os
 from gettext import gettext as _
 
+from fileentry import FileEntry
+
 # Use these to ensure consistent return values.
 RESULT_OK, RESULT_ERROR = (0,1)
 
@@ -139,3 +141,17 @@
         """
         pass
 
+    def _create_file_entries(self, num_panes=1, directory_browser = False):
+        """ Called to create fileentry elements within components """
+        attrs = []
+        for i in xrange(num_panes):
+            f = FileEntry(self.prefs, i, self.on_fileentry_activate, directory_browser)
+            container = self.xml.get_widget('fileentrycontainer%i' %i)
+            container.add(f.widget)
+            container.show()
+            attrs.append(f)
+        if len(attrs) == 1:
+            self.fileentry = attrs[0]
+        elif len(attrs) > 1:
+            self.fileentry = attrs
+
Index: filediff.py
===================================================================
--- filediff.py	(revision 1069)
+++ filediff.py	(working copy)
@@ -34,6 +34,8 @@
 import paths
 import cairo
 
+from fileentry import FileEntry
+
 sourceview_available = 0
 
 for sourceview in "gtksourceview sourceview".split():
@@ -88,9 +90,12 @@
             override["GtkTextView"] = gsv.SourceView
             override["GtkTextBuffer"] = gsv.SourceBuffer
         gnomeglade.Component.__init__(self, paths.share_dir("glade2/filediff.glade"), "filediff", override)
-        self.map_widgets_into_lists( ["textview", "fileentry", "diffmap", "scrolledwindow", "linkmap", "statusimage"] )
+
+        self.map_widgets_into_lists( ["textview", "diffmap", "scrolledwindow", "linkmap", "statusimage"] )
+
         self._update_regexes()
         self.warned_bad_comparison = False
+
         if sourceview_available:
             for v in self.textview:
                 v.set_buffer( gsv.SourceBuffer() )
@@ -150,6 +155,7 @@
         self.popup_menu = self.ui.get_widget('/FilediffPopup')
         self.find_dialog = None
         self.last_search = None
+        self._create_file_entries(num_panes)
         self.set_num_panes(num_panes)
         gtk.idle_add( lambda *args: self.load_font()) # hack around Bug 316730
 
@@ -403,10 +409,6 @@
             self.undosequence.add_action( BufferDeletionAction(buffer, it0.get_offset(), text) )
             self.undosequence.end_group()
 
-        #
-        #
-        #
-
     def _get_focused_textview(self):
         for i in range(self.num_panes):
             t = self.textview[i]
@@ -1072,6 +1074,7 @@
             self.num_panes = n
             toshow =  self.scrolledwindow[:n] + self.fileentry[:n]
             toshow += self.linkmap[:n-1] + self.diffmap[:n]
+            print toshow
             map( lambda x: x.show(), toshow )
 
             tohide =  self.statusimage + self.scrolledwindow[n:] + self.fileentry[n:]
Index: prefs.py
===================================================================
--- prefs.py	(revision 1069)
+++ prefs.py	(working copy)
@@ -48,9 +48,6 @@
         self.default = d
         self.current = d
 
-# maybe fall back to ConfigParser if gconf is unavailable.
-import gconf
-
 # types of values allowed
 BOOL = "bool"
 INT = "int"
@@ -58,23 +55,13 @@
 FLOAT = "float"
 # LIST = "list"
 # PAIR = "pair"
-
 ##
 
-class Preferences(object):
-    """Persistent preferences object.
+class GConfPreferences(object):
+    """ Implementation / version of preferences that handles 
+        all preferences via gconf; this is desired in full gnome
+        environments """
 
-    Example:
-    import prefs
-    defaults = {"spacing": prefs.Value(prefs.INT, 4),
-                "font": prefs.Value(prefs.STRING, "monospace") }
-    p = prefs.Prefs("myapp", defaults)
-    print p.font
-    p.font = "sans" # written to gconf too
-    p2 = prefs.Prefs("myapp", defaults)
-    print p.font # prints "sans"
-    """
-
     def __init__(self, rootkey, initial):
         """Create a preferences object.
 
@@ -88,6 +75,7 @@
         self.__dict__["_listeners"] = []
         self.__dict__["_rootkey"] = rootkey
         self.__dict__["_prefs"] = initial
+
         self._gconf.add_dir(rootkey, gconf.CLIENT_PRELOAD_NONE)
         self._gconf.notify_add(rootkey, self._on_preference_changed)
         for key, value in self._prefs.items():
@@ -140,3 +128,119 @@
         for k,v in self._prefs.items():
             print k, v.type, v.current
 
+
+class ConfigParserPreferences(object):
+    """ Implementation of preferences that is backed onto the 
+        ConfigParser code / library that is included in python
+        by default.
+
+        This is the one used for people that either dislike gconf
+        (cause its a registry and unix rc files are cool), or do 
+        not have gnome readially available """
+
+    def __init__(self, rootkey, initial):
+        """Create a preferences object.
+
+        Settings are initialised with 'initial' and then overriden
+        from values in the ConfigParser database if available.
+
+        rootkey : the root gconf key where the values will be stored
+        initial : a dictionary of string to Value objects.
+        """
+
+        self.__dict__['_parser'] = ConfigParser.SafeConfigParser()
+        dirty = False
+
+        try:
+            config_file = open(self.__getrcfile__(), 'r')
+            self._parser.readfp(config_file)
+        finally:
+            config_file.close()
+            
+        self.__dict__['_listeners'] = []
+        self.__dict__['_root'] = []
+        self.__dict__['_initial'] = []
+        self.__dict__["_prefs"] = initial
+
+        self.__dict__['_type_mappings'] = {
+            BOOL : self._parser.getboolean,
+            INT : self._parser.getint,
+            STRING : self._parser.get,
+            FLOAT : self._parser.getfloat
+        }
+
+        #self._gconf.add_dir(rootkey, gconf.CLIENT_PRELOAD_NONE)
+        # TODO: The only way to get this to work would be to do something like 
+        # inotify on the file
+        #self._gconf.notify_add(rootkey, self._on_preference_changed)
+
+        for key, value in self._prefs.items():
+            if self._parser.has_option('DEFAULT', key):
+                value.current = self._type_mappings[value.type]('DEFAULT', key)
+        
+    def __getrcfile__(self):
+        
+        user_home = os.path.expanduser("~")
+        file_path = None;
+        if sys.platform == 'win32':
+            file_path = os.path.join(user_home, '_meld')
+        else:
+            file_path = os.path.join(user_home, '.meld')
+            
+        # Touch the config file if it does not exist
+        if not os.path.isfile(file_path):
+            open(file_path, 'a').close()
+
+        assert file_path, "Should have a config file"
+        return file_path
+        
+    def __getattr__(self, attr):
+        return self._prefs[attr].current
+
+    def get_default(self, attr):
+        return self._prefs[attr].default
+
+    def __setattr__(self, attr, val):
+        value = self._prefs[attr]
+        if value.current != val:
+            value.current = val
+            self._parser.set(None, attr, str(val))
+
+            try:
+                fp = open(self.__getrcfile__(), 'w')
+                self._parser.write(fp)
+            finally:
+                fp.close()
+
+            try:
+                for l in self._listeners:
+                    l(attr,val)
+            except StopIteration:
+                pass
+
+    def notify_add(self, callback):
+        """Register a callback to be called when a preference changes.
+
+        callback : a callable object which take two parameters, 'attr' the
+                   name of the attribute changed and 'val' the new value.
+        """
+        self._listeners.append(callback)
+
+    def dump(self):
+        """Print all preferences.
+        """
+        for k,v in self._prefs.items():
+            print k, v.type, v.current
+
+Preferences = None
+# First attempt to use gconf if it already there, if not wind up using 
+# ConfigParser
+try:
+    import gconf
+    Preferences = GConfPreferences
+except ImportError:
+    import ConfigParser
+    import os, sys
+    Preferences = ConfigParserPreferences
+
+assert Preferences is not None, "Could not load a reasonable preference parser"
Index: vc/cvs.py
===================================================================
--- vc/cvs.py	(revision 1069)
+++ vc/cvs.py	(working copy)
@@ -32,10 +32,11 @@
 class Vc(_vc.Vc):
     CMD = "cvs"
     NAME = "CVS"
+    CVS_DIR = "CVS"
     PATCH_INDEX_RE = "^Index:(.*)$"
 
     def __init__(self, location):
-        if not os.path.exists("%s/CVS"% location):
+        if not os.path.exists(os.path.join(location, self.CVS_DIR)):
             raise ValueError
         self.root = location
 
Index: vc/darcs.py
===================================================================
--- vc/darcs.py	(revision 1069)
+++ vc/darcs.py	(working copy)
@@ -36,18 +36,14 @@
 class Vc(_vc.Vc):
 
     CMD = "darcs"
+    DARCS_DIR = "_darcs"
     NAME = "Darcs"
     PATCH_STRIP_NUM = 1
     PATCH_INDEX_RE = "--- old.+?/(.+?)\\t+.*[0-9]{4}$"
 
     def __init__(self, location):
         self._cachetime = None
-        while location != "/":
-            if os.path.isdir( "%s/_darcs" % location):
-                self.root = location
-                return
-            location = os.path.dirname(location)
-        raise ValueError()
+        self.root = self.find_vcs_root(location, self.DARCS_DIR)
 
     def commit_command(self, message):
         return [self.CMD, "record",
Index: vc/bzr.py
===================================================================
--- vc/bzr.py	(revision 1069)
+++ vc/bzr.py	(working copy)
@@ -29,18 +29,14 @@
 class Vc(_vc.Vc):
 
     CMD = "bzr"
+    BZR_DIR = ".bzr"
     NAME = "Bazaar-NG"
     PATCH_STRIP_NUM = 0
     PATCH_INDEX_RE = "^=== modified file '(.*)'$"
 
     def __init__(self, location):
         self._tree_cache = None
-        while location != "/":
-            if os.path.isdir( "%s/.bzr" % location):
-                self.root = location
-                return
-            location = os.path.dirname(location)
-        raise ValueError()
+        self.root = self.find_vcs_root(location, self.BZR_DIR)
 
     def commit_command(self, message):
         return [self.CMD,"commit","-m",message]
Index: vc/monotone.py
===================================================================
--- vc/monotone.py	(revision 1069)
+++ vc/monotone.py	(working copy)
@@ -27,7 +27,6 @@
 import time
 import _vc
 
-
 class Vc(_vc.Vc):
     CMD = "mtn"
     NAME = "Monotone"
@@ -36,35 +35,21 @@
 
     def __init__(self, location):
         self._tree_cache = None
-        location = os.path.normpath(location)
 
-        def find_folder(where, tofind):
-            while where != "/":
-                cur = os.path.join(where,tofind)
-                if os.path.isdir(cur):
-                    return where
-                where = os.path.dirname(where)
-
         # for monotone >= 0.26
-        mtn = find_folder(location,"_MTN")
-        if mtn:
-            self.root = mtn
+        try :
+            self.root = self.find_vcs_root(location,"_MTN")
+            self.interface_version = float(os.popen("mtn" + " automate interface_version").read())
+            if self.interface_version > 6.0:
+                print "WARNING: Unsupported interface version (please report any problems to the meld mailing list)"
 
-	    self.interface_version = float(os.popen("mtn" + " automate interface_version").read())
-	    if self.interface_version > 6.0:
-		print "WARNING: Unsupported interface version (please report any problems to the meld mailing list)"
-
             return
-
-        # for monotone <= 0.25 (different metadata directory, different executable)
-        mt = find_folder(location,"MT")
-        if mt:
-            self.root = mt
+        except ValueError:
+            # for monotone <= 0.25 (different metadata directory, different executable)
+            self.root = self.find_vcs_root(location,"MT")
             self.CMD = "monotone"
             return
 
-        raise ValueError
-
     def commit_command(self, message):
         return [self.CMD,"commit","-m",message]
     def diff_command(self):
Index: vc/tla.py
===================================================================
--- vc/tla.py	(revision 1069)
+++ vc/tla.py	(working copy)
@@ -63,16 +63,12 @@
     NAME = "Arch"
     PATCH_STRIP_NUM = 1
     PATCH_INDEX_RE = "--- orig/(.*)"
+    TLA_DIR = "{arch}"
 
     def __init__(self, location):
         self._cachetime = None
         self._cached_statuses = None
-        while location != "/":
-            if os.path.isdir( "%s/{arch}" % location):
-                self.root = location
-                return
-            location = os.path.dirname(location)
-        raise ValueError()
+        self.root = self.find_vcs_root(location, self.TLA_DIR)
 
     def commit_command(self, message):
         return [self.CMD, "commit",
Index: vc/git.py
===================================================================
--- vc/git.py	(revision 1069)
+++ vc/git.py	(working copy)
@@ -34,22 +34,21 @@
 class Vc(_vc.Vc):
 
     CMD = "git"
+    GIT_DIR = ".git"
     NAME = "Git"
     PATCH_STRIP_NUM = 1
     PATCH_INDEX_RE = "^diff --git a/(.*) b/.*$"
 
     def __init__(self, location):
         self._tree_cache = None
-        while location != "/":
-            if os.path.isdir( "%s/.git" % location):
-                self.root = location
-                return
-            location = os.path.dirname(location)
+
+        # Invoke the special case first, it saves a file walk
         gitdir = os.environ.get("GIT_DIR")
         if gitdir and os.path.isdir(gitdir):
             self.root = gitdir
             return
-        raise ValueError()
+        else:
+            self.root = self.find_vcs_root(location, self.GIT_DIR)
 
     def commit_command(self, message):
         return [self.CMD,"commit","-m",message]
Index: vc/mercurial.py
===================================================================
--- vc/mercurial.py	(revision 1069)
+++ vc/mercurial.py	(working copy)
@@ -28,17 +28,13 @@
 class Vc(_vc.Vc):
 
     CMD = "hg"
+    HG_DIR = ".hg"
     NAME = "Mercurial"
     PATCH_STRIP_NUM = 1
     PATCH_INDEX_RE = "^diff -r \w+ (.*)$"
 
     def __init__(self, location):
-        while location != "/":
-            if os.path.isdir( "%s/.hg" % location):
-                self.root = location
-                return
-            location = os.path.dirname(location)
-        raise ValueError()
+        self.root = self.find_vcs_root(location, self.HG_DIR)
 
     def commit_command(self, message):
         return [self.CMD,"commit","-m",message]
Index: vc/svn.py
===================================================================
--- vc/svn.py	(revision 1069)
+++ vc/svn.py	(working copy)
@@ -31,9 +31,10 @@
     CMD = "svn"
     NAME = "Subversion"
     PATCH_INDEX_RE = "^Index:(.*)$"
+    SVN_DIR = ".svn"
 
     def __init__(self, location):
-        if not os.path.exists("%s/.svn"%location):
+        if not os.path.exists(os.path.join(location, self.SVN_DIR)):
             raise ValueError()
         self.root = location
 
Index: vc/_vc.py
===================================================================
--- vc/_vc.py	(revision 1069)
+++ vc/_vc.py	(working copy)
@@ -142,3 +142,9 @@
 
     def _get_dirsandfiles(self, directory, dirs, files):
         raise NotImplementedError()
+
+    def find_vcs_root(self, location, tofind):
+        for path, dirs, files in os.walk(location, topdown=False):
+            if location in dirs:
+                return path
+        raise ValueError()
Index: meldapp.py
===================================================================
--- meldapp.py	(revision 1069)
+++ meldapp.py	(working copy)
@@ -24,7 +24,6 @@
 import gtk.glade
 import gobject
 import pango
-import gnome
 
 # project
 import paths
@@ -36,8 +35,11 @@
 import dirdiff
 import task
 
+import webbrowser
+
 # optional
 sourceview_available = 0
+gnome_available = False
 
 for sourceview in "gtksourceview sourceview".split():
     try:
@@ -47,8 +49,14 @@
     except ImportError:
         pass
 
-version = "1.2"
+try:
+    import gnome
+    gnome_available = True
+except ImportError:
+    pass
 
+version = "1.3 \nGreg Bowyer \nWin32 / GTK only Patch"
+
 # magic developer switch, changes some behaviour
 developer = 0
 
@@ -89,11 +97,12 @@
     def on_response(self, dialog, arg):
         if arg != gtk.RESPONSE_CANCEL:
             page = self.notebook.get_current_page()
-            paths = [ e.get_full_path(0) or "" for e in self.entrylists[page] ]
+            paths = [ e.get_filename() or "" for e in self.entrylists[page] ]
             if page < 2 and not self.three_way_compare[page].get_active():
                 paths.pop(0)
             for path in paths:
-                self.entrylists[page][0].gnome_entry().append_history(True, path)
+                #self.entrylists[page][0].gnome_entry().append_history(True, path)
+				print "TODO: NEED TO FIXUP HISTORY SUPPORT !!!"
             methods = (self.parentapp.append_filediff,
                        self.parentapp.append_dirdiff,
                        self.parentapp.append_vcview )
@@ -491,11 +500,19 @@
         if self.use_custom_font:
             return self.custom_font
         else:
-            return self._gconf.get_string('/desktop/gnome/interface/monospace_font_name') or "Monospace 10"
+            try:
+                return self._gconf.get_string('/desktop/gnome/interface/monospace_font_name') or "Monospace 10"
+            except KeyError:
+                "Monospace 10"
 
     def get_toolbar_style(self):
         if self.toolbar_style == 0:
-            style = self._gconf.get_string('/desktop/gnome/interface/toolbar_style') or "both"
+
+            try:
+                style = self._gconf.get_string('/desktop/gnome/interface/toolbar_style') or "both"
+            except KeyError:
+                style = "both"
+
             style = style.replace("-","_")
             style = {"both":gtk.TOOLBAR_BOTH, "text":gtk.TOOLBAR_TEXT,
                      "icon":gtk.TOOLBAR_ICONS, "icons":gtk.TOOLBAR_ICONS,
@@ -508,17 +525,18 @@
 
     def get_gnome_editor_command(self, files):
         argv = []
-        editor = self._gconf.get_string('/desktop/gnome/applications/editor/exec') or "gedit"
-        if self._gconf.get_bool("/desktop/gnome/applications/editor/needs_term"):
-            texec = self._gconf.get_string("/desktop/gnome/applications/terminal/exec")
-            if texec:
-                argv.append(texec)
-                targ = self._gconf.get_string("/desktop/gnome/applications/terminal/exec_arg")
-                if targ:
-                    argv.append(targ)
-            argv.append( "%s %s" % (editor, " ".join( [f.replace(" ","\\ ") for f in files]) ) )
-        else:
-            argv = [editor] + files
+        if self._gconf:
+            editor = self._gconf.get_string('/desktop/gnome/applications/editor/exec') or "gedit"
+            if self._gconf.get_bool("/desktop/gnome/applications/editor/needs_term"):
+                texec = self._gconf.get_string("/desktop/gnome/applications/terminal/exec")
+                if texec:
+                    argv.append(texec)
+                    targ = self._gconf.get_string("/desktop/gnome/applications/terminal/exec_arg")
+                    if targ:
+                        argv.append(targ)
+                argv.append( "%s %s" % (editor, " ".join( [f.replace(" ","\\ ") for f in files]) ) )
+            else:
+                argv = [editor] + files
         return argv
 
     def get_custom_editor_command(self, files):
@@ -545,7 +563,13 @@
                      "}\n"
                      "widget \"*.meld-tab-close-button\" style \"meld-tab-close-button-style\"")
         gladefile = paths.share_dir("glade2/meldapp.glade")
-        self.program = gnome.program_init("meld", version)
+
+        if gnome_available:
+            self.program = gnome.program_init("meld", version)
+        else:
+            #Should we do basic GTK stuff here, it basically inits without ?
+            pass
+
         gnomeglade.Component.__init__(self, gladefile, "meldapp")
 
         actions = (
@@ -756,19 +780,23 @@
     # Toolbar and menu items (help)
     #
     def on_menu_meld_home_page_activate(self, button):
-        gnome.url_show("http://meld.sourceforge.net")
+        webbrowser.open('http://meld.sourceforge.net')
 
     def on_menu_help_bug_activate(self, button):
-        gnome.url_show("http://bugzilla.gnome.org/buglist.cgi?product=meld")
+        webbrowser.open('http://bugzilla.gnome.org/buglist.cgi?product=meld')
 
     def on_menu_users_manual_activate(self, button):
-        gnome.url_show("ghelp:///"+os.path.abspath(paths.help_dir("C/meld.xml") ))
+        if gnome_available:
+            gnome.url_show("ghelp:///"+os.path.abspath(paths.help_dir("C/meld.xml") ))
+        else:
+            webbrowser.open('http://meld.sourceforge.net/documentation')
 
     def on_menu_about_activate(self, *extra):
         about = gtk.glade.XML(paths.share_dir("glade2/meldapp.glade"),"about").get_widget("about")
         about.props.name = "Meld"
         about.props.version = version
-        about.show()
+        about.run()
+        about.hide()
 
     #
     # Toolbar and menu items (misc)
