Index: configure.in
===================================================================
RCS file: /cvs/gnome/seahorse/configure.in,v
retrieving revision 1.71
diff -u -r1.71 configure.in
--- configure.in	4 Jun 2005 03:33:28 -0000	1.71
+++ configure.in	6 Aug 2005 22:57:46 -0000
@@ -47,21 +47,30 @@
     
     for ver in $major_versions; do
       if test "$ver" = "$major"; then
-            
+
+        if test "1" = "$major"; then
+          AC_DEFINE(GPG_MAJOR, 1,[GPG Major Version])
+        fi
+        
         # Check the minor version 
         for ver2 in $minor_versions; do
-          if test "$ver2" = "$minor"; then
-                    
+          if test "$ver2" = "$minor"; then                
+        	            
             ok="yes"
+            
+            if test "2" = "$minor"; then
+              AC_DEFINE(GPG_MINOR,2,[GPG Minor Version])
+            fi
+            
+            if test "4" = "$minor"; then
+              AC_DEFINE(GPG_MINOR,4,[GPG Minor Version])
+            fi
+
             break
-                    
           fi
-        done
-        break
-            
+        done           
       fi
     done
-    
   fi
   
   if test "$ok" = "yes"; then
Index: libseahorse/seahorse-gpgmex-op.c
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-gpgmex-op.c,v
retrieving revision 1.1
diff -u -r1.1 seahorse-gpgmex-op.c
--- libseahorse/seahorse-gpgmex-op.c	23 Feb 2005 00:41:56 -0000	1.1
+++ libseahorse/seahorse-gpgmex-op.c	6 Aug 2005 22:57:46 -0000
@@ -23,6 +23,7 @@
 #include <gpgme.h>
 #include <string.h>
 
+#include "config.h"
 #include "seahorse-gpgmex.h"
 
 static gpgme_error_t
@@ -83,6 +84,41 @@
     if (gpgme_data_write (keydata, output, strlen (output)) == -1)
         return GPG_E (GPG_ERR_GENERAL);
     
+    g_free (output);
+    return GPG_OK;
+}
+
+gpgme_error_t 
+gpgmex_op_num_uids		(gpgme_ctx_t ctx,
+						 const char *pattern,
+						 guint *number)
+{
+	gchar *output = NULL;
+    gpgme_error_t err;
+    gchar *args;
+    gchar *found = NULL;
+    
+    g_return_val_if_fail (pattern != NULL, GPG_E (GPG_ERR_INV_VALUE));
+    
+    args = g_strdup_printf ("--list-keys '%s'", 
+                            pattern);
+    
+    err = execute_gpg_command (ctx, args, &output, NULL);
+    g_free (args);
+    
+    if (!GPG_IS_OK (err))
+        return err;
+    
+    found = output;
+	while (found = strstr(found, "uid")){
+		*number = *number + 1;
+		found += 3;
+	}
+
+	if ((GPG_MAJOR == 1) && (GPG_MINOR == 2)){
+		*number = *number + 1;
+	}
+     
     g_free (output);
     return GPG_OK;
 }
Index: libseahorse/seahorse-gpgmex.h
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-gpgmex.h,v
retrieving revision 1.5
diff -u -r1.5 seahorse-gpgmex.h
--- libseahorse/seahorse-gpgmex.h	23 Feb 2005 00:41:56 -0000	1.5
+++ libseahorse/seahorse-gpgmex.h	6 Aug 2005 22:57:46 -0000
@@ -23,6 +23,7 @@
 #define __SEAHORSE_GPGMEX_H__
 
 #include <gpgme.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
 
 /* -----------------------------------------------------------------------------
  * ERROR HANDLING 
@@ -51,6 +52,18 @@
     GPGMEX_KEY_DISABLED = 0x02
 };
 
+/* A photo id from a key */
+struct _gpgmex_photo_id{
+    struct _gpgmex_photo_id *next;
+    
+    /* The actual uid used with gpgpme_op_edit */
+    guint   uid;
+    
+    /* The photo id */
+    GdkPixbuf *photo;
+};
+typedef struct _gpgmex_photo_id *gpgmex_photo_id_t;
+
 gpgme_key_t gpgmex_key_alloc         ();
 
 void        gpgmex_key_add_subkey    (gpgme_key_t key,
@@ -85,4 +98,7 @@
                                         const char *pattern,
                                         gpgme_data_t keydata);
 
+gpgme_error_t gpgmex_op_num_uids		(gpgme_ctx_t ctx,
+										 const char *pattern,
+										 guint *number);
 #endif /* __SEAHORSE_GPGMEX_H__ */
Index: libseahorse/seahorse-pgp-key.c
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-pgp-key.c,v
retrieving revision 1.1
diff -u -r1.1 seahorse-pgp-key.c
--- libseahorse/seahorse-pgp-key.c	5 Aug 2005 23:03:28 -0000	1.1
+++ libseahorse/seahorse-pgp-key.c	6 Aug 2005 22:57:47 -0000
@@ -101,7 +101,7 @@
 	g_object_class_install_property (gobject_class, PROP_SECKEY,
 		g_param_spec_pointer ("seckey", "Gpgme Secret Key", "Gpgme Secret Key that this object represents",
 				              G_PARAM_READWRITE));
-                      
+
     g_object_class_install_property (gobject_class, PROP_DISPLAY_NAME,
         g_param_spec_string ("display-name", "Display Name", "User Displayable name for this key",
                              "", G_PARAM_READABLE));
@@ -539,3 +539,48 @@
     g_return_val_if_fail (subkey, "");
     return subkey->keyid;
 }
+
+guint           
+seahorse_pgp_key_get_num_photoids (SeahorsePGPKey *pkey)
+{
+	gint index = 0;
+	gpgmex_photo_id_t photoid;
+
+	g_return_val_if_fail (SEAHORSE_IS_PGP_KEY (pkey), 0);    
+	g_return_val_if_fail (pkey->pubkey != NULL, 0);
+    g_return_val_if_fail (pkey->photoids != NULL, 0);
+		
+	photoid = pkey->photoids;
+	while (photoid) {
+		photoid = photoid->next;
+		index++;
+	}
+	
+	return index;        
+}
+
+/**
+ * seahorse_key_get_nth_userid:
+ * @skey: #SeahorseKey
+ * @index: Which photo id
+ *
+ * Gets the the photo id at @index of @skey.
+ *
+ * Returns: subkey of @skey at @index, or NULL if @index is out of bounds
+ */
+gpgmex_photo_id_t  
+seahorse_pgp_key_get_nth_photoid (SeahorsePGPKey *pkey, guint index)
+{
+    gpgmex_photo_id_t photoid;
+    guint n;
+
+    g_return_val_if_fail (pkey != NULL && SEAHORSE_IS_PGP_KEY (pkey), NULL);
+    g_return_val_if_fail (pkey->pubkey != NULL, NULL);
+    g_return_val_if_fail (pkey->photoids != NULL, NULL);
+    
+    photoid = pkey->photoids;
+    for (n = index; photoid && n; n--)
+        photoid = photoid->next;
+
+    return photoid;
+}    
Index: libseahorse/seahorse-pgp-key.h
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-pgp-key.h,v
retrieving revision 1.1
diff -u -r1.1 seahorse-pgp-key.h
--- libseahorse/seahorse-pgp-key.h	5 Aug 2005 23:03:28 -0000	1.1
+++ libseahorse/seahorse-pgp-key.h	6 Aug 2005 22:57:47 -0000
@@ -25,6 +25,7 @@
 #include <gtk/gtk.h>
 #include <gpgme.h>
 
+#include "seahorse-gpgmex.h"
 #include "seahorse-key.h"
 
 #define SEAHORSE_TYPE_PGP_KEY            (seahorse_pgp_key_get_type ())
@@ -44,6 +45,8 @@
     /*< public >*/
     gpgme_key_t                 pubkey;
     gpgme_key_t                 seckey;    
+    /* Holds a list of gpgmex_photo_id_t structs */
+    gpgmex_photo_id_t           photoids;
 };
 
 struct _SeahorsePGPKeyClass {
@@ -81,5 +84,9 @@
 const gchar*	seahorse_pgp_key_get_id               (gpgme_key_t      key,
                                                        guint            index);
 
+guint           seahorse_pgp_key_get_num_photoids     (SeahorsePGPKey   *pkey);
 
+gpgmex_photo_id_t seahorse_pgp_key_get_nth_photoid    (SeahorsePGPKey   *pkey,
+                                                       guint            index);
+                                                       
 #endif /* __SEAHORSE_KEY_H__ */
Index: libseahorse/seahorse-util.c
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-util.c,v
retrieving revision 1.44
diff -u -r1.44 seahorse-util.c
--- libseahorse/seahorse-util.c	5 Aug 2005 23:03:28 -0000	1.44
+++ libseahorse/seahorse-util.c	6 Aug 2005 22:57:47 -0000
@@ -858,7 +858,26 @@
     gtk_file_filter_add_pattern (filter, "*");    
     gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);       
 }
+
+void
+seahorse_util_chooser_show_jpeg_files (GtkWidget *dialog)
+{
+	GtkFileFilter* filter = gtk_file_filter_new ();
     
+    /* Filter for JPEG files, this is meant to be 
+     * used when searching for images to add as a photoid*/
+     
+    gtk_file_filter_set_name (filter, _("All JPEG files"));
+    gtk_file_filter_add_mime_type (filter, "image/jpeg");
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);    
+    gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+    filter = gtk_file_filter_new ();
+    gtk_file_filter_set_name (filter, _("All files"));
+    gtk_file_filter_add_pattern (filter, "*");    
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+}
+   
 void
 seahorse_util_chooser_show_archive_files (GtkWidget *dialog)
 {
Index: libseahorse/seahorse-util.h
===================================================================
RCS file: /cvs/gnome/seahorse/libseahorse/seahorse-util.h,v
retrieving revision 1.33
diff -u -r1.33 seahorse-util.h
--- libseahorse/seahorse-util.h	20 May 2005 19:49:41 -0000	1.33
+++ libseahorse/seahorse-util.h	6 Aug 2005 22:57:47 -0000
@@ -115,6 +115,8 @@
 
 void        seahorse_util_chooser_show_key_files        (GtkWidget *dialog);
 
+void        seahorse_util_chooser_show_jpeg_files       (GtkWidget *dialog);
+
 void        seahorse_util_chooser_show_archive_files    (GtkWidget *dialog);
 
 void        seahorse_util_chooser_set_filename          (GtkWidget *dialog, 
Index: pixmaps/Makefile.am
===================================================================
RCS file: /cvs/gnome/seahorse/pixmaps/Makefile.am,v
retrieving revision 1.5
diff -u -r1.5 Makefile.am
--- pixmaps/Makefile.am	20 May 2005 17:48:02 -0000	1.5
+++ pixmaps/Makefile.am	6 Aug 2005 22:57:47 -0000
@@ -3,7 +3,8 @@
 appicon_DATA = seahorse.png \
                seahorse-secret.png \
                seahorse-key.png \
-               seahorse-share-keys.png
+               seahorse-share-keys.png \
+               seahorse-person.png
 
 appicondir = $(datadir)/pixmaps
 
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gnome/seahorse/src/Makefile.am,v
retrieving revision 1.27
diff -u -r1.27 Makefile.am
--- src/Makefile.am	19 May 2005 22:25:43 -0000	1.27
+++ src/Makefile.am	6 Aug 2005 22:57:48 -0000
@@ -1,7 +1,7 @@
-
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
 pixmapsdir = $(datadir)/pixmaps/
+seahorselibexecbindir = $(libexecdir)/seahorse/
 
 INCLUDES = -I$(top_builddir) \
 	-I$(top_srcdir) \
@@ -10,7 +10,8 @@
 	-DDATA_DIR=\""$(datadir)"\" \
 	-DSEAHORSE_GLADEDIR=\""$(gladedir)"\" \
 	-DLOCALEDIR=\"$(localedir)\" \
-	-DPIXMAPSDIR=\""$(pixmapsdir)"\"
+    -DPIXMAPSDIR=\""$(pixmapsdir)"\" \
+	-DEXECDIR=\""$(seahorselibexecbindir)"\"
 
 if WITH_KEYSERVER
 KEYSERVER_SRCS = seahorse-keyserver-search.c seahorse-keyserver-results.c seahorse-keyserver-sync.c
@@ -64,6 +65,11 @@
 	seahorse-keyserver-results.glade \
 	seahorse-keyserver-results.ui \
     seahorse-keyserver-sync.glade 
+
+seahorselibexecbin_PROGRAMS = xloadimage
+
+xloadimage_SOURCES = seahorse-xloadimage.c 	
+ 
 
 @INTLTOOL_DESKTOP_RULE@
 desktopdir = $(datadir)/applications
Index: src/seahorse-key-op.c
===================================================================
RCS file: /cvs/gnome/seahorse/src/seahorse-key-op.c,v
retrieving revision 1.12
diff -u -r1.12 seahorse-key-op.c
--- src/seahorse-key-op.c	5 Aug 2005 23:03:29 -0000	1.12
+++ src/seahorse-key-op.c	6 Aug 2005 22:57:48 -0000
@@ -19,6 +19,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#include <sys/param.h> 
+#include <stdlib.h>
 #include <gnome.h>
 
 #include "seahorse-gpgmex.h"
@@ -31,6 +33,7 @@
 #define QUIT "quit"
 #define SAVE "keyedit.save.okay"
 #define YES "Y"
+#define NO "N"
 
 #define PRINT(args)  if(!seahorse_util_print_fd args) return GPG_E (GPG_ERR_GENERAL)
 #define PRINTF(args) if(!seahorse_util_printf_fd args) return GPG_E (GPG_ERR_GENERAL)
@@ -224,7 +227,7 @@
 	    status == GPGME_STATUS_BAD_PASSPHRASE || status == GPGME_STATUS_USERID_HINT ||
 	    status == GPGME_STATUS_SIGEXPIRED || status == GPGME_STATUS_KEYEXPIRED ||
 	    status == GPGME_STATUS_PROGRESS || status == GPGME_STATUS_KEY_CREATED ||
-	    status == GPGME_STATUS_ALREADY_SIGNED)
+	    status == GPGME_STATUS_ALREADY_SIGNED || status == GPGME_STATUS_MISSING_PASSPHRASE)
 		return parms->err;
 
 	/* Choose the next state based on the current one and the input */
@@ -2039,4 +2042,507 @@
                 del_uid_transit, del_uid_parm);
  
     return edit_key (pkey, parms, SKEY_CHANGE_UIDS);    
+}
+
+typedef struct {
+	gchar *filename;
+} GetPhotoIdAddParm;
+
+typedef enum {
+    GET_PHOTO_ID_ADD_START,
+    GET_PHOTO_ID_ADD_COMMAND,
+    GET_PHOTO_ID_ADD_URI,
+    GET_PHOTO_ID_ADD_BIG,
+    GET_PHOTO_ID_ADD_QUIT,
+    GET_PHOTO_ID_ADD_SAVE,
+    GET_PHOTO_ID_ADD_ERROR
+} GetPhotoIdAddState;
+
+/* action helper for adding a photoid to a #SeahorseKey */
+static gpgme_error_t
+get_photoid_add_action (guint state, gpointer data, int fd)
+{
+    GetPhotoIdAddParm *parm = (GetPhotoIdAddParm*)data;
+    GtkWidget *question, *delete_button, *cancel_button;
+    gint response;
+    
+    switch (state) {
+	    case GET_PHOTO_ID_ADD_COMMAND:
+	    	seahorse_util_print_fd (fd, "addphoto");
+	        break;
+	    case GET_PHOTO_ID_ADD_URI:
+			//tell gpg which file to use
+			seahorse_util_print_fd(fd, parm->filename);
+	    	break;
+	    case GET_PHOTO_ID_ADD_BIG:
+	    	//let the user know their file is big and ask them if they still want to use it
+	    	question = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+		                        GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
+		                        _("This photo ID file is very large.  Are you sure you want to add it to your key?"));
+		    
+		    delete_button = gtk_button_new_from_stock (GTK_STOCK_ADD);
+		    cancel_button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
+
+		    //add widgets to action area
+		    gtk_dialog_add_action_widget(GTK_DIALOG(question), GTK_WIDGET (cancel_button), GTK_RESPONSE_REJECT);
+		    gtk_dialog_add_action_widget(GTK_DIALOG(question), GTK_WIDGET (delete_button), GTK_RESPONSE_ACCEPT);
+		   
+		    //show widgets
+		    gtk_widget_show (delete_button);
+		    gtk_widget_show (cancel_button);
+		       
+		    response = gtk_dialog_run (GTK_DIALOG (question));
+		    gtk_widget_destroy (question);
+		    
+	        seahorse_util_print_fd (fd, (response == GTK_RESPONSE_ACCEPT) ? YES : NO);
+	        break;
+	    case GET_PHOTO_ID_ADD_QUIT:
+	        seahorse_util_print_fd (fd, QUIT);
+	        break;
+	    case GET_PHOTO_ID_ADD_SAVE:
+	        seahorse_util_print_fd (fd, YES);
+	        break;
+	    default:
+	        g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
+	        break;
+    }
+  
+    seahorse_util_print_fd (fd, "\n");
+    return GPG_OK;
+}
+
+static guint
+get_photoid_add_transit (guint current_state, gpgme_status_code_t status,
+            const gchar *args, gpointer data, gpgme_error_t *err)
+{
+    guint next_state;
+    struct stat buf;
+    GetPhotoIdAddParm *parm = (GetPhotoIdAddParm*)data;
+	
+    switch (current_state) {
+    
+    /* start, get photoid list */
+    case GET_PHOTO_ID_ADD_START:
+        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            next_state = GET_PHOTO_ID_ADD_COMMAND;
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        }
+        break;
+    case GET_PHOTO_ID_ADD_COMMAND:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "photoid.jpeg.add")){
+			next_state = GET_PHOTO_ID_ADD_URI;
+		}
+		else {
+			*err = GPG_E (GPG_ERR_GENERAL);
+			g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        }
+        break;
+   case GET_PHOTO_ID_ADD_URI:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+			next_state = GET_PHOTO_ID_ADD_QUIT;
+		}
+		else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "photoid.jpeg.size")){
+			next_state = GET_PHOTO_ID_ADD_BIG;
+		}
+		else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            fprintf(stderr, "args = %s\n", args);
+            g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        }
+	break;
+    case GET_PHOTO_ID_ADD_BIG:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+			next_state = GET_PHOTO_ID_ADD_QUIT;
+		}
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        }
+        break;
+    case GET_PHOTO_ID_ADD_QUIT:
+    	if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)){
+			next_state = GET_PHOTO_ID_ADD_SAVE;
+		}
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        }
+        break;
+    default:
+        *err = GPG_E (GPG_ERR_GENERAL);
+        g_return_val_if_reached (GET_PHOTO_ID_ADD_ERROR);
+        break;
+    }
+    
+    return next_state;
+}
+
+/**
+ * seahorse_key_op_photoid_add:
+ * @skey: #SeahorseKey to add photoid to
+ * @uri: path to jpeg image to be added
+ *
+ * Tries to add @uri to @skey as a photoid.
+ *
+ * Returns: Error value
+ **/
+gpgme_error_t seahorse_key_op_photoid_add	(SeahorsePGPKey *pkey,
+											 gchar *filename)
+{
+	SeahorseEditParm *parms;
+	GetPhotoIdAddParm *get_photoid_add_parm;
+	gpgme_error_t err;
+	
+	g_return_val_if_fail (SEAHORSE_IS_PGP_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    
+	get_photoid_add_parm = g_new0 (GetPhotoIdAddParm, 1);
+	get_photoid_add_parm->filename = filename;
+	
+	parms = seahorse_edit_parm_new (GET_PHOTO_ID_ADD_START, get_photoid_add_action,
+					get_photoid_add_transit, get_photoid_add_parm);
+	
+	/* add photoid */
+	err = edit_key (pkey, parms, SKEY_CHANGE_UIDS);
+	
+    return err;
+}
+
+/**
+ * seahorse_key_op_photoid_delete:
+ * @skey: #SeahorseKey whose photoid to delete
+ * @uid: uid of photoid to delete
+ *
+ * Tries to delete photoid @uid from @skey. This uses the transit
+ * and action functions from seahorse_key_op_del_uid.
+ *
+ * Returns: Error value
+ **/
+gpgme_error_t seahorse_key_op_photoid_delete	(SeahorsePGPKey *pkey,
+                                                 const guint uid)
+{
+    DelUidParm *del_uid_parm;
+    SeahorseEditParm *parms;
+ 
+    g_return_val_if_fail (SEAHORSE_IS_PGP_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+      
+    del_uid_parm = g_new0 (DelUidParm, 1);
+    del_uid_parm->index = uid;
+   
+    parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action,
+                del_uid_transit, del_uid_parm);
+ 
+    return edit_key (pkey, parms, SKEY_CHANGE_UIDS);    
+}
+
+typedef struct {
+	gpgmex_photo_id_t list;
+    gpgmex_photo_id_t first;
+	gint uid;
+	gint num_uids;
+	char *output_file;
+} GetPhotoIdListParm;
+
+typedef enum {
+    GET_PHOTO_ID_LIST_START,
+    GET_PHOTO_ID_LIST_COMMAND,
+    GET_PHOTO_ID_LIST_SELECT_UID,
+    GET_PHOTO_ID_LIST_OUTPUT_IMAGE,
+    GET_PHOTO_ID_LIST_CHECK_OUTPUT,
+    GET_PHOTO_ID_LIST_QUIT,
+    GET_PHOTO_ID_LIST_SAVE,
+    GET_PHOTO_ID_LIST_ERROR
+} GetPhotoIdListState;
+
+/* action helper for getting a list of photoids attached to a #SeahorseKey */
+static gpgme_error_t
+get_photoid_list_action (guint state, gpointer data, int fd)
+{
+    GetPhotoIdListParm *parm = (GetPhotoIdListParm*)data;
+    gchar num[17];
+    
+    switch (state) {
+	    case GET_PHOTO_ID_LIST_COMMAND:
+	    	seahorse_util_print_fd (fd, "uid");
+	        break;
+	    case GET_PHOTO_ID_LIST_SELECT_UID:
+			//select the next UID
+			seahorse_util_print_fd(fd, g_ascii_dtostr(num, sizeof(num),parm->uid));
+	    	break;
+	    case GET_PHOTO_ID_LIST_OUTPUT_IMAGE:
+	    	//tell GPG to output the photo
+	        seahorse_util_print_fd (fd, "showphoto");
+	        break;
+	    case GET_PHOTO_ID_LIST_QUIT:
+	        seahorse_util_print_fd (fd, QUIT);
+	        break;
+	    case GET_PHOTO_ID_LIST_SAVE:
+	        seahorse_util_print_fd (fd, YES);
+	        break;
+	    default:
+	        g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
+	        break;
+    }
+  
+    seahorse_util_print_fd (fd, "\n");
+    return GPG_OK;
+}
+
+static guint
+get_photoid_list_transit (guint current_state, gpgme_status_code_t status,
+            const gchar *args, gpointer data, gpgme_error_t *err)
+{
+    guint next_state;
+    struct stat buf;
+    GetPhotoIdListParm *parm = (GetPhotoIdListParm*)data;
+	
+    switch (current_state) {
+    
+    /* start, get photoid list */
+    case GET_PHOTO_ID_LIST_START:
+        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            next_state = GET_PHOTO_ID_LIST_COMMAND;
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+        }
+        break;
+    case GET_PHOTO_ID_LIST_COMMAND:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+			next_state = GET_PHOTO_ID_LIST_SELECT_UID;
+		}
+		else {
+			*err = GPG_E (GPG_ERR_GENERAL);
+			g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+        }
+        break;
+   case GET_PHOTO_ID_LIST_SELECT_UID:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+			next_state = GET_PHOTO_ID_LIST_OUTPUT_IMAGE;
+		}
+		else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+        }
+		break;
+    case GET_PHOTO_ID_LIST_OUTPUT_IMAGE:
+    	stat(parm->output_file, &buf);
+
+    	if (buf.st_size > 0){
+            if ((parm->first == NULL) && (parm->list == NULL)){
+                parm->first = *(g_new0(gpgmex_photo_id_t, 1));
+                parm->list = parm->first;
+            }
+            else {
+                parm->list->next = *(g_new0(gpgmex_photo_id_t, 1));
+                parm->list = parm->list->next;
+            }
+            parm->list->uid = parm->uid;
+            parm->list->photo = gdk_pixbuf_new_from_file_at_size(parm->output_file, 240, 288, NULL);
+		}
+		remove(parm->output_file);
+		
+    	if (parm->uid < parm->num_uids){
+    		parm->uid = parm->uid + 1;
+    		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+				next_state = GET_PHOTO_ID_LIST_COMMAND;
+			}
+	        else {
+	            *err = GPG_E (GPG_ERR_GENERAL);
+	            g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+	        }
+        }
+        else {
+			if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)){
+				next_state = GET_PHOTO_ID_LIST_QUIT;
+			}
+	        else {
+	            *err = GPG_E (GPG_ERR_GENERAL);
+	            g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+	        }
+        }
+        break;
+    case GET_PHOTO_ID_LIST_QUIT:
+    	if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)){
+			next_state = GET_PHOTO_ID_LIST_SAVE;
+		}
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+        }
+        break;
+    default:
+        *err = GPG_E (GPG_ERR_GENERAL);
+        fprintf(stderr, "current_state %i\nstatus %i\nargs %s\n", current_state, status, args);
+        fprintf(stderr, "status\nGPGME_STATUS_GET_LINE %i\nGPGME_STATUS_GET_BOOL %i\n",
+        		 GPGME_STATUS_GET_LINE, GPGME_STATUS_GET_BOOL);
+        g_return_val_if_reached (GET_PHOTO_ID_LIST_ERROR);
+        break;
+    }
+    
+    return next_state;
+}
+
+/**
+ * seahorse_key_op_photoid_get_list:
+ * @skey: #SeahorseKey to get list of photoids for
+ *
+ * Tries to create list of photoids for skey.
+ *
+ * Returns: Error value
+ **/
+gpgme_error_t seahorse_key_op_photoid_get_list(SeahorsePGPKey *pkey)
+{
+	SeahorseEditParm *parms;
+	GetPhotoIdListParm *get_photoid_list_parm;
+	guint fd;
+	gpgme_error_t err;
+	gboolean r;
+	gint status;
+	GError *error = NULL;
+    gchar *out = NULL;
+	gchar extension[] = ".jpg"; 
+ 	gchar idpath[] = "/tmp/seahorse-photoid-XXXXXX\0\0\0\0";
+ 	gchar *image_path = NULL;
+ 	GString *str;
+	gchar *cmd, *found;
+	gchar path[MAXPATHLEN];
+	 
+ 	fd = mkstemp(idpath);
+ 	
+ 	if(fd == -1)
+ 		err = GPG_E(GPG_ERR_GENERAL);
+ 	else {
+		unlink(idpath);
+ 		close(fd);
+ 		
+ 		image_path = strcat(idpath, extension); 		
+		g_return_val_if_fail (SEAHORSE_IS_PGP_KEY (pkey), 
+				      GPG_E(GPG_ERR_WRONG_KEY_USAGE));
+	    
+		get_photoid_list_parm = g_new0 (GetPhotoIdListParm, 1);
+		get_photoid_list_parm->uid = 1;
+		get_photoid_list_parm->num_uids = 0;
+		get_photoid_list_parm->list = pkey->photoids;
+		get_photoid_list_parm->first = NULL;
+		get_photoid_list_parm->output_file = image_path;
+		
+		if GPG_IS_OK(err = gpgmex_op_num_uids(NULL, 
+											  seahorse_key_get_keyid(SEAHORSE_KEY(pkey)), 
+											  &(get_photoid_list_parm->num_uids))){
+			
+			setenv("SEAHORSE_IMAGE_FILE", image_path, 1);
+			setenv("OLDPATH", getenv("PATH"), 1);
+			snprintf(path, sizeof(path), "%s:%s", EXECDIR, getenv("PATH"));
+			setenv("PATH", path, 1);
+			
+			parms = seahorse_edit_parm_new (GET_PHOTO_ID_LIST_START, get_photoid_list_action,
+							get_photoid_list_transit, get_photoid_list_parm);
+			
+			/* generate list */
+			err = edit_key (pkey, parms, SKEY_CHANGE_UIDS);
+			setenv("PATH", getenv("OLDPATH"), 1);
+			pkey->photoids = get_photoid_list_parm->first;  
+		}
+ 	}
+ 	
+    return err;
+}
+
+typedef struct {
+    gchar *path;
+    gint uid;
+} GetPhotoIdParm;
+
+typedef enum {
+    GET_PHOTO_ID_START,
+    GET_PHOTO_ID_COMMAND,
+    GET_PHOTO_ID_UID,
+    GET_PHOTO_ID_OUTPUT,
+    GET_PHOTO_ID_QUIT,
+    GET_PHOTO_ID_ERROR
+} GetPhotoIdState;
+
+/* action helper for getting a UID's photoid */
+static gpgme_error_t
+get_photoid_action (guint state, gpointer data, int fd)
+{
+	GetPhotoIdParm *parm = (GetPhotoIdParm*)data;
+    gchar num[17];
+    
+    switch (state) {
+	case GET_PHOTO_ID_COMMAND:
+		//tell GPG to output the photo
+		seahorse_util_print_fd (fd, "uid");
+		break;
+	case GET_PHOTO_ID_UID:
+		//tell GPG to output the photo
+		seahorse_util_print_fd (fd, g_ascii_dtostr(num, sizeof(num), parm->uid));
+		break;
+	case GET_PHOTO_ID_OUTPUT:
+		//tell GPG to output the photo
+		seahorse_util_print_fd (fd, "showphoto");
+		break;
+    case GET_PHOTO_ID_QUIT:
+        seahorse_util_print_fd (fd, QUIT);
+        break;
+    default:
+        g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
+        break;
+    }
+  
+    seahorse_util_print_fd (fd, "\n");
+    return GPG_OK;
+}
+
+/* Transit Function for getting photo ids*/
+static guint
+get_photoid_transit (guint current_state, gpgme_status_code_t status,
+            const gchar *args, gpointer data, gpgme_error_t *err)
+{
+    guint next_state;
+
+    switch (current_state) {
+
+    /* start, output photoid */
+    case GET_PHOTO_ID_START:
+        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            next_state = GET_PHOTO_ID_COMMAND;
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (GET_PHOTO_ID_ERROR);
+        }
+        break;
+	case GET_PHOTO_ID_COMMAND:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+			next_state = GET_PHOTO_ID_UID;
+		else {
+			*err = GPG_E (GPG_ERR_GENERAL);
+			g_return_val_if_reached (GET_PHOTO_ID_ERROR);
+		}
+		break;
+	case GET_PHOTO_ID_UID:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+			next_state = GET_PHOTO_ID_OUTPUT;
+		else {
+			*err = GPG_E (GPG_ERR_GENERAL);
+			g_return_val_if_reached (GET_PHOTO_ID_ERROR);
+		}
+		break;
+	case GET_PHOTO_ID_OUTPUT:
+		if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+			next_state = GET_PHOTO_ID_QUIT;
+		else {
+			*err = GPG_E (GPG_ERR_GENERAL);
+			g_return_val_if_reached (GET_PHOTO_ID_ERROR);
+		}
+		break;
+    default:
+        *err = GPG_E (GPG_ERR_GENERAL);
+        g_return_val_if_reached (GET_PHOTO_ID_ERROR);
+        break;
+    }
+    
+	return next_state;
 }
Index: src/seahorse-key-op.h
===================================================================
RCS file: /cvs/gnome/seahorse/src/seahorse-key-op.h,v
retrieving revision 1.6
diff -u -r1.6 seahorse-key-op.h
--- src/seahorse-key-op.h	5 Aug 2005 23:03:29 -0000	1.6
+++ src/seahorse-key-op.h	6 Aug 2005 22:57:48 -0000
@@ -158,5 +158,12 @@
                                                  SeahorseRevokeReason reason,
                                                  const gchar *description);
 
+gpgme_error_t seahorse_key_op_photoid_add	(SeahorsePGPKey *pkey,
+											 gchar *filename);
                              							 
+gpgme_error_t seahorse_key_op_photoid_delete	(SeahorsePGPKey *pkey,
+												 const guint uid);
+
+gpgme_error_t seahorse_key_op_photoid_get_list  (SeahorsePGPKey *pkey);                         
+
 #endif /* __SEAHORSE_KEY_OP_H__ */
Index: src/seahorse-key-properties.glade
===================================================================
RCS file: /cvs/gnome/seahorse/src/seahorse-key-properties.glade,v
retrieving revision 1.6
diff -u -r1.6 seahorse-key-properties.glade
--- src/seahorse-key-properties.glade	23 Feb 2005 00:41:56 -0000	1.6
+++ src/seahorse-key-properties.glade	6 Aug 2005 22:57:48 -0000
@@ -16,6 +16,7 @@
   <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>
   <signal name="delete_event" handler="delete_event" last_modification_time="Sat, 08 Mar 2003 02:23:32 GMT"/>
 
   <child>
@@ -36,725 +37,1202 @@
 	  <property name="enable_popup">True</property>
 
 	  <child>
-	    <widget class="GtkVBox" id="vbox2">
-	      <property name="border_width">12</property>
+	    <widget class="GtkHBox" id="hbox9">
 	      <property name="visible">True</property>
 	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
+	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkTable" id="primary_table">
+		<widget class="GtkVBox" id="vbox4">
 		  <property name="visible">True</property>
-		  <property name="n_rows">9</property>
-		  <property name="n_columns">4</property>
 		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">0</property>
-		  <property name="column_spacing">12</property>
+		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkLabel" id="label_name">
+		    <widget class="GtkImage" id="photoid">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
+		      <property name="icon_name"></property>
+		      <property name="xalign">0.5</property>
 		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
+		      <property name="xpad">13</property>
 		      <property name="ypad">0</property>
 		    </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>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
 		    </packing>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label24">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Name:</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">10</property>
-		      <property name="ypad">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>
+		    <placeholder/>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label25">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Owner&lt;/b&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">0</property>
-		      <property name="ypad">6</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</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>
+		    <placeholder/>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label26">
+		    <widget class="GtkHButtonBox" id="hbuttonbox2">
+		      <property name="border_width">4</property>
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Email:</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">10</property>
-		      <property name="ypad">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>
+		      <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+		      <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_email">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </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>
+		      <child>
+			<widget class="GtkButton" id="photoid-prev">
+			  <property name="visible">True</property>
+			  <property name="sensitive">False</property>
+			  <property name="tooltip" translatable="yes">Go to previous Photo ID</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="photoid_prev_clicked" last_modification_time="Sat, 23 Jul 2005 20:11:17 GMT"/>
 
-		  <child>
-		    <widget class="GtkLabel" id="labelComment">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Comment:</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">10</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			  <child>
+			    <widget class="GtkAlignment" id="alignment9">
+			      <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="GtkLabel" id="label_comment">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox11">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label20">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Properties&lt;/b&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">0</property>
-		      <property name="ypad">6</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+				  <child>
+				    <widget class="GtkImage" id="image9">
+				      <property name="visible">True</property>
+				      <property name="stock">gtk-go-back</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="label30">
+				      <property name="visible">True</property>
+				      <property name="label">Previous Photo ID</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>
 
-		  <child>
-		    <widget class="GtkLabel" id="label23">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Key ID:</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">10</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkButton" id="photoid-next">
+			  <property name="visible">True</property>
+			  <property name="sensitive">False</property>
+			  <property name="tooltip" translatable="yes">Go to next Photo ID</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="photoid_next_clicked" last_modification_time="Sat, 23 Jul 2005 20:09:53 GMT"/>
 
-		  <child>
-		    <widget class="GtkLabel" id="keyid">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">True</property>
-		      <property name="selectable">True</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			  <child>
+			    <widget class="GtkAlignment" id="alignment10">
+			      <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="GtkLabel" id="label28">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Dates&lt;/b&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">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+			      <child>
+				<widget class="GtkHBox" id="hbox12">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label27">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Created:</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">10</property>
-		      <property name="ypad">0</property>
+				  <child>
+				    <widget class="GtkImage" id="image10">
+				      <property name="visible">True</property>
+				      <property name="stock">gtk-go-forward</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="label31">
+				      <property name="visible">True</property>
+				      <property name="label">Next Photo ID</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="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
 		    </packing>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label_expires">
+		    <widget class="GtkHButtonBox" id="hbuttonbox3">
+		      <property name="border_width">4</property>
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Expires:</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">10</property>
-		      <property name="ypad">0</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="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+		      <property name="spacing">0</property>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_created">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkButton" id="photoid-delete">
+			  <property name="visible">True</property>
+			  <property name="sensitive">False</property>
+			  <property name="tooltip" translatable="yes">Delete Current Visible Photo ID</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="photoid_delete_clicked" last_modification_time="Sat, 23 Jul 2005 20:11:41 GMT"/>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_expires">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
+			  <child>
+			    <widget class="GtkAlignment" id="alignment12">
+			      <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="hbox14">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
+
+				  <child>
+				    <widget class="GtkImage" id="image12">
+				      <property name="visible">True</property>
+				      <property name="stock">gtk-delete</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="label33">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">Delete Photo ID</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>
+
+		      <child>
+			<widget class="GtkButton" id="photoid-add">
+			  <property name="visible">True</property>
+			  <property name="tooltip" translatable="yes">Add new Photo ID</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="photoid_add_clicked" last_modification_time="Sat, 23 Jul 2005 20:11:58 GMT"/>
+
+			  <child>
+			    <widget class="GtkAlignment" id="alignment11">
+			      <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="hbox13">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
+
+				  <child>
+				    <widget class="GtkImage" id="image11">
+				      <property name="visible">True</property>
+				      <property name="stock">gtk-add</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="label32">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">Add Photo ID</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="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
+		      <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>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox2">
+		  <property name="border_width">12</property>
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">6</property>
 
 		  <child>
-		    <widget class="GtkLabel" id="label8">
+		    <widget class="GtkTable" id="primary_table">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;_Trust&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</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">6</property>
-		      <property name="mnemonic_widget">trust</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <property name="n_rows">9</property>
+		      <property name="n_columns">4</property>
+		      <property name="homogeneous">False</property>
+		      <property name="row_spacing">0</property>
+		      <property name="column_spacing">12</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label_name">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">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="label24">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Name:</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">10</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="GtkLabel" id="label25">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Owner&lt;/b&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">0</property>
+			  <property name="ypad">6</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">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="label26">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Email:</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">10</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="GtkLabel" id="label_email">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">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>
+
+		      <child>
+			<widget class="GtkLabel" id="labelComment">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Comment:</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">10</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">3</property>
+			  <property name="bottom_attach">4</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_comment">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label20">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Properties&lt;/b&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">0</property>
+			  <property name="ypad">6</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">2</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label23">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Key ID:</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">10</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">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="keyid">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">True</property>
+			  <property name="selectable">True</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.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">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label28">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Dates&lt;/b&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">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label27">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Created:</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">10</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">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="label_expires">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Expires:</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">10</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkOptionMenu" id="trust">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="history">0</property>
-		      <signal name="changed" handler="trust_changed" last_modification_time="Sat, 08 Mar 2003 02:36:28 GMT"/>
+		      <child>
+			<widget class="GtkLabel" id="label_created">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">3</property>
+			  <property name="right_attach">4</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="GtkMenu" id="menu1">
+			<widget class="GtkLabel" id="label_expires">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">3</property>
+			  <property name="right_attach">4</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="GtkMenuItem" id="unknown">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Owner is unknown</property>
-			      <property name="label" translatable="yes">Unknown</property>
-			      <property name="use_underline">True</property>
-			    </widget>
-			  </child>
+		      <child>
+			<widget class="GtkLabel" id="label8">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;_Trust&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</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">6</property>
+			  <property name="mnemonic_widget">trust</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-			  <child>
-			    <widget class="GtkMenuItem" id="never">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Never trust owner</property>
-			      <property name="label" translatable="yes">Never</property>
-			      <property name="use_underline">True</property>
-			    </widget>
-			  </child>
+		      <child>
+			<widget class="GtkOptionMenu" id="trust">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="history">0</property>
+			  <signal name="changed" handler="trust_changed" last_modification_time="Sat, 08 Mar 2003 02:36:28 GMT"/>
 
 			  <child>
-			    <widget class="GtkMenuItem" id="marginal">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Marginally trust owner</property>
-			      <property name="label" translatable="yes">Marginal</property>
-			      <property name="use_underline">True</property>
-			    </widget>
-			  </child>
+			    <widget class="GtkMenu" id="menu1">
 
-			  <child>
-			    <widget class="GtkMenuItem" id="full">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Fully trust owner</property>
-			      <property name="label" translatable="yes">Full</property>
-			      <property name="use_underline">True</property>
-			    </widget>
-			  </child>
+			      <child>
+				<widget class="GtkMenuItem" id="unknown">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Owner is unknown</property>
+				  <property name="label" translatable="yes">Unknown</property>
+				  <property name="use_underline">True</property>
+				</widget>
+			      </child>
 
-			  <child>
-			    <widget class="GtkMenuItem" id="ultimate">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Your personal key</property>
-			      <property name="label" translatable="yes">Ultimate</property>
-			      <property name="use_underline">True</property>
+			      <child>
+				<widget class="GtkMenuItem" id="never">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Never trust owner</property>
+				  <property name="label" translatable="yes">Never</property>
+				  <property name="use_underline">True</property>
+				</widget>
+			      </child>
+
+			      <child>
+				<widget class="GtkMenuItem" id="marginal">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Marginally trust owner</property>
+				  <property name="label" translatable="yes">Marginal</property>
+				  <property name="use_underline">True</property>
+				</widget>
+			      </child>
+
+			      <child>
+				<widget class="GtkMenuItem" id="full">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Fully trust owner</property>
+				  <property name="label" translatable="yes">Full</property>
+				  <property name="use_underline">True</property>
+				</widget>
+			      </child>
+
+			      <child>
+				<widget class="GtkMenuItem" id="ultimate">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">Your personal key</property>
+				  <property name="label" translatable="yes">Ultimate</property>
+				  <property name="use_underline">True</property>
+				</widget>
+			      </child>
 			    </widget>
 			  </child>
 			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
 		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
 
-		  <child>
-		    <widget class="GtkCheckButton" id="disabled">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Disabled keys cannot be used for operations</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Dis_abled</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="disabled_toggled" last_modification_time="Sat, 08 Mar 2003 02:37:04 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">5</property>
-		      <property name="bottom_attach">6</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkCheckButton" id="disabled">
+			  <property name="visible">True</property>
+			  <property name="tooltip" translatable="yes">Disabled keys cannot be used for operations</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes">Dis_abled</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			  <signal name="toggled" handler="disabled_toggled" last_modification_time="Sat, 08 Mar 2003 02:37:04 GMT"/>
+			</widget>
+			<packing>
+			  <property name="left_attach">3</property>
+			  <property name="right_attach">4</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label21">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Strength:</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">10</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">6</property>
-		      <property name="bottom_attach">7</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkLabel" id="label21">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Strength:</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">10</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">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_strength">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">6</property>
-		      <property name="bottom_attach">7</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkLabel" id="label_strength">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">4</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label22">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Type:</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">10</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">7</property>
-		      <property name="bottom_attach">8</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkLabel" id="label22">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Type:</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">10</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">7</property>
+			  <property name="bottom_attach">8</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label_type">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">7</property>
-		      <property name="bottom_attach">8</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkLabel" id="label_type">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">7</property>
+			  <property name="bottom_attach">8</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="label9">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Fingerprint:</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">10</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">8</property>
-		      <property name="bottom_attach">9</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
+		      <child>
+			<widget class="GtkLabel" id="label9">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Fingerprint:</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">10</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">8</property>
+			  <property name="bottom_attach">9</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-		  <child>
-		    <widget class="GtkLabel" id="fingerprint">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">True</property>
-		      <property name="selectable">True</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
+		      <child>
+			<widget class="GtkLabel" id="fingerprint">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">True</property>
+			  <property name="selectable">True</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.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">1</property>
+			  <property name="right_attach">4</property>
+			  <property name="top_attach">8</property>
+			  <property name="bottom_attach">9</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 		    </widget>
 		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">8</property>
-		      <property name="bottom_attach">9</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">False</property>
 		    </packing>
 		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox8">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkButton" id="passphrase">
-		      <property name="border_width">6</property>
+		    <widget class="GtkHBox" id="hbox8">
 		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="passphrase_clicked" last_modification_time="Wed, 13 Oct 2004 18:19:31 GMT"/>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
 
 		      <child>
-			<widget class="GtkAlignment" id="alignment7">
+			<widget class="GtkButton" id="passphrase">
+			  <property name="border_width">6</property>
 			  <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>
+			  <property name="sensitive">False</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="passphrase_clicked" last_modification_time="Wed, 13 Oct 2004 18:19:31 GMT"/>
 
 			  <child>
-			    <widget class="GtkHBox" id="hbox9">
+			    <widget class="GtkAlignment" id="alignment7">
 			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">2</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="GtkImage" id="image7">
+				<widget class="GtkHBox" id="hbox9">
 				  <property name="visible">True</property>
-				  <property name="stock">gnome-stock-authentication</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>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
 
-			      <child>
-				<widget class="GtkLabel" id="label19">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Change _Passphrase</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>
+				  <child>
+				    <widget class="GtkImage" id="image7">
+				      <property name="visible">True</property>
+				      <property name="stock">gnome-stock-authentication</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="label19">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">Change _Passphrase</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>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
 			      </child>
 			    </widget>
 			  </child>
 			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
 		      </child>
 		    </widget>
 		    <packing>
@@ -823,6 +1301,10 @@
 				  <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>
@@ -844,8 +1326,8 @@
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
 		</packing>
 	      </child>
 	    </widget>
@@ -868,6 +1350,10 @@
 	      <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">tab</property>
@@ -900,6 +1386,10 @@
 		      <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>
@@ -965,6 +1455,10 @@
 				  <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>
@@ -1041,6 +1535,10 @@
 				  <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>
@@ -1117,6 +1615,10 @@
 				  <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>
@@ -1193,6 +1695,10 @@
 				  <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>
@@ -1236,6 +1742,9 @@
 		      <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>
 		    </widget>
 		  </child>
 		</widget>
@@ -1265,6 +1774,10 @@
 	      <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">tab</property>
@@ -1295,6 +1808,10 @@
 		  <property name="xpad">0</property>
 		  <property name="ypad">0</property>
 		  <property name="mnemonic_widget">sigs</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>
@@ -1323,6 +1840,9 @@
 		      <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>
 		    </widget>
 		  </child>
 		</widget>
@@ -1398,6 +1918,10 @@
 				  <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>
@@ -1439,6 +1963,8 @@
 		<widget class="GtkComboBox" id="sigs">
 		  <property name="visible">True</property>
 		  <property name="items" translatable="yes">All</property>
+		  <property name="add_tearoffs">False</property>
+		  <property name="focus_on_click">True</property>
 		  <signal name="changed" handler="sigs_changed" last_modification_time="Tue, 12 Oct 2004 23:24:12 GMT"/>
 		</widget>
 		<packing>
@@ -1470,6 +1996,10 @@
 	      <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">tab</property>
