Index: src/seahorse-sign.c
===================================================================
--- src/seahorse-sign.c	(revision 2177)
+++ src/seahorse-sign.c	(working copy)
@@ -20,7 +20,7 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-gpgmex.h"
 #include "seahorse-windows.h"
Index: src/seahorse-delete.c
===================================================================
--- src/seahorse-delete.c	(revision 2177)
+++ src/seahorse-delete.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-gpgmex.h"
 #include "seahorse-windows.h"
 #include "seahorse-pgp-key-op.h"
Index: src/seahorse-add-uid.c
===================================================================
--- src/seahorse-add-uid.c	(revision 2177)
+++ src/seahorse-add-uid.c	(working copy)
@@ -20,7 +20,10 @@
  */
 
 #include <config.h> 
-#include <gnome.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
  
 #include "seahorse-gpgmex.h"
 #include "seahorse-key-dialogs.h"
Index: src/seahorse-pgp-generate.glade
===================================================================
--- src/seahorse-pgp-generate.glade	(revision 2177)
+++ src/seahorse-pgp-generate.glade	(working copy)
@@ -1,658 +1,410 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="pgp-generate">
-  <property name="border_width">5</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">New PGP Key</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">False</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>
-  <accessibility>
-    <atkproperty name="AtkObject::accessible_name" translatable="yes">Create a PGP Key</atkproperty>
-  </accessibility>
-  <signal name="delete_event" handler="delete_event" last_modification_time="Fri, 10 Jan 2003 08:53:02 GMT"/>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">2</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="helpbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-help</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">-11</property>
-	      <signal name="clicked" handler="help" last_modification_time="Sun, 10 Nov 2002 19:54:20 GMT"/>
-	    </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>
-	      <signal name="clicked" handler="closed" last_modification_time="Sun, 10 Nov 2002 19:54:11 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="ok">
-	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
-	      <property name="tooltip" translatable="yes">Generate a new key</property>
-	      <property name="can_default">True</property>
-	      <property name="has_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	      <signal name="clicked" handler="ok_clicked" last_modification_time="Sun, 10 Nov 2002 19:54:32 GMT"/>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment1">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox1">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
-
-		      <child>
-			<widget class="GtkImage" id="image1">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-ok</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>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label44">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">C_reate</property>
-			  <property name="use_underline">True</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="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </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="GtkHBox" id="hbox2">
-	  <property name="border_width">7</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkImage" id="pgp-image">
-	      <property name="visible">True</property>
-	      <property name="icon_name"></property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0</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="GtkVBox" id="vbox1">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label45">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">A PGP key allows you to encrypt email or files to other people.</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</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="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkTable" id="table12">
-		  <property name="visible">True</property>
-		  <property name="n_rows">3</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">6</property>
-		  <property name="column_spacing">12</property>
-
-		  <child>
-		    <widget class="GtkEntry" id="email-entry">
-		      <property name="width_request">180</property>
-		      <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"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">True</property>
-		      <signal name="changed" handler="on_entry_changed" last_modification_time="Fri, 18 Aug 2006 15:15:31 GMT"/>
-		    </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"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label46">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Email Address:</property>
-		      <property name="use_underline">True</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="mnemonic_widget">email-entry</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">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label53">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Full _Name:</property>
-		      <property name="use_underline">True</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="mnemonic_widget">name-entry</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="GtkEntry" id="name-entry">
-		      <property name="width_request">180</property>
-		      <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"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">True</property>
-		      <signal name="changed" handler="on_entry_changed" last_modification_time="Fri, 18 Aug 2006 15:15:39 GMT"/>
-		    </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="GtkEntry" id="comment-entry">
-		      <property name="width_request">180</property>
-		      <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"></property>
-		      <property name="has_frame">True</property>
-		      <property name="activates_default">True</property>
-		      <signal name="changed" handler="on_entry_changed" last_modification_time="Fri, 18 Aug 2006 15:15:46 GMT"/>
-		    </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="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label54">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Comment:</property>
-		      <property name="use_underline">True</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="mnemonic_widget">comment-entry</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">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkExpander" id="expander1">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="expanded">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment2">
-		      <property name="visible">True</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">12</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkTable" id="table11">
-			  <property name="visible">True</property>
-			  <property name="n_rows">3</property>
-			  <property name="n_columns">2</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">6</property>
-			  <property name="column_spacing">12</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label49">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Encryption _Type:</property>
-			      <property name="use_underline">True</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="label50">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Key _Strength (bits):</property>
-			      <property name="use_underline">True</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">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment4">
-			      <property name="visible">True</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkComboBox" id="algorithm-choice">
-				  <property name="visible">True</property>
-				  <property name="items" translatable="yes">Algorithms here</property>
-				  <property name="add_tearoffs">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="changed" handler="on_algorithm_changed" last_modification_time="Fri, 18 Aug 2006 15:22:24 GMT"/>
-				</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="GtkAlignment" id="alignment5">
-			      <property name="visible">True</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkSpinButton" id="bits-entry">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="climb_rate">1</property>
-				  <property name="digits">0</property>
-				  <property name="numeric">True</property>
-				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				  <property name="snap_to_ticks">False</property>
-				  <property name="wrap">False</property>
-				  <property name="adjustment">2048 512 8192 512 1 1</property>
-				</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="GtkLabel" id="label55">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">E_xpiration Date:</property>
-			      <property name="use_underline">True</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">2</property>
-			      <property name="bottom_attach">3</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox3">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">12</property>
-
-			      <child>
-				<widget class="GnomeDateEdit" id="expiry-date">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="dateedit_flags"></property>
-				  <property name="lower_hour">7</property>
-				  <property name="upper_hour">19</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="expires-check">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Ne_ver Expires</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">True</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_expires_toggled" last_modification_time="Fri, 18 Aug 2006 15:16:55 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </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">fill</property>
-			      <property name="y_options">fill</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label48">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;_Advanced key options&lt;/b&gt;</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">True</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">False</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>
-</widget>
-
+  <widget class="GtkDialog" id="pgp-generate">
+    <property name="visible">True</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">New PGP Key</property>
+    <property name="resizable">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <accessibility>
+      <atkproperty name="AtkObject::accessible_name" translatable="yes">Create a PGP Key</atkproperty>
+    </accessibility>
+    <signal name="delete_event" handler="delete_event"/>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <widget class="GtkHBox" id="hbox2">
+            <property name="visible">True</property>
+            <property name="border_width">7</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkImage" id="pgp-image">
+                <property name="visible">True</property>
+                <property name="yalign">0</property>
+                <property name="stock">gtk-missing-image</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox1">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="label45">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">A PGP key allows you to encrypt email or files to other people.</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkTable" id="table12">
+                    <property name="visible">True</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkLabel" id="label54">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Comment:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">comment-entry</property>
+                      </widget>
+                      <packing>
+                        <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="GtkEntry" id="comment-entry">
+                        <property name="width_request">180</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <signal name="changed" handler="on_entry_changed"/>
+                      </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="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="name-entry">
+                        <property name="width_request">180</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <signal name="changed" handler="on_entry_changed"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label53">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Full _Name:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">name-entry</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label46">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Email Address:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">email-entry</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="email-entry">
+                        <property name="width_request">180</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <signal name="changed" handler="on_entry_changed"/>
+                      </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"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkExpander" id="expander1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment2">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0</property>
+                        <property name="xscale">0</property>
+                        <property name="yscale">0</property>
+                        <property name="top_padding">12</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkTable" id="table11">
+                            <property name="visible">True</property>
+                            <property name="n_rows">3</property>
+                            <property name="n_columns">2</property>
+                            <property name="column_spacing">12</property>
+                            <property name="row_spacing">6</property>
+                            <child>
+                              <widget class="GtkHBox" id="expiry-date-container">
+                                <property name="visible">True</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <widget class="GtkCheckButton" id="expires-check">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">Ne_ver Expires</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="active">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="toggled" handler="on_expires_toggled"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </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">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label55">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">E_xpiration Date:</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <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="GtkAlignment" id="alignment5">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="yalign">0</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkSpinButton" id="bits-entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">2048 512 8192 512 1 1</property>
+                                    <property name="climb_rate">1</property>
+                                    <property name="numeric">True</property>
+                                  </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">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment4">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="yalign">0</property>
+                                <property name="xscale">0</property>
+                                <child>
+                                  <widget class="GtkComboBox" id="algorithm-choice">
+                                    <property name="visible">True</property>
+                                    <property name="items" translatable="yes">Algorithms here</property>
+                                    <signal name="changed" handler="on_algorithm_changed"/>
+                                  </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="GtkLabel" id="label50">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Key _Strength (bits):</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label49">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Encryption _Type:</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label48">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;_Advanced key options&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <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="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="helpbutton1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-help</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-11</property>
+                <signal name="clicked" handler="help"/>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="cancelbutton1">
+                <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>
+                <signal name="clicked" handler="closed"/>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="ok">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="tooltip" translatable="yes">Generate a new key</property>
+                <property name="response_id">-5</property>
+                <signal name="clicked" handler="ok_clicked"/>
+                <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="hbox1">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkImage" id="image1">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-ok</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label44">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">C_reate</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>
 </glade-interface>
Index: src/seahorse-ssh-key-properties.c
===================================================================
--- src/seahorse-ssh-key-properties.c	(revision 2177)
+++ src/seahorse-ssh-key-properties.c	(working copy)
@@ -19,8 +19,9 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-key-widget.h"
 #include "seahorse-util.h"
 #include "seahorse-key.h"
Index: src/seahorse-ssh-generate.c
===================================================================
--- src/seahorse-ssh-generate.c	(revision 2177)
+++ src/seahorse-ssh-generate.c	(working copy)
@@ -20,8 +20,11 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-ssh-source.h"
 #include "seahorse-ssh-key.h"
 #include "seahorse-ssh-operation.h"
Index: src/seahorse-add-subkey.c
===================================================================
--- src/seahorse-add-subkey.c	(revision 2177)
+++ src/seahorse-add-subkey.c	(working copy)
@@ -20,7 +20,10 @@
  */
 
 #include <config.h> 
-#include <gnome.h>
+
+#include <glib/gi18n.h>
+
+#include "egg-datetime.h"
  
 #include "seahorse-gpgmex.h"
 #include "seahorse-key-dialogs.h"
@@ -28,7 +31,6 @@
 #include "seahorse-pgp-key-op.h"
 #include "seahorse-util.h"
 
-#define EXPIRES "expires"
 #define LENGTH "length"
 
 enum {
@@ -69,11 +71,38 @@
 	}
 }
 
+static GtkWidget *
+_seahorse_add_subkey_get_expires (SeahorseWidget *swidget)
+{
+    GtkWidget *widget;
+    GList *children;
+
+    g_return_val_if_fail (swidget != NULL, NULL);
+
+    widget = seahorse_widget_get_widget (swidget, "table1");
+    g_return_val_if_fail (widget != NULL, NULL);
+
+    children = gtk_container_get_children (GTK_CONTAINER (widget));
+    g_return_val_if_fail (children, NULL);
+
+    /* The fifth element should be expires */
+    widget = g_list_nth_data (children, 5);
+
+    g_list_free (children);
+
+    return widget;
+}
+
 static void
 never_expires_toggled (GtkToggleButton *togglebutton, SeahorseWidget *swidget)
 {
-	gtk_widget_set_sensitive (glade_xml_get_widget (swidget->xml, EXPIRES),
-		!gtk_toggle_button_get_active (togglebutton));
+    GtkWidget *widget;
+
+    widget = _seahorse_add_subkey_get_expires (swidget);
+    g_return_if_fail (widget);
+
+    gtk_widget_set_sensitive (GTK_WIDGET (widget),
+                              !gtk_toggle_button_get_active (togglebutton));
 }
 
 static void
@@ -105,9 +134,12 @@
 	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (
 	glade_xml_get_widget (swidget->xml, "never_expires"))))
 		expires = 0;
-	else
-		expires = gnome_date_edit_get_time (GNOME_DATE_EDIT (
-			glade_xml_get_widget (swidget->xml, EXPIRES)));
+	else {
+        widget = _seahorse_add_subkey_get_expires (swidget);
+        g_return_if_fail (widget);
+
+        egg_datetime_get_as_time_t (EGG_DATETIME (widget), &expires);
+   }
 	
 	switch (type) {
 		case 0:
@@ -145,6 +177,7 @@
     GtkTreeModel *model;
     GtkTreeIter iter;
     GtkCellRenderer *renderer;
+    GtkWidget *widget;
 	
 	swidget = seahorse_key_widget_new ("add-subkey", parent, SEAHORSE_KEY (pkey));
 	g_return_if_fail (swidget != NULL);
@@ -198,4 +231,8 @@
 		G_CALLBACK (never_expires_toggled), swidget);
 	glade_xml_signal_connect_data (swidget->xml, "type_changed",
 		G_CALLBACK (type_changed), swidget);
+
+    widget = seahorse_widget_get_widget (swidget, "table1");
+    g_return_if_fail (widget != NULL);
+    gtk_table_attach_defaults (GTK_TABLE (widget), egg_datetime_new (), 1, 2, 2, 3);
 }
Index: src/seahorse-preferences.c
===================================================================
--- src/seahorse-preferences.c	(revision 2177)
+++ src/seahorse-preferences.c	(working copy)
@@ -20,8 +20,6 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <gnome.h>
-
 #include "seahorse-prefs.h"
 #include "seahorse-gconf.h"
 #include "seahorse-preferences.h"
Index: src/seahorse-gkeyring-item-properties.c
===================================================================
--- src/seahorse-gkeyring-item-properties.c	(revision 2177)
+++ src/seahorse-gkeyring-item-properties.c	(working copy)
@@ -19,8 +19,9 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-key-widget.h"
 #include "seahorse-util.h"
 #include "seahorse-key.h"
Index: src/seahorse-gkeyring-item.c
===================================================================
--- src/seahorse-gkeyring-item.c	(revision 2177)
+++ src/seahorse-gkeyring-item.c	(working copy)
@@ -20,8 +20,11 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-context.h"
 #include "seahorse-key-source.h"
 #include "seahorse-gkeyring-item.h"
@@ -35,6 +38,11 @@
 #include "seahorse-ssh-key.h"
 #endif 
 
+/* XXX Copied from libgnomeui */
+#define GNOME_STOCK_AUTHENTICATION      "gnome-stock-authentication"
+#define GNOME_STOCK_BOOK_OPEN           "gnome-stock-book-open"
+#define GNOME_STOCK_BLANK               "gnome-stock-blank"
+
 enum {
     PROP_0,
     PROP_ITEM_ID,
Index: src/seahorse-gkeyring-source.c
===================================================================
--- src/seahorse-gkeyring-source.c	(revision 2177)
+++ src/seahorse-gkeyring-source.c	(working copy)
@@ -20,10 +20,13 @@
  */
 
 #include "config.h"
+
 #include <stdlib.h>
+#include <string.h>
 #include <libintl.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-gkeyring-source.h"
 #include "seahorse-operation.h"
 #include "seahorse-util.h"
Index: src/seahorse-pgp-generate.c
===================================================================
--- src/seahorse-pgp-generate.c	(revision 2177)
+++ src/seahorse-pgp-generate.c	(working copy)
@@ -20,8 +20,14 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <time.h>
+#include <string.h>
+
+#include <glib/gi18n.h>
+
+#include "egg-datetime.h"
+
 #include "seahorse-pgp-source.h"
 #include "seahorse-pgp-key.h"
 #include "seahorse-pgp-key-op.h"
@@ -55,6 +61,28 @@
     }
 }
 
+static GtkWidget *
+_seahorse_pgp_generate_get_expiry_date (SeahorseWidget *swidget)
+{
+    GtkWidget *widget;
+    GList *children;
+
+    g_return_val_if_fail (swidget != NULL, NULL);
+
+    widget = seahorse_widget_get_widget (swidget, "expiry-date-container");
+    g_return_val_if_fail (widget != NULL, NULL);
+
+    children = gtk_container_get_children (GTK_CONTAINER (widget));
+    g_return_val_if_fail (children, NULL);
+
+    /* The first widget should be the expiry-date */
+    widget = g_list_nth_data (children, 0);
+
+    g_list_free (children);
+
+    return widget;
+}
+
 static void
 on_response (GtkDialog *dialog, guint response, SeahorseWidget *swidget)
 {
@@ -68,7 +96,7 @@
     gpgme_error_t gerr;
     gint sel;
     guint type;
-    glong expires;
+    time_t expires;
     guint bits;
     
     if (response == GTK_RESPONSE_HELP) {
@@ -122,11 +150,11 @@
     g_return_if_fail (widget != NULL);
     if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
         expires = 0;
-    else 
-    {
-        widget = seahorse_widget_get_widget (swidget, "expiry-date");
-        g_return_if_fail (widget != NULL);
-        expires = gnome_date_edit_get_time (GNOME_DATE_EDIT (widget));
+    else {
+        widget = _seahorse_pgp_generate_get_expiry_date (swidget);
+        g_return_if_fail (widget);
+
+        egg_datetime_get_as_time_t (EGG_DATETIME (widget), &expires);
     }
 
     sksrc = SEAHORSE_PGP_SOURCE (g_object_get_data (G_OBJECT (swidget), "key-source"));
@@ -181,8 +209,9 @@
 {
     GtkWidget *widget;
     
-    widget = seahorse_widget_get_widget (swidget, "expiry-date");
-    g_return_if_fail (widget != NULL);
+    widget = _seahorse_pgp_generate_get_expiry_date (swidget);
+    g_return_if_fail (widget);
+
     gtk_widget_set_sensitive (widget, !gtk_toggle_button_get_active (button));
 }
 
@@ -208,7 +237,7 @@
 {
     SeahorseWidget *swidget;
     GtkWidget *widget;
-    gulong expires;
+    time_t expires;
     guint i;
     
     swidget = seahorse_widget_new ("pgp-generate", parent);
@@ -231,12 +260,13 @@
     gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
     algorithm_changed (GTK_COMBO_BOX (widget), swidget);
     
+    expires = time (NULL);
+    expires += (60 * 60 * 24 * 365); /* Seconds in a year */
+
     /* Default expiry date */
-    widget = seahorse_widget_get_widget (swidget, "expiry-date");
+    widget = seahorse_widget_get_widget (swidget, "expiry-date-container");
     g_return_if_fail (widget != NULL);
-    expires = time(NULL);
-    expires += (60 * 60 * 24 * 365); /* Seconds in a year */
-    gnome_date_edit_set_time (GNOME_DATE_EDIT (widget), expires);
+    gtk_box_pack_start (GTK_BOX (widget), egg_datetime_new_from_time_t (expires), TRUE, TRUE, 0);
     
     g_object_ref (sksrc);
     g_object_set_data_full (G_OBJECT (swidget), "key-source", sksrc, g_object_unref);
Index: src/seahorse-ssh-upload.c
===================================================================
--- src/seahorse-ssh-upload.c	(revision 2177)
+++ src/seahorse-ssh-upload.c	(working copy)
@@ -20,8 +20,11 @@
  */
 
 #include <config.h>
-#include <gnome.h>
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-widget.h"
 #include "seahorse-util.h"
 #include "seahorse-operation.h"
Index: src/seahorse-expires.c
===================================================================
--- src/seahorse-expires.c	(revision 2177)
+++ src/seahorse-expires.c	(working copy)
@@ -20,7 +20,10 @@
  */
  
 #include <config.h>
-#include <gnome.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
  
 #include "seahorse-gpgmex.h"
 #include "seahorse-key-dialogs.h"
Index: src/seahorse-key-properties.c
===================================================================
--- src/seahorse-key-properties.c	(revision 2177)
+++ src/seahorse-key-properties.c	(working copy)
@@ -24,9 +24,12 @@
 /* TODO: Make sure to free when getting text from seahorse_pgp_key_* */
 
 #include "config.h"
-#include <gnome.h>
+
 #include <time.h>
+#include <string.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-gpgmex.h"
 #include "seahorse-key-dialogs.h"
 #include "seahorse-key-widget.h"
Index: src/seahorse-key-manager.glade
===================================================================
--- src/seahorse-key-manager.glade	(revision 2177)
+++ src/seahorse-key-manager.glade	(working copy)
@@ -1,775 +1,389 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--Generated with glade3 3.4.3 on Mon Apr  7 20:14:23 2008 -->
 <glade-interface>
-<requires lib="gnome"/>
-<requires lib="bonobo"/>
-
-<widget class="GnomeApp" id="key-manager">
-  <property name="title" translatable="yes">Passwords and Encryption Keys</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">640</property>
-  <property name="default_height">476</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>
-  <property name="enable_layout_config">True</property>
-  <signal name="delete_event" handler="quit_event" last_modification_time="Mon, 28 Oct 2002 05:11:14 GMT"/>
-
-  <child internal-child="dock">
-    <widget class="BonoboDock" id="bonobodock1">
-      <property name="visible">True</property>
-      <property name="allow_floating">True</property>
-
-      <child>
-	<widget class="BonoboDockItem" id="bonobodockitem1">
-	  <property name="visible">True</property>
-	  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="menu-placeholder">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="placement">BONOBO_DOCK_TOP</property>
-	  <property name="band">0</property>
-	  <property name="position">0</property>
-	  <property name="offset">0</property>
-	  <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="BonoboDockItem" id="tool_dock">
-	  <property name="visible">True</property>
-	  <property name="shadow_type">GTK_SHADOW_OUT</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox1">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkVBox" id="toolbar-placeholder">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <placeholder/>
-		  </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="hbox1">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Filter:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_RIGHT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">1</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">1</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">3</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="filter">
-		      <property name="width_request">140</property>
-		      <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="activates_default">False</property>
-		      <signal name="changed" handler="on_filter_changed" last_modification_time="Thu, 07 Oct 2004 02:48:36 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label2">
-		      <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">2</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>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="placement">BONOBO_DOCK_TOP</property>
-	  <property name="band">1</property>
-	  <property name="position">0</property>
-	  <property name="offset">0</property>
-	  <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox1">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkNotebook" id="notebook">
-	      <property name="border_width">3</property>
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="show_tabs">True</property>
-	      <property name="show_border">True</property>
-	      <property name="tab_pos">GTK_POS_TOP</property>
-	      <property name="scrollable">False</property>
-	      <property name="enable_popup">False</property>
-	      <signal name="switch_page" handler="on_tab_changed" last_modification_time="Fri, 20 May 2005 23:25:06 GMT"/>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="sec-key-tab">
-		  <property name="border_width">3</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_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="sec-key-list">
-		      <property name="border_width">12</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">True</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="row_activated" last_modification_time="Thu, 07 Nov 2002 04:38:39 GMT"/>
-		      <signal name="button_press_event" handler="key_list_button_pressed" last_modification_time="Wed, 12 Feb 2003 02:29:41 GMT"/>
-		      <signal name="popup_menu" handler="key_list_popup_menu" last_modification_time="Sun, 02 Mar 2003 19:43:39 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label13">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">My _Personal Keys</property>
-		  <property name="use_underline">True</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">3</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">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="trust-key-tab">
-		  <property name="border_width">3</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_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="trust-key-list">
-		      <property name="border_width">12</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">True</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="row_activated" last_modification_time="Thu, 07 Nov 2002 04:38:39 GMT"/>
-		      <signal name="button_press_event" handler="key_list_button_pressed" last_modification_time="Wed, 12 Feb 2003 02:29:41 GMT"/>
-		      <signal name="popup_menu" handler="key_list_popup_menu" last_modification_time="Sun, 02 Mar 2003 19:43:39 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label15">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Trusted Keys</property>
-		  <property name="use_underline">True</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">3</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">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="pub-key-tab">
-		  <property name="border_width">3</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_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="pub-key-list">
-		      <property name="border_width">12</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">True</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="row_activated" last_modification_time="Thu, 07 Nov 2002 04:38:39 GMT"/>
-		      <signal name="button_press_event" handler="key_list_button_pressed" last_modification_time="Wed, 12 Feb 2003 02:29:41 GMT"/>
-		      <signal name="popup_menu" handler="key_list_popup_menu" last_modification_time="Sun, 02 Mar 2003 19:43:39 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label14">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Other _Collected Keys</property>
-		  <property name="use_underline">True</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">3</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">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="password-tab">
-		  <property name="border_width">3</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_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="password-list">
-		      <property name="border_width">12</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">True</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="row_activated" last_modification_time="Thu, 07 Nov 2002 04:38:39 GMT"/>
-		      <signal name="button_press_event" handler="key_list_button_pressed" last_modification_time="Wed, 12 Feb 2003 02:29:41 GMT"/>
-		      <signal name="popup_menu" handler="key_list_popup_menu" last_modification_time="Sun, 02 Mar 2003 19:43:39 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label16">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Passwords</property>
-		  <property name="use_underline">True</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">3</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">tab</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="GtkAlignment" id="alignment3">
-	      <property name="visible">True</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xscale">1</property>
-	      <property name="yscale">0</property>
-	      <property name="top_padding">0</property>
-	      <property name="bottom_padding">0</property>
-	      <property name="left_padding">0</property>
-	      <property name="right_padding">0</property>
-
-	      <child>
-		<widget class="GtkVBox" id="first-time-box">
-		  <property name="border_width">12</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label8">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;First time options:&lt;/b&gt;&lt;/big&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</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">6</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="GtkHSeparator" id="hseparator2">
-		      <property name="visible">True</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkTable" id="table3">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="n_rows">3</property>
-		      <property name="n_columns">2</property>
-		      <property name="homogeneous">False</property>
-		      <property name="row_spacing">6</property>
-		      <property name="column_spacing">12</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label9">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">To get started with encryption you will need keys.</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">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="GtkButton" id="help-button">
-			  <property name="visible">True</property>
-			  <property name="can_default">True</property>
-			  <property name="has_default">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="has_focus">True</property>
-			  <property name="label">gtk-help</property>
-			  <property name="use_stock">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="help" last_modification_time="Tue, 26 Oct 2004 01:51:22 GMT"/>
-			</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="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label10">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Import existing keys from a file:</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">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="import-button">
-			  <property name="visible">True</property>
-			  <property name="can_default">True</property>
-			  <property name="has_default">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="has_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="import_button_clicked" last_modification_time="Tue, 26 Oct 2004 01:53:24 GMT"/>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment2">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1774">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-open</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>
-				    <packing>
-				      <property name="padding">0</property>
-				      <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">_Import</property>
-				      <property name="use_underline">True</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="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </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="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label12">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Generate a new key of your own: </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">2</property>
-			  <property name="bottom_attach">3</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="new-button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label">gtk-new</property>
-			  <property name="use_stock">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="new_button_clicked" last_modification_time="Tue, 26 Oct 2004 01:53:14 GMT"/>
-			</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">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>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="status-bar-area">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkProgressBar" id="progress">
-		  <property name="visible">True</property>
-		  <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-		  <property name="fraction">0</property>
-		  <property name="pulse_step">0.10000000149</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkStatusbar" id="status">
-		  <property name="visible">True</property>
-		  <property name="has_resize_grip">True</property>
-		</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">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-      </child>
-    </widget>
-    <packing>
-      <property name="padding">0</property>
-      <property name="expand">True</property>
-      <property name="fill">True</property>
-    </packing>
-  </child>
-</widget>
-
+  <widget class="GtkWindow" id="key-manager">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <child>
+          <widget class="GtkVBox" id="menu-placeholder">
+            <property name="visible">True</property>
+            <child>
+              <placeholder/>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkVBox" id="toolbar-placeholder">
+            <property name="visible">True</property>
+            <child>
+              <placeholder/>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkNotebook" id="notebook">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">3</property>
+            <child>
+              <widget class="GtkScrolledWindow" id="sec-key-tab">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="border_width">3</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <child>
+                  <widget class="GtkTreeView" id="sec-key-list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">12</property>
+                    <property name="rules_hint">True</property>
+                    <signal name="popup_menu" handler="key_list_popup_menu"/>
+                    <signal name="button_press_event" handler="key_list_button_pressed"/>
+                    <signal name="row_activated" handler="row_activated"/>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label26">
+                <property name="visible">True</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">My _Personal Keys</property>
+                <property name="use_underline">True</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="trust-key-tab">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="border_width">3</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <child>
+                  <widget class="GtkTreeView" id="trust-key-list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">12</property>
+                    <property name="rules_hint">True</property>
+                    <signal name="popup_menu" handler="key_list_popup_menu"/>
+                    <signal name="button_press_event" handler="key_list_button_pressed"/>
+                    <signal name="row_activated" handler="row_activated"/>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label27">
+                <property name="visible">True</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">_Trusted Keys</property>
+                <property name="use_underline">True</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="pub-key-tab">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="border_width">3</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <child>
+                  <widget class="GtkTreeView" id="pub-key-list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">12</property>
+                    <property name="rules_hint">True</property>
+                    <signal name="popup_menu" handler="key_list_popup_menu"/>
+                    <signal name="button_press_event" handler="key_list_button_pressed"/>
+                    <signal name="row_activated" handler="row_activated"/>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label28">
+                <property name="visible">True</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">Other _Collected Keys</property>
+                <property name="use_underline">True</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkScrolledWindow" id="password-tab">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="border_width">3</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <child>
+                  <widget class="GtkTreeView" id="password-list">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">12</property>
+                    <property name="rules_hint">True</property>
+                    <signal name="popup_menu" handler="key_list_popup_menu"/>
+                    <signal name="button_press_event" handler="key_list_button_pressed"/>
+                    <signal name="row_activated" handler="row_activated"/>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label29">
+                <property name="visible">True</property>
+                <property name="xpad">3</property>
+                <property name="label" translatable="yes">_Passwords</property>
+                <property name="use_underline">True</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">3</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment5">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="yscale">0</property>
+            <child>
+              <widget class="GtkVBox" id="first-time-box">
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label17">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">6</property>
+                    <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;First time options:&lt;/b&gt;&lt;/big&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHSeparator" id="hseparator3">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkTable" id="table2">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkButton" id="new-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label">gtk-new</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</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="GtkLabel" id="label21">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Generate a new key of your own: </property>
+                      </widget>
+                      <packing>
+                        <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="GtkButton" id="import-button">
+                        <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="response_id">0</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment6">
+                            <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="image2">
+                                    <property name="visible">True</property>
+                                    <property name="stock">gtk-open</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label20">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">_Import</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="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="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label19">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Import existing keys from a file:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="help-button">
+                        <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-help</property>
+                        <property name="use_stock">True</property>
+                        <property name="response_id">0</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label18">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">To get started with encryption you will need keys.</property>
+                        <property name="wrap">True</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHBox" id="status-bar-area">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkProgressBar" id="progress">
+                <property name="visible">True</property>
+                <property name="pulse_step">0.10000000149</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkStatusbar" id="status">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
Index: src/seahorse-revoke.c
===================================================================
--- src/seahorse-revoke.c	(revision 2177)
+++ src/seahorse-revoke.c	(working copy)
@@ -20,7 +20,10 @@
  */
 
 #include <config.h> 
-#include <gnome.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
  
 #include "seahorse-gpgmex.h"
 #include "seahorse-key-dialogs.h"
Index: src/seahorse-key-widget.c
===================================================================
--- src/seahorse-key-widget.c	(revision 2177)
+++ src/seahorse-key-widget.c	(working copy)
@@ -19,8 +19,6 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <gnome.h>
-
 #include "seahorse-key-widget.h"
 
 #define PROPERTIES "key-properties"
Index: src/seahorse-keyserver-results.c
===================================================================
--- src/seahorse-keyserver-results.c	(revision 2177)
+++ src/seahorse-keyserver-results.c	(working copy)
@@ -20,8 +20,11 @@
  */
 
 #include <config.h>
-#include <gnome.h>
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-gpgmex.h"
 #include "seahorse-windows.h"
 #include "seahorse-widget.h"
Index: src/seahorse-keyserver-search.c
===================================================================
--- src/seahorse-keyserver-search.c	(revision 2177)
+++ src/seahorse-keyserver-search.c	(working copy)
@@ -19,7 +19,6 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <gnome.h>
 
 #include "seahorse-widget.h"
 #include "seahorse-gpgmex.h"
Index: src/seahorse-keyserver-sync.c
===================================================================
--- src/seahorse-keyserver-sync.c	(revision 2177)
+++ src/seahorse-keyserver-sync.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-widget.h"
 #include "seahorse-util.h"
 #include "seahorse-gpgmex.h"
Index: src/seahorse-key-manager-store.c
===================================================================
--- src/seahorse-key-manager-store.c	(revision 2177)
+++ src/seahorse-key-manager-store.c	(working copy)
@@ -21,8 +21,12 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <string.h>
+#include <unistd.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-key-manager-store.h"
 #include "seahorse-preferences.h"
 #include "seahorse-validity.h"
Index: src/seahorse-key-manager.c
===================================================================
--- src/seahorse-key-manager.c	(revision 2177)
+++ src/seahorse-key-manager.c	(working copy)
@@ -21,7 +21,11 @@
  */
 
 #include "config.h"
-#include <gnome.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include <gconf/gconf-client.h>
 #include <libgnomevfs/gnome-vfs.h>
 
@@ -814,7 +818,7 @@
                                            const gchar *url,
                                            gpointer data)
 {
-    gnome_url_show (url, NULL);
+    gnome_vfs_url_show (url);
 }
 
 /* Shows about dialog */
@@ -1057,12 +1061,51 @@
     g_object_set (skstore, "filter", text, NULL);
 }
 
+static GtkWidget *
+_seahorse_get_manager_get_filter (SeahorseWidget *swidget)
+{
+    GtkWidget *widget = NULL;
+    GList *children = NULL;
+    gint items = 0;
+
+    widget = seahorse_widget_get_widget (swidget, "toolbar-placeholder");
+    g_return_val_if_fail (widget, NULL);
+
+    children = gtk_container_get_children (GTK_CONTAINER (widget));
+    g_return_val_if_fail (children, NULL);
+
+    /* Toolbar is the first (and only) widget */
+    widget = g_list_nth_data (children, 0);
+    g_list_free (children); children = NULL;
+
+    items = gtk_toolbar_get_n_items (GTK_TOOLBAR (widget));
+    widget = GTK_WIDGET (gtk_toolbar_get_nth_item (GTK_TOOLBAR (widget), items - 1));
+
+    children = gtk_container_get_children (GTK_CONTAINER (widget));
+    g_return_val_if_fail (children, NULL);
+
+    /* hbox */
+    widget = g_list_nth_data (children, 0);
+    g_list_free (children); children = NULL;
+
+    children = gtk_container_get_children (GTK_CONTAINER (widget));
+    g_return_val_if_fail (children, NULL);
+
+    /* the 2nd item is the entry */
+    widget = g_list_nth_data (children, 1);
+    g_return_val_if_fail (widget, NULL);
+
+    g_list_free (children); children = NULL;
+
+    return widget;
+}
+
 /* Clear filter when the tab changes */
 static void
 tab_changed (GtkWidget *widget, GtkNotebookPage *page, guint page_num, 
              SeahorseWidget *swidget)
 {
-    GtkWidget *entry = glade_xml_get_widget (swidget->xml, "filter");
+    GtkWidget *entry = _seahorse_get_manager_get_filter (swidget);
     g_return_if_fail (entry != NULL);
     gtk_entry_set_text (GTK_ENTRY (entry), "");
     
@@ -1264,8 +1307,8 @@
     g_object_set_data_full (G_OBJECT (view), "key-store", skstore, g_object_unref);
     
     /* For the filtering */
-    glade_xml_signal_connect_data(swidget->xml, "on_filter_changed",
-                                  G_CALLBACK(filter_changed), skstore);
+    g_signal_connect (_seahorse_get_manager_get_filter (swidget), "changed",
+                      G_CALLBACK (filter_changed), skstore);
 }
 
 GtkWindow* 
@@ -1278,7 +1321,10 @@
     GtkActionGroup *actions;
     GtkAction *action;
     GtkTargetList *targets;
-    
+    GtkBox *hbox = NULL;
+    GList *children = NULL;
+    GtkToolItem *item = NULL;
+
     swidget = seahorse_widget_new ("key-manager", NULL);
     win = GTK_WINDOW (seahorse_widget_get_top (swidget));
     
@@ -1355,9 +1401,9 @@
 		G_CALLBACK (row_activated), swidget);
 	glade_xml_signal_connect_data (swidget->xml, "key_list_button_pressed",
 		G_CALLBACK (key_list_button_pressed), swidget);
+
 	glade_xml_signal_connect_data (swidget->xml, "key_list_popup_menu",
 		G_CALLBACK (key_list_popup_menu), swidget);
-        
 	/* first time signals */
 	glade_xml_signal_connect_data (swidget->xml, "import_button_clicked",
 		G_CALLBACK (import_activate), swidget);
@@ -1367,19 +1413,57 @@
     /* The notebook */
     g_signal_connect_after (notebook, "switch-page", G_CALLBACK(tab_changed), swidget);
     
+    /* Set focus to the current key list */
+    w = GTK_WIDGET (get_current_view (swidget));
+    gtk_widget_grab_focus (w);
+
+    /* Flush updates */
+    gtk_ui_manager_ensure_update (swidget->ui);
+
+    w = glade_xml_get_widget (swidget->xml, "toolbar-placeholder");
+    g_assert (w);
+    
+    children = gtk_container_get_children (GTK_CONTAINER (w));
+    g_assert (children);
+    
+    /* The toolbar is the first (and only) element */
+    w = g_list_nth_data (children, 0);
+    g_assert (w);
+
+    /* Insert a separator to right align the filter */
+    item = gtk_separator_tool_item_new ();
+    gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (item), FALSE);
+    gtk_tool_item_set_expand (item, TRUE);
+    gtk_widget_show_all (GTK_WIDGET (item));
+
+    gtk_toolbar_insert (GTK_TOOLBAR (w), GTK_TOOL_ITEM (item), -1);
+
+    /* Insert a filter bar */
+    hbox = GTK_BOX (gtk_hbox_new (FALSE, 0));
+    gtk_box_pack_start (hbox, gtk_label_new (_("Filter:")), FALSE, TRUE, 3);
+    gtk_box_pack_start (hbox, gtk_entry_new (), FALSE, TRUE, 0);
+    gtk_box_pack_start (hbox, gtk_label_new (NULL), FALSE, FALSE, 0);
+    gtk_widget_show_all (GTK_WIDGET (hbox));
+
+    item = gtk_tool_item_new ();
+    gtk_container_add (GTK_CONTAINER (item), GTK_WIDGET (hbox));
+    gtk_widget_show_all (GTK_WIDGET (item));
+
+    gtk_toolbar_insert (GTK_TOOLBAR (w), GTK_TOOL_ITEM (item), -1);
+
     /* Initialize the tabs, and associate them up */
     initialize_tab (swidget, "pub-key-tab", TAB_PUBLIC, "pub-key-list", &pred_public);
     initialize_tab (swidget, "trust-key-tab", TAB_TRUSTED, "trust-key-list", &pred_trusted);
     initialize_tab (swidget, "sec-key-tab", TAB_PRIVATE, "sec-key-list", &pred_private);
     initialize_tab (swidget, "password-tab", TAB_PASSWORD, "password-list", &pred_password);
-    
+
     /* Set focus to the current key list */
     w = GTK_WIDGET (get_current_view (swidget));
     gtk_widget_grab_focus (w);
-    
+
     /* To avoid flicker */
     seahorse_widget_show (swidget);
-    
+
     /* Setup drops */
     gtk_drag_dest_set (GTK_WIDGET (win), GTK_DEST_DEFAULT_ALL, 
                        NULL, 0, GDK_ACTION_COPY);
Index: src/seahorse-generate-select.c
===================================================================
--- src/seahorse-generate-select.c	(revision 2177)
+++ src/seahorse-generate-select.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-widget.h"
 #include "seahorse-util.h"
 #include "seahorse-pgp-key.h"
Index: src/seahorse-photos.c
===================================================================
--- src/seahorse-photos.c	(revision 2177)
+++ src/seahorse-photos.c	(working copy)
@@ -23,8 +23,10 @@
 
 #include <sys/stat.h>
 #include <errno.h>
+#include <unistd.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
+
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
 #include "seahorse-widget.h"
@@ -91,7 +93,7 @@
     written = write (fd, buf, count);
     if (written != count) {
         g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno), 
-                     "%s", strerror (errno));
+                     "%s", g_strerror (errno));
         return FALSE;
     }
     
@@ -128,7 +130,7 @@
     
     /* Check if it's a JPEG */
     name = gdk_pixbuf_format_get_name (format);
-    r = strcmp (name, "jpeg") == 0;
+    r = g_strcmp0 (name, "jpeg") == 0;
     g_free (name);
     
     /* JPEGs we can use straight up */
Index: src/seahorse-gkeyring-operation.c
===================================================================
--- src/seahorse-gkeyring-operation.c	(revision 2177)
+++ src/seahorse-gkeyring-operation.c	(working copy)
@@ -20,11 +20,13 @@
  */
 
 #include "config.h"
+
 #include <sys/wait.h>
 #include <sys/socket.h>
-#include <gnome.h>
 #include <fcntl.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-gkeyring-operation.h"
 #include "seahorse-util.h"
 #include "seahorse-gpgmex.h"
Index: src/main.c
===================================================================
--- src/main.c	(revision 2177)
+++ src/main.c	(working copy)
@@ -21,10 +21,14 @@
  */
 
 #include <config.h>
-#include <gnome.h>
-#include <libgnomevfs/gnome-vfs.h>
+
 #include <locale.h>
+#include <stdlib.h>
 
+#include <glib/gi18n.h>
+
+#include <libgnomevfs/gnome-vfs.h>
+
 #include "seahorse-context.h"
 #include "seahorse-windows.h"
 #include "seahorse-util.h"
@@ -57,10 +61,13 @@
     gpgme_set_locale(NULL, LC_MESSAGES, setlocale(LC_MESSAGES, NULL));
 #endif
 
-    gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv,
-                       GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Key Manager"),
-                       GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
+    gtk_init_with_args (&argc, &argv, _("Encryption Key Manager"), NULL, GETTEXT_PACKAGE, NULL);
 
+    if (!gnome_vfs_init ()) {
+        g_critical ("Could not initialize GnomeVFS\n");
+        return EXIT_FAILURE;
+    }
+
     /* Insert Icons into Stock */ 
     seahorse_gtkstock_init();
     
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 2177)
+++ src/Makefile.am	(working copy)
@@ -5,6 +5,7 @@
 
 INCLUDES = -I$(top_builddir) \
 	-I$(top_srcdir) \
+	-I$(top_srcdir)/libegg \
 	-I$(top_srcdir)/libcryptui \
 	-I$(top_srcdir)/libseahorse \
 	$(SEAHORSE_CFLAGS) \
@@ -60,6 +61,7 @@
 seahorse_LDADD = \
 	$(top_builddir)/libseahorse/libseahorse.a \
 	$(top_builddir)/libcryptui/libcryptui.la \
+	$(top_builddir)/libegg/libeggdatetime.la \
 	$(SEAHORSE_LIBS)
 
 glade_DATA = \
Index: src/seahorse-add-subkey.glade
===================================================================
--- src/seahorse-add-subkey.glade	(revision 2177)
+++ src/seahorse-add-subkey.glade	(working copy)
@@ -2,7 +2,6 @@
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
 <!--*- mode: xml -*-->
 <glade-interface>
-  <requires lib="gnome"/>
   <widget class="GtkDialog" id="add-subkey">
     <property name="visible">True</property>
     <property name="border_width">5</property>
@@ -22,50 +21,32 @@
             <property name="column_spacing">12</property>
             <property name="row_spacing">6</property>
             <child>
-              <widget class="GtkComboBox" id="type">
-                <property name="visible">True</property>
-                <signal name="changed" handler="type_changed"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">3</property>
-                <property name="y_options"></property>
-              </packing>
+              <placeholder/>
             </child>
             <child>
-              <widget class="GtkSpinButton" id="length">
+              <widget class="GtkLabel" id="label1">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="adjustment">1024 768 1024 32 128 128</property>
-                <property name="climb_rate">128</property>
-                <property name="snap_to_ticks">True</property>
-                <property name="numeric">True</property>
-                <property name="tooltip" translatable="yes">Length of Key</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Key _Type:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">type</property>
               </widget>
               <packing>
-                <property name="left_attach">1</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"></property>
               </packing>
             </child>
             <child>
-              <widget class="GtkCheckButton" id="never_expires">
+              <widget class="GtkLabel" id="label2">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="label" translatable="yes">Never E_xpires</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Key _Length:</property>
                 <property name="use_underline">True</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="tooltip" translatable="yes">If key never expires</property>
-                <signal name="toggled" handler="never_expires_toggled"/>
+                <property name="mnemonic_widget">length</property>
               </widget>
               <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_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"></property>
               </packing>
@@ -84,44 +65,52 @@
               </packing>
             </child>
             <child>
-              <widget class="GnomeDateEdit" id="expires">
+              <widget class="GtkCheckButton" id="never_expires">
                 <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="dateedit_flags"></property>
+                <property name="can_focus">True</property>
+                <property name="tooltip" translatable="yes">If key never expires</property>
+                <property name="label" translatable="yes">Never E_xpires</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+                <signal name="toggled" handler="never_expires_toggled"/>
               </widget>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</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="GtkLabel" id="label2">
+              <widget class="GtkSpinButton" id="length">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Key _Length:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">length</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip" translatable="yes">Length of Key</property>
+                <property name="adjustment">1024 768 1024 32 128 128</property>
+                <property name="climb_rate">128</property>
+                <property name="snap_to_ticks">True</property>
+                <property name="numeric">True</property>
               </widget>
               <packing>
+                <property name="left_attach">1</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"></property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="label1">
+              <widget class="GtkComboBox" id="type">
                 <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Key _Type:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">type</property>
+                <signal name="changed" handler="type_changed"/>
               </widget>
               <packing>
-                <property name="x_options">GTK_FILL</property>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
                 <property name="y_options"></property>
               </packing>
             </child>
@@ -165,9 +154,9 @@
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
+                <property name="tooltip" translatable="yes">Generate a new subkey</property>
                 <property name="label">gtk-ok</property>
                 <property name="use_stock">True</property>
-                <property name="tooltip" translatable="yes">Generate a new subkey</property>
                 <property name="response_id">-5</property>
                 <signal name="clicked" handler="ok_clicked"/>
               </widget>
Index: INSTALL
===================================================================
--- INSTALL	(revision 2177)
+++ INSTALL	(working copy)
@@ -15,8 +15,6 @@
  - DBUS 0.35 (or later)
  - GPGME 1.x 
  - GnuPG 1.2.x or 1.4.x 
- - libgnome 2.14 (or later)
- - libgnomeui 2.x 
  - libglade 2.x 
  - GConf 2.x 
  - GnomeVFS 2.x
Index: plugins/nautilus/seahorse-tool-files.c
===================================================================
--- plugins/nautilus/seahorse-tool-files.c	(revision 2177)
+++ plugins/nautilus/seahorse-tool-files.c	(working copy)
@@ -20,12 +20,16 @@
  */
 
 #include "config.h"
+
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
 #include <libintl.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-tool.h"
Index: plugins/nautilus/seahorse-tool.c
===================================================================
--- plugins/nautilus/seahorse-tool.c	(revision 2177)
+++ plugins/nautilus/seahorse-tool.c	(working copy)
@@ -20,9 +20,14 @@
  */
 
 #include "config.h"
-#include <gnome.h>
+
+#include <errno.h>
+#include <string.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <glib/gprintf.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 
 #include <dbus/dbus-glib-bindings.h>
@@ -651,11 +656,7 @@
     octx = g_option_context_new ("");
     g_option_context_add_main_entries (octx, options, GETTEXT_PACKAGE);
 
-    /* Main operation process */
-    gnome_program_init("seahorse-tool", VERSION, LIBGNOMEUI_MODULE, argc, argv,
-                       GNOME_PARAM_GOPTION_CONTEXT, octx,
-                       GNOME_PARAM_HUMAN_READABLE_NAME, _("File Encryption Tool"),
-                       GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
+    gtk_init_with_args (&argc, &argv, _("File Encryption Tool"), (GOptionEntry *) options, GETTEXT_PACKAGE, NULL);
 
     /* Load up all our arguments */
     uris = read_uri_arguments ();
Index: plugins/nautilus/seahorse-tool-progress.c
===================================================================
--- plugins/nautilus/seahorse-tool-progress.c	(revision 2177)
+++ plugins/nautilus/seahorse-tool-progress.c	(working copy)
@@ -20,10 +20,11 @@
  */
 
 #include "config.h"
+
 #include <sys/types.h>
 #include <signal.h>
+#include <stdlib.h>
 
-#include <gnome.h>
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-gtkstock.h"
@@ -245,7 +246,7 @@
     int r;
     
     /* Progress mode */
-    if (argc >= 2 && strcmp(argv[1], PROGRESS_ARG) == 0) {
+    if (argc >= 2 && g_strcmp0 (argv[1], PROGRESS_ARG) == 0) {
         r = progress_main (argc, argv);
         exit (r);
     }
Index: plugins/nautilus/seahorse-pgp-preferences.c
===================================================================
--- plugins/nautilus/seahorse-pgp-preferences.c	(revision 2177)
+++ plugins/nautilus/seahorse-pgp-preferences.c	(working copy)
@@ -20,9 +20,12 @@
  */
 
 #include <config.h>
-#include <gnome.h>
+
+#include <stdlib.h>
 #include <locale.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-context.h"
 #include "seahorse-prefs.h"
 #include "seahorse-gtkstock.h"
@@ -49,7 +52,7 @@
 static void
 destroyed (GtkObject *object, gpointer data)
 {
-	gtk_exit (0);
+	exit (0);
 }
 
 int
@@ -66,10 +69,7 @@
     octx = g_option_context_new ("");
     g_option_context_add_main_entries (octx, options, GETTEXT_PACKAGE);
 
-    gnome_program_init ("seahorse-preferences", VERSION, LIBGNOMEUI_MODULE, argc, argv,
-                GNOME_PARAM_GOPTION_CONTEXT, octx,
-                GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Preferences"),
-                GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
+    gtk_init_with_args (&argc, &argv, _("Encryption Preferences"), (GOptionEntry *) options, GETTEXT_PACKAGE, NULL);
 
     /* Insert Icons into Stock */ 
     seahorse_gtkstock_init();
Index: plugins/applet/seahorse-applet.c
===================================================================
--- plugins/applet/seahorse-applet.c	(revision 2177)
+++ plugins/applet/seahorse-applet.c	(working copy)
@@ -20,7 +20,13 @@
  */
 
 #include <config.h>
-#include <gnome.h>
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <glib/gi18n.h>
+#include <libgnomevfs/gnome-vfs.h>
+
 #include <panel-applet.h>
 
 #include <dbus/dbus-glib-bindings.h>
@@ -275,7 +281,21 @@
                                            const gchar *url,
                                            gpointer data)
 {
-	gnome_url_show (url, NULL);
+    GnomeVFSResult error;
+
+	error = gnome_vfs_url_show (url);
+	
+	if (error != GNOME_VFS_OK) {
+        GtkWidget *dialog;
+
+        dialog = gtk_message_dialog_new (GTK_WINDOW (about), GTK_DIALOG_MODAL, 
+                                         GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 
+                                         _("Could not display URL: %s"),
+                                         gnome_vfs_result_to_string (error));
+        g_signal_connect (G_OBJECT (dialog), "response",
+                          G_CALLBACK (gtk_widget_destroy), NULL);
+        gtk_widget_show (dialog);
+    }
 }
 
 static void
@@ -678,11 +698,22 @@
 static void
 help_cb (BonoboUIComponent *uic, SeahorseApplet *sapplet, const char *verbname)
 {
-    GError *err = NULL;
+    gchar const *document = "ghelp:seahorse-applet";
+    GnomeVFSResult error;
     
-    gnome_help_display ("seahorse-applet", NULL, &err);
-    if (err)
-        seahorse_util_handle_error(err, _("Could not display the help file"));
+    error = gnome_vfs_url_show (document);
+
+    if (error != GNOME_VFS_OK) {
+        GtkWidget *dialog;
+
+        dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, 
+                                         GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 
+                                         _("Could not display help: %s"),
+                                         gnome_vfs_result_to_string (error));
+        g_signal_connect (G_OBJECT (dialog), "response",
+                          G_CALLBACK (gtk_widget_destroy), NULL);
+        gtk_widget_show (dialog);
+    }
 }
 
 static void
Index: plugins/gedit/seahorse-gedit-bonobo.c
===================================================================
--- plugins/gedit/seahorse-gedit-bonobo.c	(revision 2177)
+++ plugins/gedit/seahorse-gedit-bonobo.c	(working copy)
@@ -23,7 +23,7 @@
 #include <config.h>
 #endif
 
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 
 #include <errno.h>
 #include <unistd.h>
Index: configure.in
===================================================================
--- configure.in	(revision 2177)
+++ configure.in	(working copy)
@@ -39,11 +39,13 @@
 AC_CHECK_FUNCS(setresuid setresgid)
 AC_CHECK_FUNCS(strsep)
 
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.10)
+AC_SUBST([GTK_LIBS])
+AC_SUBST([GTK_CFLAGS])
+
 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+PKG_CHECK_MODULES(SEAHORSE, libglade-2.0 gconf-2.0 gtk+-2.0 >= 2.10.0 gnome-vfs-2.0)
 
-PKG_CHECK_MODULES(SEAHORSE, libgnome-2.0 >= 2.14 libgnomeui-2.0 
-                  libglade-2.0 gconf-2.0 gtk+-2.0 >= 2.10.0 gnome-vfs-2.0)
-
 AC_MSG_CHECKING([for some Win32 platform])
 case "$host" in
   *-*-cygwin*|*-*-mingw*)
@@ -156,7 +158,7 @@
   AC_MSG_ERROR(GPGME $min_gpgme_version or later needed)
 fi
 
-SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GPGME_CFLAGS -O0"
+SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GPGME_CFLAGS -O0 -DBONOBO_DISABLE_DEPRECATED -DDISABLE_DEPRECATED -Wall -Werror"
 SEAHORSE_LIBS="$SEAHORSE_LIBS $GPGME_LIBS"
 
 
@@ -852,6 +854,7 @@
 libcryptui/cryptui.pc
 libcryptui/Makefile
 libcryptui/tests/Makefile
+libegg/Makefile
 libseahorse/Makefile
 po/Makefile.in
 help/Makefile
Index: agent/seahorse-agent-actions.c
===================================================================
--- agent/seahorse-agent-actions.c	(revision 2177)
+++ agent/seahorse-agent-actions.c	(working copy)
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-gconf.h"
 #include "seahorse-agent.h"
Index: agent/seahorse-agent-prompt.c
===================================================================
--- agent/seahorse-agent-prompt.c	(revision 2177)
+++ agent/seahorse-agent-prompt.c	(working copy)
@@ -30,7 +30,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-agent.h"
 #include "seahorse-check-button-control.h"
Index: agent/seahorse-agent.c
===================================================================
--- agent/seahorse-agent.c	(revision 2177)
+++ agent/seahorse-agent.c	(working copy)
@@ -32,8 +32,6 @@
 #include <syslog.h>
 #include <fcntl.h>
 
-#include <gnome.h>
-
 #include "seahorse-agent.h"
 #include "seahorse-gpg-options.h"
 #include "seahorse-passphrase.h"
Index: agent/seahorse-agent-cache.c
===================================================================
--- agent/seahorse-agent-cache.c	(revision 2177)
+++ agent/seahorse-agent-cache.c	(working copy)
@@ -25,7 +25,7 @@
 #include <string.h>
 #include <time.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include <gnome-keyring.h>
 #include <gnome-keyring-memory.h>
Index: agent/seahorse-agent-status.c
===================================================================
--- agent/seahorse-agent-status.c	(revision 2177)
+++ agent/seahorse-agent-status.c	(working copy)
@@ -23,8 +23,9 @@
 #include <sys/types.h>
 #include <stdlib.h>
 
+#include <glib/gi18n.h>
+
 #include <gtk/gtk.h>
-#include <gnome.h>
 #include <glade/glade-xml.h>
 
 #include "seahorse-pgp-key.h"
Index: agent/seahorse-agent-main.c
===================================================================
--- agent/seahorse-agent-main.c	(revision 2177)
+++ agent/seahorse-agent-main.c	(working copy)
@@ -18,6 +18,7 @@
  * 59 Temple Place, Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+#include "config.h"
 
 #include <sys/types.h>
 #include <sys/signal.h>
@@ -29,10 +30,10 @@
 #include <unistd.h>
 #include <syslog.h>
 #include <fcntl.h>
+#include <errno.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
-#include "config.h"
 #include "seahorse-context.h"
 #include "seahorse-gtkstock.h"
 #include "seahorse-gconf.h"
@@ -128,7 +129,7 @@
             exit (0);
 
         execvp (exec[0], (char**)exec);
-	    g_critical ("couldn't exec %s: %s\n", exec[0], strerror (errno));
+	    g_critical ("couldn't exec %s: %s\n", exec[0], g_strerror (errno));
 	    exit (1);
 
     }
@@ -199,16 +200,9 @@
     g_log_set_handler ("Gnome", flags, log_handler, NULL);
 }
 
-static void
-client_die ()
-{
-    gtk_main_quit ();
-}
-
 int main(int argc, char* argv[])
 {
     SeahorseOperation *op;
-    GnomeClient *client = NULL;
     GOptionContext *octx = NULL;
 
     seahorse_secure_memory_init ();
@@ -220,10 +214,7 @@
     octx = g_option_context_new ("");
     g_option_context_add_main_entries (octx, options, GETTEXT_PACKAGE);
 
-    gnome_program_init("seahorse-agent", VERSION, LIBGNOMEUI_MODULE, argc, argv,
-                    GNOME_PARAM_GOPTION_CONTEXT, octx,
-                    GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Key Agent (Seahorse)"),
-                    GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
+    gtk_init_with_args (&argc, &argv, _("Encryption Key Agent (Seahorse)"), (GOptionEntry *) options, GETTEXT_PACKAGE, NULL);
 
     seahorse_agent_prefork ();
 
@@ -248,9 +239,6 @@
     if (!agent_no_daemonize)
         seahorse_gconf_disconnect ();    
     
-    client = gnome_master_client();
-    g_signal_connect(client, "die", G_CALLBACK(client_die), NULL);
-    
     /* We log to the syslog */
     prepare_logging ();
 
Index: agent/seahorse-agent-io.c
===================================================================
--- agent/seahorse-agent-io.c	(revision 2177)
+++ agent/seahorse-agent-io.c	(working copy)
@@ -35,8 +35,6 @@
 #include <errno.h>
 #include <ctype.h>
 
-#include <gnome.h>
-
 #include "seahorse-agent.h"
 
 /* Set from seahorse-agent-main.c */
Index: libseahorse/seahorse-key-source.h
===================================================================
--- libseahorse/seahorse-key-source.h	(revision 2177)
+++ libseahorse/seahorse-key-source.h	(working copy)
@@ -42,7 +42,6 @@
 #ifndef __SEAHORSE_KEY_SOURCE_H__
 #define __SEAHORSE_KEY_SOURCE_H__
 
-#include <gnome.h>
 #include <gpgme.h>
 
 #include "seahorse-key.h"
Index: libseahorse/seahorse-keyserver-control.c
===================================================================
--- libseahorse/seahorse-keyserver-control.c	(revision 2177)
+++ libseahorse/seahorse-keyserver-control.c	(working copy)
@@ -291,7 +291,7 @@
                                            COL_TEXT, keyserver,
                                            COL_INFO, OPTION_KEYSERVER,
                                            -1);
-        if (chosen && strcmp (chosen, keyserver) == 0) {
+        if (chosen && g_strcmp0 (chosen, keyserver) == 0) {
             chosen_iter = iter;
             chosen_iter_set = TRUE;
         }
Index: libseahorse/seahorse-unix-signal.c
===================================================================
--- libseahorse/seahorse-unix-signal.c	(revision 2177)
+++ libseahorse/seahorse-unix-signal.c	(working copy)
@@ -29,8 +29,9 @@
 #include <unistd.h>
 #include <syslog.h>
 #include <fcntl.h>
+#include <string.h>
+#include <errno.h>
 
-#include <gnome.h>
 #include "seahorse-unix-signal.h"
 
 #define MAX_SIGNAL 32
Index: libseahorse/seahorse-server-source.c
===================================================================
--- libseahorse/seahorse-server-source.c	(revision 2177)
+++ libseahorse/seahorse-server-source.c	(working copy)
@@ -19,10 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <stdlib.h>
 #include <config.h>
-#include <gnome.h>
 
+#include <stdlib.h>
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-gpgmex.h"
 #include "seahorse-operation.h"
 #include "seahorse-ldap-source.h"
Index: libseahorse/seahorse-prefs-keyrings.c
===================================================================
--- libseahorse/seahorse-prefs-keyrings.c	(revision 2177)
+++ libseahorse/seahorse-prefs-keyrings.c	(working copy)
@@ -19,7 +19,9 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
+
+#include <glib/gi18n.h>
+
 #include <gnome-keyring.h>
 
 #include "seahorse-context.h"
@@ -155,7 +157,7 @@
         gtk_tree_model_get (model, &iter, KEYRING_NAME, &t, -1);
         g_assert (t);
         
-        match = (strcmp (t, keyring) == 0);
+        match = (g_strcmp0 (t, keyring) == 0);
         g_free (t);
          
         if (match) {
@@ -194,14 +196,14 @@
     
         /* We don't list the 'session' keyring */
         name = (gchar*)list->data;
-        if (strcmp (name, "session") == 0)
+        if (g_strcmp0 (name, "session") == 0)
             continue;
 
         if (!valid)
             gtk_list_store_append (store, &iter);
 
         /* Figure out the name and markup */
-        if (strcmp (name, "login") == 0)
+        if (g_strcmp0 (name, "login") == 0)
             comments = _("<i>Automatically unlocked when user logs in.</i>");
         else
             comments = "";
Index: libseahorse/seahorse-passphrase.c
===================================================================
--- libseahorse/seahorse-passphrase.c	(revision 2177)
+++ libseahorse/seahorse-passphrase.c	(working copy)
@@ -36,8 +36,13 @@
 #include <unistd.h>
 #include <syslog.h>
 #include <fcntl.h>
+#include <errno.h>
 
-#include <gnome.h>
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include <gdk/gdkkeysyms.h>
+
 #include <glade/glade-xml.h>
 
 #include "seahorse-gpgmex.h"
@@ -519,7 +524,6 @@
 static SeahorseAgentType
 ssh_detect_agent ()
 {
-    SeahorseAgentType ret;
     const gchar *socketpath;
     struct sockaddr_un sunaddr;
     int agentfd;
Index: libseahorse/seahorse-pgp-key.c
===================================================================
--- libseahorse/seahorse-pgp-key.c	(revision 2177)
+++ libseahorse/seahorse-pgp-key.c	(working copy)
@@ -19,8 +19,11 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-gpgmex.h"
 #include "seahorse-context.h"
 #include "seahorse-key-source.h"
Index: libseahorse/seahorse-util.c
===================================================================
--- libseahorse/seahorse-util.c	(revision 2177)
+++ libseahorse/seahorse-util.c	(working copy)
@@ -28,8 +28,10 @@
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>
+#include <errno.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 
 #ifdef WITH_SHARING
Index: libseahorse/seahorse-passphrase.h
===================================================================
--- libseahorse/seahorse-passphrase.h	(revision 2177)
+++ libseahorse/seahorse-passphrase.h	(working copy)
@@ -22,6 +22,7 @@
 #ifndef __SEAHORSE_PASSPHRASE__
 #define __SEAHORSE_PASSPHRASE__
 
+#include <gtk/gtk.h>
 #include <gpgme.h>
 
 #define SEAHORSE_PASS_BAD    0x00000001
Index: libseahorse/seahorse-prefs.c
===================================================================
--- libseahorse/seahorse-prefs.c	(revision 2177)
+++ libseahorse/seahorse-prefs.c	(working copy)
@@ -19,8 +19,9 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "config.h"
 #include "seahorse-prefs.h"
 #include "seahorse-util.h"
Index: libseahorse/seahorse-transfer-operation.c
===================================================================
--- libseahorse/seahorse-transfer-operation.c	(revision 2177)
+++ libseahorse/seahorse-transfer-operation.c	(working copy)
@@ -20,8 +20,9 @@
  */
  
 #include "config.h"
-#include <gnome.h>
 
+#include <stdlib.h>
+
 #include "seahorse-transfer-operation.h"
 #include "seahorse-pgp-source.h"
 #include "seahorse-util.h"
Index: libseahorse/seahorse-ssh-key.c
===================================================================
--- libseahorse/seahorse-ssh-key.c	(revision 2177)
+++ libseahorse/seahorse-ssh-key.c	(working copy)
@@ -21,9 +21,11 @@
 
 #include "config.h"
 
-#include <gnome.h>
 #include <string.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
+
 #include "seahorse-context.h"
 #include "seahorse-key-source.h"
 #include "seahorse-ssh-source.h"
Index: libseahorse/seahorse-context.c
===================================================================
--- libseahorse/seahorse-context.c	(revision 2177)
+++ libseahorse/seahorse-context.c	(working copy)
@@ -21,9 +21,10 @@
  */
 
 #include "config.h"
+
 #include <stdlib.h>
+#include <string.h>
 #include <libintl.h>
-#include <gnome.h>
 
 #include "seahorse-pgp-key.h"
 #include "seahorse-pgp-source.h"
Index: libseahorse/seahorse-unknown-key.c
===================================================================
--- libseahorse/seahorse-unknown-key.c	(revision 2177)
+++ libseahorse/seahorse-unknown-key.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-unknown-key.h"
 #include "seahorse-unknown-source.h"
 
Index: libseahorse/seahorse-notification.c
===================================================================
--- libseahorse/seahorse-notification.c	(revision 2177)
+++ libseahorse/seahorse-notification.c	(working copy)
@@ -21,8 +21,13 @@
  
 #include "config.h"
 
+#include <string.h>
+#include <libintl.h>
+
 #include <gtk/gtk.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-libdialogs.h"
 #include "seahorse-util.h"
@@ -566,10 +571,12 @@
         
         keyptr = keys;
         
-        for (keyptr; *keyptr; keyptr++) {
+        while (*keyptr != NULL) {
             t = g_strdup_printf ("%s\n<key id='%s' field=\"display-name\"/>", body, *keyptr);
             g_free (body);
             body = t;
+            
+            keyptr++;
         }
     }
     
Index: libseahorse/seahorse-unknown-source.c
===================================================================
--- libseahorse/seahorse-unknown-source.c	(revision 2177)
+++ libseahorse/seahorse-unknown-source.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include "config.h"
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-context.h"
 #include "seahorse-unknown-source.h"
 #include "seahorse-unknown-key.h"
Index: libseahorse/seahorse-hkp-source.c
===================================================================
--- libseahorse/seahorse-hkp-source.c	(revision 2177)
+++ libseahorse/seahorse-hkp-source.c	(working copy)
@@ -19,9 +19,13 @@
  * Boston, MA 02111-1307, USA.
  */
  
+#include <config.h>
+
 #include <stdlib.h>
-#include <config.h>
-#include <gnome.h>
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include <libsoup/soup.h>
 
 #include "seahorse-gpgmex.h"
Index: libseahorse/seahorse-pgp-source.c
===================================================================
--- libseahorse/seahorse-pgp-source.c	(revision 2177)
+++ libseahorse/seahorse-pgp-source.c	(working copy)
@@ -20,9 +20,12 @@
  */
 
 #include <config.h>
+
 #include <stdlib.h>
 #include <libintl.h>
-#include <gnome.h>
+
+#include <glib/gi18n.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-gpgmex.h"
Index: libseahorse/seahorse-signer.c
===================================================================
--- libseahorse/seahorse-signer.c	(revision 2177)
+++ libseahorse/seahorse-signer.c	(working copy)
@@ -19,10 +19,12 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <stdlib.h>
 #include <config.h>
-#include <gnome.h>
 
+#include <stdlib.h>
+
+#include <glib/gi18n.h>
+
 #include "seahorse-operation.h"
 #include "seahorse-progress.h"
 #include "seahorse-libdialogs.h"
Index: libseahorse/seahorse-pgp-key-op.c
===================================================================
--- libseahorse/seahorse-pgp-key-op.c	(revision 2177)
+++ libseahorse/seahorse-pgp-key-op.c	(working copy)
@@ -22,7 +22,12 @@
  */
 
 #include "config.h"
-#include <gnome.h>
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
 #include <glib/gstdio.h>
 
 #include "seahorse-gpgmex.h"
Index: libseahorse/seahorse-vfs-data.c
===================================================================
--- libseahorse/seahorse-vfs-data.c	(revision 2177)
+++ libseahorse/seahorse-vfs-data.c	(working copy)
@@ -20,10 +20,11 @@
  */
 
 #include <sys/types.h>
+#include <string.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#include <errno.h>
 
-#include <gnome.h>
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-gpgmex.h"
Index: libseahorse/seahorse-vfs-data.h
===================================================================
--- libseahorse/seahorse-vfs-data.h	(revision 2177)
+++ libseahorse/seahorse-vfs-data.h	(working copy)
@@ -19,6 +19,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#include <libgnomevfs/gnome-vfs-file-size.h>
+
 /**
  * A gpgme_data_t implementation which maps to a gnome-vfs handle.
  * Allows for accessing data on remote machines (ie: smb, sftp)
Index: libseahorse/seahorse-widget.c
===================================================================
--- libseahorse/seahorse-widget.c	(revision 2177)
+++ libseahorse/seahorse-widget.c	(working copy)
@@ -21,10 +21,17 @@
  */
 
 #include <config.h>
-#include <gnome.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include <glade/glade.h>
 #include <glade/glade-build.h>
 
+#include <libgnomevfs/gnome-vfs.h>
+#include <libgnomevfs/gnome-vfs-result.h>
+
 #include "seahorse-widget.h"
 #include "seahorse-gtkstock.h"
 
@@ -131,7 +138,7 @@
 	/* Remove widget from hash and destroy hash if empty */
     if (widgets) {
     	g_hash_table_remove (widgets, swidget->name);
-    	if (g_hash_table_size == 0) {
+    	if (g_hash_table_size (widgets) == 0) {
     		g_hash_table_destroy (widgets);
     		widgets = NULL;
     	}
@@ -310,25 +317,29 @@
 void
 seahorse_widget_show_help (SeahorseWidget *swidget)
 {
-    GError *err = NULL;
+    gchar *document = NULL;
+    GnomeVFSResult error;
 
     if (g_str_equal (swidget->name, "key-manager") || 
-        g_str_equal (swidget->name, "keyserver-results"))
-        gnome_help_display_with_doc_id (NULL, PACKAGE, PACKAGE, "introduction", &err);
-    else
-       gnome_help_display_with_doc_id (NULL, PACKAGE, PACKAGE, swidget->name, &err);
+        g_str_equal (swidget->name, "keyserver-results")) {
+        document = g_strdup ("ghelp:" PACKAGE "?introduction");
+    } else {
+        document = g_strdup_printf ("ghelp:" PACKAGE "?%s", swidget->name);
+    }
 
-    if (err != NULL) {
+    error = gnome_vfs_url_show (document);
+    g_free (document);
+
+    if (error != GNOME_VFS_OK) {
         GtkWidget *dialog;
 
         dialog = gtk_message_dialog_new (GTK_WINDOW (seahorse_widget_get_top (swidget)), GTK_DIALOG_MODAL, 
                                          GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 
                                          _("Could not display help: %s"),
-                                         err->message);
+                                         gnome_vfs_result_to_string (error));
         g_signal_connect (G_OBJECT (dialog), "response",
                           G_CALLBACK (gtk_widget_destroy), NULL);
         gtk_widget_show (dialog);
-        g_error_free (err);
     }
 }
 
Index: libseahorse/seahorse-dns-sd.c
===================================================================
--- libseahorse/seahorse-dns-sd.c	(revision 2177)
+++ libseahorse/seahorse-dns-sd.c	(working copy)
@@ -21,8 +21,6 @@
 
 #include "config.h"
 
-#include <gnome.h>
-
 #ifdef WITH_SHARING 
 #include <avahi-client/client.h>
 #include <avahi-client/lookup.h>
Index: libseahorse/seahorse-key.c
===================================================================
--- libseahorse/seahorse-key.c	(revision 2177)
+++ libseahorse/seahorse-key.c	(working copy)
@@ -20,7 +20,7 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <gnome.h>
+#include <string.h>
 
 #include "seahorse-key.h"
 #include "seahorse-context.h"
Index: libseahorse/seahorse-ssh-operation.c
===================================================================
--- libseahorse/seahorse-ssh-operation.c	(revision 2177)
+++ libseahorse/seahorse-ssh-operation.c	(working copy)
@@ -20,11 +20,16 @@
  */
 
 #include "config.h"
+
 #include <sys/wait.h>
 #include <sys/socket.h>
-#include <gnome.h>
+#include <string.h>
+#include <errno.h>
 #include <fcntl.h>
+#include <unistd.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-ssh-operation.h"
 #include "seahorse-util.h"
 #include "seahorse-gpgmex.h"
@@ -782,7 +787,7 @@
     op = seahorse_ssh_operation_new (ssrc, cmd, input, length, NULL);
     
     g_free (cmd);
-    free (input);
+    g_free (input);
 
     pv = SEAHORSE_SSH_OPERATION_GET_PRIVATE (op);
     pv->password_cb = upload_password_cb;
@@ -939,6 +944,7 @@
  * LOAD KEY INTO AGENT
  */ 
 
+#if 0
 #define KEYRING_ATTR_TYPE "seahorse-key-type"
 #define KEYRING_ATTR_KEYID "openssh-keyid"
 #define KEYRING_VAL_SSH "openssh"
@@ -1040,6 +1046,7 @@
         set_keyring_passphrase (pv->prompt_skey, pass);
     }
 }
+#endif
 
 /* -----------------------------------------------------------------------------
  * IMPORT A PUBLIC KEY 
Index: libseahorse/seahorse-ssh-source.c
===================================================================
--- libseahorse/seahorse-ssh-source.c	(revision 2177)
+++ libseahorse/seahorse-ssh-source.c	(working copy)
@@ -20,11 +20,16 @@
  */
 
 #include "config.h"
+
+#include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include <gnome.h>
 #include <fcntl.h>
+#include <errno.h>
+
+#include <glib/gi18n.h>
 #include <glib/gstdio.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-gpgmex.h"
Index: libseahorse/seahorse-operation.c
===================================================================
--- libseahorse/seahorse-operation.c	(revision 2177)
+++ libseahorse/seahorse-operation.c	(working copy)
@@ -18,10 +18,8 @@
  * 59 Temple Place, Suite 330,
  * Boston, MA 02111-1307, USA.
  */
- 
-#include <gnome.h>
-
 #include "config.h"
+
 #include "seahorse-util.h"
 #include "seahorse-marshal.h"
 #include "seahorse-operation.h"
Index: libseahorse/seahorse-ssh-askpass.c
===================================================================
--- libseahorse/seahorse-ssh-askpass.c	(revision 2177)
+++ libseahorse/seahorse-ssh-askpass.c	(working copy)
@@ -20,10 +20,17 @@
  */
  
 #include "config.h"
-#include <gnome.h>
+
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
 static FILE* seahorse_link = NULL;
  
 static gchar* 
Index: libseahorse/seahorse-operation.h
===================================================================
--- libseahorse/seahorse-operation.h	(revision 2177)
+++ libseahorse/seahorse-operation.h	(working copy)
@@ -47,7 +47,7 @@
 #ifndef __SEAHORSE_OPERATION_H__
 #define __SEAHORSE_OPERATION_H__
 
-#include <gnome.h>
+#include <glib-object.h>
 
 #define SEAHORSE_TYPE_OPERATION            (seahorse_operation_get_type ())
 #define SEAHORSE_OPERATION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_OPERATION, SeahorseOperation))
Index: libseahorse/seahorse-gpg-options.c
===================================================================
--- libseahorse/seahorse-gpg-options.c	(revision 2177)
+++ libseahorse/seahorse-gpg-options.c	(working copy)
@@ -25,6 +25,8 @@
 #include <gpgme.h>
 #include <string.h>
 #include <errno.h>
+#include <unistd.h>
+#include <sys/stat.h>
 
 #include "seahorse-gpgmex.h"
 #include "seahorse-util.h"
Index: libseahorse/seahorse-ldap-source.c
===================================================================
--- libseahorse/seahorse-ldap-source.c	(revision 2177)
+++ libseahorse/seahorse-ldap-source.c	(working copy)
@@ -20,9 +20,13 @@
  */
 
 #include "config.h"
+
 #include <stdlib.h>
+#include <string.h>
 #include <libintl.h>
-#include <gnome.h>
+
+#include <glib/gi18n.h>
+
 #include <ldap.h>
 
 #ifdef WITH_SOUP
Index: libseahorse/seahorse-prefs-cache.c
===================================================================
--- libseahorse/seahorse-prefs-cache.c	(revision 2177)
+++ libseahorse/seahorse-prefs-cache.c	(working copy)
@@ -25,7 +25,6 @@
 #include <sys/wait.h>
 
 #include <stdlib.h>
-#include <gnome.h>
 
 #define DBUS_API_SUBJECT_TO_CHANGE
 #include <dbus/dbus.h>
@@ -110,7 +109,7 @@
     gint ttl;
     gboolean set;
     
-    if (strcmp (gconf_key, SETTING_CACHE) == 0) {
+    if (g_strcmp0 (gconf_key, SETTING_CACHE) == 0) {
         
         set = seahorse_gconf_get_boolean (SETTING_CACHE);
         if (!set) {
@@ -122,10 +121,10 @@
         return;
     }
     
-    if (strcmp (gconf_key, SETTING_METHOD) == 0) {
+    if (g_strcmp0 (gconf_key, SETTING_METHOD) == 0) {
         
         str = seahorse_gconf_get_string (SETTING_METHOD);
-        if (!str || strcmp (str, METHOD_GNOME) != 0)
+        if (!str || g_strcmp0 (str, METHOD_GNOME) != 0)
             widget = seahorse_widget_get_widget (swidget, "session-cache");
         else
             widget = seahorse_widget_get_widget (swidget, "keyring-cache");
@@ -137,7 +136,7 @@
         return;
     }
     
-    if (strcmp (gconf_key, SETTING_TTL) == 0) {
+    if (g_strcmp0 (gconf_key, SETTING_TTL) == 0) {
         
         ttl = seahorse_gconf_get_integer (SETTING_TTL);
         if (ttl < 0)
@@ -218,8 +217,7 @@
 void
 seahorse_prefs_cache (SeahorseWidget *swidget)
 {
-    GtkWidget *w, *w2;
-    gboolean display_start = FALSE;
+    GtkWidget *w;
     
     g_return_if_fail (swidget != NULL);
 
Index: libseahorse/seahorse-validity.c
===================================================================
--- libseahorse/seahorse-validity.c	(revision 2177)
+++ libseahorse/seahorse-validity.c	(working copy)
@@ -19,8 +19,9 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include "seahorse-validity.h"
 
 const gchar*
Index: libseahorse/seahorse-key-model.c
===================================================================
--- libseahorse/seahorse-key-model.c	(revision 2177)
+++ libseahorse/seahorse-key-model.c	(working copy)
@@ -20,8 +20,9 @@
  */
  
 #include "config.h"
-#include <gnome.h>
 
+#include <string.h>
+
 #include "seahorse-key-model.h"
 #include "seahorse-marshal.h"
 
Index: libseahorse/seahorse-key-source.c
===================================================================
--- libseahorse/seahorse-key-source.c	(revision 2177)
+++ libseahorse/seahorse-key-source.c	(working copy)
@@ -20,7 +20,6 @@
  */
  
 #include "config.h"
-#include <gnome.h>
 
 #include "seahorse-key-source.h"
 #include "seahorse-marshal.h"
Index: daemon/seahorse-sharing.c
===================================================================
--- daemon/seahorse-sharing.c	(revision 2177)
+++ daemon/seahorse-sharing.c	(working copy)
@@ -20,8 +20,9 @@
  */
 
 #include <config.h>
-#include <gnome.h>
 
+#include <glib/gi18n.h>
+
 #include <avahi-client/client.h>
 #include <avahi-client/publish.h>
 #include <avahi-common/error.h>
Index: daemon/seahorse-service.c
===================================================================
--- daemon/seahorse-service.c	(revision 2177)
+++ daemon/seahorse-service.c	(working copy)
@@ -20,7 +20,12 @@
  */
 
 #include "config.h"
+
+#include <string.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
+
 #include <dbus/dbus-glib-bindings.h>
 
 #include "seahorse-daemon.h"
Index: daemon/seahorse-service-keyset.c
===================================================================
--- daemon/seahorse-service-keyset.c	(revision 2177)
+++ daemon/seahorse-service-keyset.c	(working copy)
@@ -20,7 +20,11 @@
  */
 
 #include "config.h"
+
+#include <string.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-service.h"
 #include "seahorse-util.h"
Index: daemon/seahorse-daemon.c
===================================================================
--- daemon/seahorse-daemon.c	(revision 2177)
+++ daemon/seahorse-daemon.c	(working copy)
@@ -30,7 +30,7 @@
 #include <syslog.h>
 #include <fcntl.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include "config.h"
 #include "seahorse-daemon.h"
@@ -166,16 +166,9 @@
     g_log_set_handler ("Gnome", flags, log_handler, NULL);
 }
 
-static void
-client_die ()
-{
-    gtk_main_quit ();
-}
-
 int main(int argc, char* argv[])
 {
     SeahorseOperation *op;
-    GnomeClient *client = NULL;
     GOptionContext *octx = NULL;
 
     seahorse_secure_memory_init ();
@@ -183,10 +176,7 @@
     octx = g_option_context_new ("");
     g_option_context_add_main_entries (octx, options, GETTEXT_PACKAGE);
 
-    gnome_program_init ("seahorse-daemon", VERSION, LIBGNOMEUI_MODULE, argc, argv,
-                    GNOME_PARAM_GOPTION_CONTEXT, octx,
-                    GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Daemon (Seahorse)"),
-                    GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
+    gtk_init_with_args (&argc, &argv, _("Encryption Daemon (Seahorse)"), (GOptionEntry *) options, GETTEXT_PACKAGE, NULL);
 
     /* 
      * All functions after this point have to print messages 
@@ -202,9 +192,6 @@
     if (!daemon_no_daemonize)
         seahorse_gconf_disconnect ();    
         
-    client = gnome_master_client();
-    g_signal_connect(client, "die", G_CALLBACK(client_die), NULL);
-    
     /* We log to the syslog */
     prepare_logging ();
 
Index: daemon/seahorse-service-crypto.c
===================================================================
--- daemon/seahorse-service-crypto.c	(revision 2177)
+++ daemon/seahorse-service-crypto.c	(working copy)
@@ -19,7 +19,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#include <string.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-service.h"
 #include "seahorse-key.h"
@@ -72,7 +75,7 @@
         
         data = gpgme_data_release_and_get_mem (cryptdata, &len);
         *result = g_strndup (data, len);
-        free (data);
+        g_free (data);
         
         return TRUE;
         
Index: daemon/seahorse-hkp-server.c
===================================================================
--- daemon/seahorse-hkp-server.c	(revision 2177)
+++ daemon/seahorse-hkp-server.c	(working copy)
@@ -18,11 +18,13 @@
  * 59 Temple Place, Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+#include "config.h"
+
+#include <errno.h>
+#include <string.h>
  
-#include <gnome.h>
 #include <libsoup/soup.h>
 
-#include "config.h"
 #include "seahorse-gpgmex.h"
 #include "seahorse-daemon.h"
 
Index: Makefile.am
===================================================================
--- Makefile.am	(revision 2177)
+++ Makefile.am	(working copy)
@@ -8,7 +8,8 @@
 AGENT_DIR = 
 endif
 
-SUBDIRS = libcryptui \
+SUBDIRS = libegg \
+          libcryptui \
           libseahorse \
           src \
           po \
