seahorse r2182 - in plugins/trunk: . agent daemon data help/ru libseahorse pixmaps/22x22 pixmaps/48x48 plugins/applet plugins/applet/docs/ru plugins/epiphany/mozilla plugins/nautilus po



Author: nnielsen
Date: Thu Apr 17 23:36:03 2008
New Revision: 2182
URL: http://svn.gnome.org/viewvc/seahorse?rev=2182&view=rev

Log:
    * Split seahorse-plugins from seahorse, and 
    remove unneeded code.



Removed:
   plugins/trunk/daemon/
   plugins/trunk/libseahorse/seahorse-add-keyring.glade
   plugins/trunk/libseahorse/seahorse-add-keyserver.glade
   plugins/trunk/libseahorse/seahorse-combo-keys.c
   plugins/trunk/libseahorse/seahorse-combo-keys.h
   plugins/trunk/libseahorse/seahorse-context.c
   plugins/trunk/libseahorse/seahorse-context.h
   plugins/trunk/libseahorse/seahorse-dns-sd.c
   plugins/trunk/libseahorse/seahorse-dns-sd.h
   plugins/trunk/libseahorse/seahorse-hkp-source.c
   plugins/trunk/libseahorse/seahorse-hkp-source.h
   plugins/trunk/libseahorse/seahorse-key-model.c
   plugins/trunk/libseahorse/seahorse-key-model.h
   plugins/trunk/libseahorse/seahorse-key-source.c
   plugins/trunk/libseahorse/seahorse-key-source.h
   plugins/trunk/libseahorse/seahorse-key.c
   plugins/trunk/libseahorse/seahorse-key.h
   plugins/trunk/libseahorse/seahorse-keyserver-control.c
   plugins/trunk/libseahorse/seahorse-keyserver-control.h
   plugins/trunk/libseahorse/seahorse-keyset.c
   plugins/trunk/libseahorse/seahorse-keyset.h
   plugins/trunk/libseahorse/seahorse-ldap-source.c
   plugins/trunk/libseahorse/seahorse-ldap-source.h
   plugins/trunk/libseahorse/seahorse-pgp-key-op.c
   plugins/trunk/libseahorse/seahorse-pgp-key-op.h
   plugins/trunk/libseahorse/seahorse-pgp-key.c
   plugins/trunk/libseahorse/seahorse-pgp-key.h
   plugins/trunk/libseahorse/seahorse-pgp-source.c
   plugins/trunk/libseahorse/seahorse-pgp-source.h
   plugins/trunk/libseahorse/seahorse-prefs-keyrings.c
   plugins/trunk/libseahorse/seahorse-server-source.c
   plugins/trunk/libseahorse/seahorse-server-source.h
   plugins/trunk/libseahorse/seahorse-signer.c
   plugins/trunk/libseahorse/seahorse-signer.glade
   plugins/trunk/libseahorse/seahorse-ssh-askpass.c
   plugins/trunk/libseahorse/seahorse-ssh-key-data.c
   plugins/trunk/libseahorse/seahorse-ssh-key-data.h
   plugins/trunk/libseahorse/seahorse-ssh-key.c
   plugins/trunk/libseahorse/seahorse-ssh-key.h
   plugins/trunk/libseahorse/seahorse-ssh-operation.c
   plugins/trunk/libseahorse/seahorse-ssh-operation.h
   plugins/trunk/libseahorse/seahorse-ssh-source.c
   plugins/trunk/libseahorse/seahorse-ssh-source.h
   plugins/trunk/libseahorse/seahorse-transfer-operation.c
   plugins/trunk/libseahorse/seahorse-transfer-operation.h
   plugins/trunk/libseahorse/seahorse-unknown-key.c
   plugins/trunk/libseahorse/seahorse-unknown-key.h
   plugins/trunk/libseahorse/seahorse-unknown-source.c
   plugins/trunk/libseahorse/seahorse-unknown-source.h
   plugins/trunk/pixmaps/22x22/seahorse-key-ssh.png
   plugins/trunk/pixmaps/22x22/seahorse-key-ssh.svg
   plugins/trunk/pixmaps/22x22/seahorse-person.png
   plugins/trunk/pixmaps/22x22/seahorse-person.svg
   plugins/trunk/pixmaps/22x22/seahorse-share-keys.png
   plugins/trunk/pixmaps/22x22/seahorse-share-keys.svg
   plugins/trunk/pixmaps/48x48/seahorse-key-ssh.png
   plugins/trunk/pixmaps/48x48/seahorse-person.png
   plugins/trunk/pixmaps/48x48/seahorse-share-keys.png
Modified:
   plugins/trunk/ChangeLog
   plugins/trunk/INSTALL
   plugins/trunk/Makefile.am
   plugins/trunk/agent/seahorse-agent-cache.c
   plugins/trunk/agent/seahorse-agent-main.c
   plugins/trunk/agent/seahorse-agent-status.c
   plugins/trunk/agent/seahorse-agent.c
   plugins/trunk/agent/seahorse-agent.h
   plugins/trunk/configure.in
   plugins/trunk/data/seahorse.schemas.in
   plugins/trunk/help/ru/   (props changed)
   plugins/trunk/libseahorse/Makefile.am
   plugins/trunk/libseahorse/seahorse-gpg-options.c
   plugins/trunk/libseahorse/seahorse-gtkstock.c
   plugins/trunk/libseahorse/seahorse-gtkstock.h
   plugins/trunk/libseahorse/seahorse-libdialogs.h
   plugins/trunk/libseahorse/seahorse-notification.c
   plugins/trunk/libseahorse/seahorse-operation.c
   plugins/trunk/libseahorse/seahorse-operation.h
   plugins/trunk/libseahorse/seahorse-passphrase.c
   plugins/trunk/libseahorse/seahorse-passphrase.h
   plugins/trunk/libseahorse/seahorse-pgp-operation.c
   plugins/trunk/libseahorse/seahorse-prefs-cache.c
   plugins/trunk/libseahorse/seahorse-prefs.c
   plugins/trunk/libseahorse/seahorse-prefs.glade
   plugins/trunk/libseahorse/seahorse-prefs.h
   plugins/trunk/libseahorse/seahorse-progress.h
   plugins/trunk/libseahorse/seahorse-util.c
   plugins/trunk/libseahorse/seahorse-util.h
   plugins/trunk/libseahorse/seahorse-validity.c
   plugins/trunk/libseahorse/seahorse-vfs-data.c
   plugins/trunk/libseahorse/seahorse-widget.c
   plugins/trunk/libseahorse/seahorse-widget.h
   plugins/trunk/pixmaps/22x22/Makefile.am
   plugins/trunk/pixmaps/48x48/Makefile.am
   plugins/trunk/plugins/applet/docs/ru/   (props changed)
   plugins/trunk/plugins/applet/seahorse-applet.c
   plugins/trunk/plugins/epiphany/mozilla/   (props changed)
   plugins/trunk/plugins/nautilus/seahorse-pgp-preferences.c
   plugins/trunk/plugins/nautilus/seahorse-tool-files.c
   plugins/trunk/plugins/nautilus/seahorse-tool-progress.c
   plugins/trunk/plugins/nautilus/seahorse-tool.c
   plugins/trunk/po/ChangeLog
   plugins/trunk/po/POTFILES.in

Modified: plugins/trunk/INSTALL
==============================================================================
--- plugins/trunk/INSTALL	(original)
+++ plugins/trunk/INSTALL	Thu Apr 17 23:36:03 2008
@@ -1,3 +1,49 @@
+--------------------------------------------------------------------------------
+                      SEAHORSE-PLUGINS INSTALLATION
+--------------------------------------------------------------------------------
+
+Version 2.23.x
+
+Required Dependencies
+=====================
+
+   Make sure you have the following installed before you try and install 
+Seahorse. You may need to install 'devel' or 'dev' versions of these packages
+if your distro requires this.
+
+ - GTK 2.10 (or a later 2.x version)
+ - DBUS 0.35 (or later)
+ - GPGME 1.x 
+ - GnuPG 1.2.x or 1.4.x 
+ - libgnome 2.14 (or later)
+ - libglade 2.x 
+ - GConf 2.x 
+ - GnomeVFS 2.x
+ - gnome-keyring 2.19.4 (or later)
+
+Optional Dependencies
+=====================
+
+   These are not required for a basic install of Seahorse, but additional 
+features will be enabled if these are present on your system. Again you may need
+to install 'devel' or 'dev' versions of these packages if your distro requires.
+
+ - OpenLDAP 2.x (client libraries) 
+ - Gedit 2.6 (or later 2.x version) 
+ - libnautilus-extension 2.9 (or a later 2.x version)
+ - gnome-keyring
+ - libsoup 2.4
+ - libpanelapplet
+ - Avahi 0.6 (or later)
+ - libnotify 0.3 (or later)
+ - OpenSSH 
+ - Gecko (from Firefox 1.5 or later)
+ - Epiphany 2.14 (or later)
+ 
+A summary of which features are enabled will be displayed after you run 
+'./configure' (see below).
+
+
 Installation Instructions
 *************************
 

Modified: plugins/trunk/Makefile.am
==============================================================================
--- plugins/trunk/Makefile.am	(original)
+++ plugins/trunk/Makefile.am	Thu Apr 17 23:36:03 2008
@@ -15,8 +15,7 @@
           help \
           pixmaps \
           plugins \
-          $(AGENT_DIR) \
-          daemon 
+          $(AGENT_DIR)
 
 EXTRA_DIST = \
     AUTHORS \
@@ -30,7 +29,6 @@
     NEWS \
     README \
     THANKS \
-    TODO \
     intltool-extract.in \
     intltool-merge.in \
     intltool-update.in \

Modified: plugins/trunk/agent/seahorse-agent-cache.c
==============================================================================
--- plugins/trunk/agent/seahorse-agent-cache.c	(original)
+++ plugins/trunk/agent/seahorse-agent-cache.c	Thu Apr 17 23:36:03 2008
@@ -33,10 +33,6 @@
 #include "seahorse-gconf.h"
 #include "seahorse-gpgmex.h"
 #include "seahorse-agent.h"
-#include "seahorse-key-source.h"
-#include "seahorse-pgp-key.h"
-#include "seahorse-context.h"
-#include "seahorse-unknown-source.h"
 
 /* -----------------------------------------------------------------------------
  * INTERNAL PASSWORD CACHE
@@ -83,6 +79,7 @@
 static GMemChunk *g_memory = NULL;      /* Memory for sa_cache_t's */
 static guint g_notify_id = 0;           /* gconf notify id */
 static guint g_timeout_id = 0;          /* timeout of next expire */
+static gpgme_ctx_t g_gpgme_ctx = NULL;  /* GPGME context */
 
 gboolean seahorse_agent_cache_check (gpointer);
 
@@ -244,7 +241,13 @@
 
         err = gpgme_engine_check_version (proto);
         g_return_if_fail (GPG_IS_OK (err));
+        
+        err = gpgme_new (&g_gpgme_ctx);
+        g_return_if_fail (GPG_IS_OK (err));
        
+        err = gpgme_set_protocol (g_gpgme_ctx, proto);
+        g_return_if_fail (GPG_IS_OK (err));
+        
         /* Listen for changes on the AUTH key */
         g_notify_id = seahorse_gconf_notify (SETTING_AUTH, gconf_notify, NULL);
     }
@@ -274,6 +277,11 @@
         g_source_remove (g_timeout_id);
         g_timeout_id = 0;
     }
+    
+    if (g_gpgme_ctx) {
+        gpgme_release (g_gpgme_ctx);
+        g_gpgme_ctx = NULL;
+    }
 }
 
 /* Retrieve a password from the cache */
@@ -432,39 +440,57 @@
     return g_hash_table_size (g_cache);
 }
 
-static void 
-build_key_list (gpointer key, gpointer value, GList **keys)
+static gchar*
+extract_key_name (gpgme_key_t key)
 {
-    sa_cache_t *it = (sa_cache_t*)value;
-    SeahorseKeySource *sksrc;
-    SeahorseKey *skey;
-    GQuark keyid;
-    
-    keyid = seahorse_pgp_key_get_cannonical_id (it->id);
-    g_return_if_fail (keyid);
-
-    skey = seahorse_context_find_key (SCTX_APP (), keyid, SKEY_LOC_LOCAL);
-    if (!skey) {
-        sksrc = seahorse_context_find_key_source (SCTX_APP (), SKEY_PGP, SKEY_LOC_UNKNOWN);
-        g_return_if_fail (sksrc != NULL);
-        skey = seahorse_unknown_source_add_key (SEAHORSE_UNKNOWN_SOURCE (sksrc), keyid, NULL);
+    gchar *ret;
+    
+    g_return_val_if_fail (key && key->uids && key->uids->uid, g_strdup (""));
+    
+    /* If not utf8 valid, assume latin 1 */
+    if (g_utf8_validate (key->uids->uid, -1, NULL))
+        return g_strdup (key->uids->uid);
+    
+    return g_convert (key->uids->uid, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
+}
+
+static gchar*
+build_key_name (const gchar *id)
+{
+    gpgme_error_t gerr;
+    gpgme_key_t key;
+    gchar *ret;
+    
+    g_return_if_fail (g_gpgme_ctx);
+	    
+    gerr = gpgme_get_key (g_gpgme_ctx, id, &key, 1);
+    if (!GPG_IS_OK (gerr)) {
+        ret = g_strdup ("");
+    } else {
+        ret = extract_key_name (key);
+        gpgme_key_release (key);
     }
     
-    if (skey) 
-        *keys = g_list_prepend (*keys, skey);
+    return ret;
+}
+
+static void 
+build_key_list (gpointer key, gpointer value, GList **names)
+{
+    sa_cache_t *it = (sa_cache_t*)value;
+    *names = g_list_prepend (*names, build_key_name (it->id));
 }
 
 /* Get list of all SeahorseKey's cached */
 GList* 
-seahorse_agent_cache_get_keys ()
+seahorse_agent_cache_get_key_names ()
 {
-    GList *keys = NULL;
+    GList *names = NULL;
     g_assert (g_cache != NULL);
-    g_hash_table_foreach (g_cache, (GHFunc)build_key_list, &keys);
-    return keys;
+    g_hash_table_foreach (g_cache, (GHFunc)build_key_list, &names);
+    return names;
 }
 
-
 /* -----------------------------------------------------------------------------
  * GENERIC CACHE FUNCTIONS
  */
@@ -512,17 +538,11 @@
         GnomeKeyringAttributeList *attributes = NULL;
         guint item_id;
         gchar *desc = NULL, *name;
-        SeahorseKey *skey;
         GQuark keyid;
-        
-        keyid = seahorse_pgp_key_get_cannonical_id (id);
-        skey = seahorse_context_find_key (SCTX_APP (), keyid, SKEY_LOC_LOCAL);
-        
-        if (skey) {
-            name = seahorse_key_get_display_name (skey);
-            desc = g_strdup_printf (_("PGP Key: %s"), name);
-            g_free (name);
-        }
+
+        name = build_key_name (id);
+        desc = g_strdup_printf (_("PGP Key: %s"), name);
+        g_free (name);
         
         attributes = gnome_keyring_attribute_list_new ();
         gnome_keyring_attribute_list_append_string (attributes, KEYRING_ATTR_TYPE, 

Modified: plugins/trunk/agent/seahorse-agent-main.c
==============================================================================
--- plugins/trunk/agent/seahorse-agent-main.c	(original)
+++ plugins/trunk/agent/seahorse-agent-main.c	Thu Apr 17 23:36:03 2008
@@ -33,7 +33,7 @@
 #include <gnome.h>
 
 #include "config.h"
-#include "seahorse-context.h"
+#include "seahorse-operation.h"
 #include "seahorse-gtkstock.h"
 #include "seahorse-gconf.h"
 #include "seahorse-agent.h"
@@ -257,11 +257,6 @@
     /* Insert Icons into Stock */
     seahorse_gtkstock_init ();
     
-    /* Make the default SeahorseContext */
-    seahorse_context_new (SEAHORSE_CONTEXT_APP | SEAHORSE_CONTEXT_DAEMON, 0);
-    op = seahorse_context_load_local_keys (SCTX_APP ());
-    g_object_unref (op);
-    
     if (!seahorse_agent_init ())
         seahorse_agent_uninit ();
     
@@ -274,8 +269,6 @@
 
     /* And now clean them all up */
     seahorse_agent_uninit ();
-    
-    seahorse_context_destroy (SCTX_APP ());
 
     return 0;
 }

Modified: plugins/trunk/agent/seahorse-agent-status.c
==============================================================================
--- plugins/trunk/agent/seahorse-agent-status.c	(original)
+++ plugins/trunk/agent/seahorse-agent-status.c	Thu Apr 17 23:36:03 2008
@@ -27,9 +27,8 @@
 #include <gnome.h>
 #include <glade/glade-xml.h>
 
-#include "seahorse-pgp-key.h"
 #include "seahorse-agent.h"
-#include "seahorse-context.h"
+#include "seahorse-gtkstock.h"
 #include "seahorse-gconf.h"
 #include "seahorse-widget.h"
 #include "seahorse-util.h"
@@ -93,27 +92,25 @@
 
 /* Add a row to the tree for a given password */
 static void
-add_keys_to_store (GtkTreeStore *store, GList *keys)
+add_keys_to_store (GtkTreeStore *store, GList *names)
 {
-    GList *k;
+    GList *l;
     GtkTreeIter iter;
-    gchar *userid;
     
-    for (k = keys; k; k = g_list_next (k)) {
+    for (l = names; l; l = g_list_next (l)) {
         
         /* Add a new row to the model */
         gtk_tree_store_append (store, &iter, NULL);
         
-        userid = seahorse_key_get_display_name (SEAHORSE_KEY (k->data));
         gtk_tree_store_set (store, &iter, 
-                    UID_COLUMN, userid,
-                    ICON_COLUMN, seahorse_key_get_stock_id (SEAHORSE_KEY (k->data)),
+                    UID_COLUMN, l->data,
+                    ICON_COLUMN, SEAHORSE_STOCK_SECRET,
                     -1);
         
-        g_free (userid);
+        g_free (l->data);
     }
     
-    g_list_free (keys);
+    g_list_free (names);
 }
 
 /* Called when the cache changes and window is open */
@@ -154,7 +151,7 @@
     }
     
     /* The keys from the PGP cache */
-    add_keys_to_store (store, seahorse_agent_cache_get_keys ());
+    add_keys_to_store (store, seahorse_agent_cache_get_key_names ());
 }
 
 /* Display the status window */

Modified: plugins/trunk/agent/seahorse-agent.c
==============================================================================
--- plugins/trunk/agent/seahorse-agent.c	(original)
+++ plugins/trunk/agent/seahorse-agent.c	Thu Apr 17 23:36:03 2008
@@ -37,7 +37,6 @@
 #include "seahorse-agent.h"
 #include "seahorse-gpg-options.h"
 #include "seahorse-passphrase.h"
-#include "seahorse-pgp-key.h"
 
 gboolean seahorse_agent_cshell = FALSE;
 gboolean seahorse_agent_execvars = FALSE;
@@ -80,7 +79,7 @@
 seahorse_agent_prefork ()
 {
     /* Detect and see if there's an agent */
-    switch (seahorse_passphrase_detect_agent (SKEY_PGP)) {
+    switch (seahorse_passphrase_detect_agent ()) {
     case SEAHORSE_AGENT_NONE:
         break;
     default:

Modified: plugins/trunk/agent/seahorse-agent.h
==============================================================================
--- plugins/trunk/agent/seahorse-agent.h	(original)
+++ plugins/trunk/agent/seahorse-agent.h	Thu Apr 17 23:36:03 2008
@@ -111,7 +111,7 @@
 void seahorse_agent_cache_clear (const gchar *id);
 void seahorse_agent_cache_clearall ();
 guint seahorse_agent_cache_count ();
-GList* seahorse_agent_cache_get_keys ();
+GList* seahorse_agent_cache_get_key_names ();
 
 /* -----------------------------------------------------------------------------
  * seahorse-agent-prompt.c

Modified: plugins/trunk/configure.in
==============================================================================
--- plugins/trunk/configure.in	(original)
+++ plugins/trunk/configure.in	Thu Apr 17 23:36:03 2008
@@ -20,7 +20,7 @@
 
 dnl ****************************************************************************
 
-AC_CONFIG_SRCDIR(daemon/seahorse-daemon.c)
+AC_CONFIG_SRCDIR(libseahorse/seahorse-util.c)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 AM_CONFIG_HEADER(config.h)
 AM_MAINTAINER_MODE
@@ -41,7 +41,7 @@
 
 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
-PKG_CHECK_MODULES(SEAHORSE, libgnome-2.0 >= 2.14 libgnomeui-2.0 
+PKG_CHECK_MODULES(SEAHORSE, libgnome-2.0 >= 2.14 libgnomeui-2.0
                   libglade-2.0 gconf-2.0 gtk+-2.0 >= 2.10.0 gnome-vfs-2.0)
 
 AC_MSG_CHECKING([for some Win32 platform])
@@ -161,124 +161,6 @@
 
 
 dnl ***************
-dnl LDAP [from gpg]
-dnl ***************
-
-AC_MSG_CHECKING([LDAP keyserver support])
-AC_ARG_ENABLE(ldap,
-[  --disable-ldap          disable LDAP keyserver interface],
-    try_ldap=$enableval, try_ldap=yes)
-AC_MSG_RESULT($try_ldap)
-with_ldap=no
-
-dnl Must check for network library requirements before doing link tests
-dnl for ldap, for example. If ldap libs are static (or dynamic and without
-dnl ELF runtime link paths), then link will fail and LDAP support won't
-dnl be detected.
-
-AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname,
-	[NETLIBS="-lnsl $NETLIBS"]))
-AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt,
-	[NETLIBS="-lsocket $NETLIBS"]))
-	
-dnl Try and link a LDAP test program to weed out unusable LDAP
-dnl libraries.  -lldap [-llber [-lresolv]] is for OpenLDAP.  OpenLDAP in
-dnl general is terrible with creating weird dependencies.  If all else
-dnl fails, the user can play guess-the-dependency by using something
-dnl like LDAP_LIBS="-lfoo" ./configure
-
-if test "$try_ldap" = yes ; then
-  for MY_LDAPLIBS in ${LDAP_LIBS+"$LDAP_LIBS"} "-lldap" "-lldap -llber" "-lldap -llber -lresolv"; do
-    _ldap_save_libs=$LIBS
-    LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
-
-    AC_MSG_CHECKING([whether LDAP via \"$MY_LDAPLIBS\" is present and sane])
-    AC_TRY_LINK([#include <ldap.h>],[ldap_open("foobar",1234);],
-                [cv_func_ldap_init=yes],[cv_func_ldap_init=no])
-    AC_MSG_RESULT([$cv_func_ldap_init])
-
-    if test $cv_func_ldap_init = no; then
-      AC_MSG_CHECKING([whether I can make LDAP be sane with lber.h])
-      AC_TRY_LINK([#include <lber.h>
-#include <ldap.h>],[ldap_open("foobar",1234);],
-         [cv_func_ldaplber_init=yes],[cv_func_ldaplber_init=no])
-      AC_MSG_RESULT([$cv_func_ldaplber_init])
-    fi
-
-    if test "$cv_func_ldaplber_init" = yes ; then
-       AC_DEFINE(NEED_LBER_H,1,[Define if the LDAP library requires including lber.h before ldap.h])
-    fi
-
-    if test "$cv_func_ldap_init" = yes || \
-  	test "$cv_func_ldaplber_init" = yes ; then
-       LDAP_LIBS=$MY_LDAPLIBS
-    fi
-
-    LIBS=$_ldap_save_libs
-
-    if test "$LDAP_LIBS" != ""; then 
-    	with_keyserver=yes
-        with_ldap=yes
-		AC_DEFINE(WITH_LDAP, 1, [Support for LDAP operations])
-    	break
-    fi
-  done
-fi	
-
-AM_CONDITIONAL(WITH_LDAP, test "$with_ldap" = "yes")
-SEAHORSE_LIBS="$SEAHORSE_LIBS $LDAP_LIBS"
-
-
-dnl ****************************************************************************
-dnl HKP (libsoup)
-dnl ****************************************************************************
-
-# Allow hkp to be disabled 
-AC_ARG_ENABLE(hkp,
-        AC_HELP_STRING([--disable-hkp],
-        [disable HKP keyserver interface]))
-
-# HKP tests 
-if test "$enable_hkp" = "no"; then
-    echo "disabling HKP keyserver interface"
-else
-    
-    echo "checking for supported versions of libsoup..."
-
-    PKG_CHECK_MODULES(SOUP, libsoup-2.4, 
-        [enable_hkp=yes],  
-        [enable_hkp=no])
-
-    if test "$enable_hkp" = yes; then
-        with_keyserver=yes
-        
-        AC_DEFINE(WITH_HKP, 1, [Support for HKP operations])
-        SEAHORSE_LIBS="$SEAHORSE_LIBS $SOUP_LIBS"
-        SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $SOUP_CFLAGS"
-        
-        # libsoup is also used for async lookups
-        AC_DEFINE(WITH_SOUP, 1, [With libsoup])
-    fi
-fi
-
-AM_CONDITIONAL(WITH_HKP, test "$enable_hkp" = "yes")
-
-
-dnl ***************
-dnl KEYSERVER
-dnl ***************
-
-AM_CONDITIONAL(WITH_KEYSERVER, test "$with_keyserver" = "yes")
-
-if test "$with_keyserver" = "yes"; then
-	echo "enabling key server support"
-	AC_DEFINE(WITH_KEYSERVER, 1, [Support for key server actions])
-else
-    with_keyserver=no
-	echo "disabling key server support"
-fi
-
-dnl ***************
 dnl NAUTILUS
 dnl ***************
 
@@ -370,43 +252,6 @@
 SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GNOME_KEYRING_CFLAGS"
 SEAHORSE_LIBS="$SEAHORSE_LIBS $GNOME_KEYRING_LIBS"
         
-
-dnl *******************
-dnl KEY SHARING 
-dnl *******************
-
-AVAHI_GLIB_REQUIRED=0.6
-
-# Allow sharing to be disabled
-AC_ARG_ENABLE(sharing, 
-        AC_HELP_STRING([--disable-sharing],
-        [Don't compile in DNS-SD key sharing]))
-
-if test "$enable_hkp" != "yes"; then
-    echo "DNS-SD key sharing requires HKP support"
-    enable_sharing=no
-fi
-
-if test "$enable_sharing" = "no"; then
-    echo "disabling DNS-SD key sharing"
-else
-
-    PKG_CHECK_MODULES(SHARING, avahi-client avahi-glib >= $AVAHI_GLIB_REQUIRED, 
-        [enable_sharing=yes],  
-        [enable_sharing=no])
-		
-	if test "$enable_sharing" = "yes"; then
-		echo "enabling key sharing"
-		
-		AC_DEFINE_UNQUOTED(WITH_SHARING, 1, [Compile bonjour key sharing code])
-		SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $SHARING_CFLAGS"
-		SEAHORSE_LIBS="$SEAHORSE_LIBS $SHARING_LIBS"
-    fi
-fi
-
-AM_CONDITIONAL(WITH_SHARING, test "$enable_sharing" = "yes")
-
-
 dnl ****************************************************************************
 dnl DBUS
 dnl ****************************************************************************
@@ -743,33 +588,6 @@
     fi
 fi
 
-dnl ****************************************************************************
-dnl  SSH 
-dnl ****************************************************************************
-
-AC_ARG_ENABLE(ssh,
-        AC_HELP_STRING([--disable-ssh], 
-        [Support for managing SSH keys]))
-        
-if test "x$enable_ssh" = "xno"; then
-    echo "disabling ssh support"
-else
-
-    AC_PATH_PROG(SSH_KEYGEN_PATH, ssh-keygen, "failed")
-    AC_PATH_PROG(SSH_PATH, ssh, "failed")
-    
-    if test $SSH_KEYGEN_PATH != "failed" && 
-       test $SSH_PATH != "failed"; then
-        enable_ssh="yes"
-        AC_DEFINE(WITH_SSH, 1, [With SSH Support])
-        AC_DEFINE_UNQUOTED(SSH_KEYGEN_PATH, "$SSH_KEYGEN_PATH", [Path to ssh-keygen])
-        AC_DEFINE_UNQUOTED(SSH_PATH, "$SSH_PATH", [Path to ssh])
-    fi
-    
-fi
-
-AM_CONDITIONAL(WITH_SSH, test "$enable_ssh" == "yes")
-
 dnl ==============================================
 dnl libebook
 dnl ==============================================
@@ -860,7 +678,6 @@
 pixmaps/48x48/Makefile
 pixmaps/scalable/Makefile
 agent/Makefile
-daemon/Makefile
 plugins/Makefile
 plugins/applet/Makefile
 plugins/applet/docs/Makefile
@@ -878,15 +695,10 @@
 echo "
 GnuPG Version:           $gnupg_version
 GPGME Version:           $gpgme_config_version
-SSH Support:             $enable_ssh
-Keyserver Support:       $with_keyserver
-  LDAP:                  $with_ldap
-  HKP:                   $enable_hkp
 Plugins:
   Epiphany:              $with_epiphany_plugin    
   GEdit (v <= 2.12):     $with_gedit_bonobo
   GEdit (v >= 2.14):     $with_gedit_plugin
-  Key Sharing:           $enable_sharing
   Panel Applet:          $with_panel_applet
   Nautilus:              $with_nautilus_ext
   Seahorse Agent:        $enable_agent

Modified: plugins/trunk/data/seahorse.schemas.in
==============================================================================
--- plugins/trunk/data/seahorse.schemas.in	(original)
+++ plugins/trunk/data/seahorse.schemas.in	Thu Apr 17 23:36:03 2008
@@ -112,20 +112,6 @@
             </locale>
         </schema>
     </schemalist>
-    <schemalist>
-        <schema>
-			<key>/schemas/apps/seahorse/sharing/sharing_enabled</key>
-			<applyto>/apps/seahorse/sharing/sharing_enabled</applyto>
-			<owner>seahorse</owner>
-			<type>bool</type>
-			<default>FALSE</default>
-			<locale name="C">
-				<short>Enable DNS-SD sharing</short>
-                <long>Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon 
-                must be running and must be built with HKP and DNS-SD support.</long>
-			</locale>
-		</schema>
-    </schemalist>
 	<schemalist>
 		<schema>
 			<key>/schemas/desktop/pgp/ascii_armor</key>
@@ -175,64 +161,6 @@
                 <long>The ID of the last secret key used to sign a message.</long>
             </locale>
         </schema>
-		<schema>
-			<key>/schemas/apps/seahorse/listing/show_validity</key>
-			<applyto>/apps/seahorse/listing/show_validity</applyto>
-			<owner>seahorse</owner>
-			<type>bool</type>
-			<default>TRUE</default>
-			<locale name="C">
-				<short>Show validity column in key manager</short>
-				<long>Controls the visibility of the validity column for the key manager.</long>
-			</locale>
-		</schema>
-		<schema>
-			<key>/schemas/apps/seahorse/listing/show_expires</key>
-			<applyto>/apps/seahorse/listing/show_expires</applyto>
-			<owner>seahorse</owner>
-			<type>bool</type>
-			<default>FALSE</default>
-			<locale name="C">
-				<short>Show expires column in key manager</short>
-				<long>Controls the visibility of the expires column for the key manager.</long>
-			</locale>
-		</schema>
-		<schema>
-			<key>/schemas/apps/seahorse/listing/show_trust</key>
-			<applyto>/apps/seahorse/listing/show_trust</applyto>
-			<owner>seahorse</owner>
-			<type>bool</type>
-			<default>FALSE</default>
-			<locale name="C">
-				<short>Show trust column in key manager</short>
-				<long>Controls the visibility of the trust column for the key manager.</long>
-			</locale>
-		</schema>
-		<schema>
-			<key>/schemas/apps/seahorse/listing/show_type</key>
-			<applyto>/apps/seahorse/listing/show_type</applyto>
-			<owner>seahorse</owner>
-			<type>bool</type>
-			<default>FALSE</default>
-			<locale name="C">
-				<short>Show type column in key manager</short>
-				<long>Controls the visibility of the type column for the key manager.</long>
-			</locale>
-		</schema>
-		<schema>
-			<key>/schemas/apps/seahorse/listing/sort_by</key>
-			<applyto>/apps/seahorse/listing/sort_by</applyto>
-			<owner>seahorse</owner>
-			<type>string</type>
-			<default>name</default>
-			<locale name="C">
-				<short>The column to sort the seahorse keys by</short>
-				<long>Specify the column to sort the seahorse key manager main
-				window by. Columns are: 'name', 'id', 'validity', 'expires', 
-				'trust', and 'type'. Put a '-' in front of the column name to 
-                sort in descending order.</long>
-			</locale>
-		</schema>
         <schema>
             <key>/schemas/desktop/pgp/recipients/sort_by</key>
             <applyto>/desktop/pgp/recipients/sort_by</applyto>
@@ -260,65 +188,5 @@
 				space and then the name.</long>
 			</locale>
 		</schema>
-        <schema>
-            <key>/schemas/desktop/pgp/keyservers/auto_retrieve</key>
-            <applyto>/desktop/pgp/keyservers/auto_retrieve</applyto>
-            <owner>seahorse</owner>
-            <type>bool</type>
-            <default>false</default>
-            <locale name="C">
-                <short>Auto Retrieve Keys</short>
-                <long>Whether or not keys should be automatically retrieved from key 
-                servers.</long>
-            </locale>
-        </schema>
-        <schema>
-            <key>/schemas/desktop/pgp/keyservers/auto_sync</key>
-            <applyto>/desktop/pgp/keyservers/auto_sync</applyto>
-            <owner>seahorse</owner>
-            <type>bool</type>
-            <default>false</default>
-            <locale name="C">
-                <short>Auto Sync Keys</short>
-                <long>Whether or not modified keys should be automatically synced with the default
-                key server.</long>
-            </locale>
-        </schema>
-		<schema>
-			<key>/schemas/desktop/pgp/keyservers/publish_to</key>
-			<applyto>/desktop/pgp/keyservers/publish_to</applyto>
-			<owner>seahorse</owner>
-			<type>string</type>
-			<default></default>
-			<locale name="C">
-				<short>Publish keys to this key server.</short>
-				<long>The key server to publish PGP keys to. Or empty to suppress
-                publishing of PGP keys.</long>
-			</locale>
-		</schema>
-		<schema>
-			<key>/schemas/desktop/pgp/keyservers/search_text</key>
-			<applyto>/desktop/pgp/keyservers/search_text</applyto>
-			<owner>seahorse</owner>
-			<type>string</type>
-			<default></default>
-			<locale name="C">
-				<short>Last key server search pattern</short>
-				<long>The last search pattern searched for against a key server.</long>
-			</locale>
-		</schema>	
-        <schema>
-			<key>/schemas/desktop/pgp/keyservers/search_keyservers</key>
-			<applyto>/desktop/pgp/keyservers/search_keyservers</applyto>
- 			<owner>seahorse</owner>
-			<type>list</type>
-            <list_type>string</list_type>
- 			<default>[]</default>
- 			<locale name="C">
-				<short>Last key servers used</short>
- 				<long>The last key server a search was performed against 
- 				or empty for all key servers.</long>
- 			</locale>
-        </schema>
 	</schemalist>
 </gconfschemafile>

Modified: plugins/trunk/libseahorse/Makefile.am
==============================================================================
--- plugins/trunk/libseahorse/Makefile.am	(original)
+++ plugins/trunk/libseahorse/Makefile.am	Thu Apr 17 23:36:03 2008
@@ -26,84 +26,29 @@
 AGENT_SRCS = 
 endif
 
-if WITH_LDAP
-LDAP_SRCS = seahorse-ldap-source.c seahorse-ldap-source.h
-else
-LDAP_SRCS = 
-endif
-
-if WITH_HKP
-HKP_SRCS = seahorse-hkp-source.c seahorse-hkp-source.h
-else
-HKP_SRCS =
-endif
-
-if WITH_KEYSERVER
-KEYSERVER_SRCS = seahorse-server-source.c seahorse-server-source.h 
-KEYSERVER_SRCS += seahorse-keyserver-control.c seahorse-keyserver-control.h
-else
-KEYSERVER_SRCS = 
-endif
-
-if WITH_SSH
-SSH_SRCS = seahorse-ssh-key-data.c seahorse-ssh-key-data.h
-SSH_SRCS += seahorse-ssh-key.c seahorse-ssh-key.h 
-SSH_SRCS += seahorse-ssh-source.c seahorse-ssh-source.h
-SSH_SRCS += seahorse-ssh-operation.c seahorse-ssh-operation.h
-else
-SSH_SRCS = 
-endif
-
 libseahorse_a_SOURCES = \
-	seahorse-key.c seahorse-key.h \
-	seahorse-key-source.c seahorse-key-source.h \
-	seahorse-pgp-key.c seahorse-pgp-key.h \
-	seahorse-pgp-key-op.c seahorse-pgp-key-op.h \
-	seahorse-pgp-source.c seahorse-pgp-source.h \
 	seahorse-pgp-operation.c seahorse-pgp-operation.h \
-    seahorse-unknown-key.c seahorse-unknown-key.h \
-    seahorse-unknown-source.c seahorse-unknown-source.h \
-	seahorse-context.c seahorse-context.h \
 	seahorse-widget.c seahorse-widget.h \
-	seahorse-keyset.c seahorse-keyset.h \
-	seahorse-key-model.c seahorse-key-model.h \
 	seahorse-util.c seahorse-util.h \
 	seahorse-validity.c seahorse-validity.h \
 	seahorse-check-button-control.c seahorse-check-button-control.h \
-	seahorse-combo-keys.c seahorse-combo-keys.h \
 	seahorse-gpg-options.c seahorse-gpg-options.h \
 	seahorse-passphrase.c seahorse-passphrase.h \
-	seahorse-signer.c \
 	seahorse-libdialogs.h \
+        seahorse-notification.c \
 	seahorse-vfs-data.c seahorse-vfs-data.h \
 	seahorse-gpgmex.h seahorse-gpgmex-op.c seahorse-gpgmex-util.c \
 	seahorse-prefs.c seahorse-prefs.h \
-	seahorse-prefs-keyrings.c \
 	seahorse-operation.c seahorse-operation.h \
-    seahorse-transfer-operation.c seahorse-transfer-operation.h \
 	seahorse-progress.c seahorse-progress.h \
 	seahorse-gconf.c seahorse-gconf.h \
-	seahorse-dns-sd.c seahorse-dns-sd.h \
 	seahorse-gtkstock.c seahorse-gtkstock.h \
-	seahorse-notification.c \
 	seahorse-secure-memory.c seahorse-secure-memory.h \
 	seahorse-secure-entry.c seahorse-secure-entry.h \
 	seahorse-algo.c seahorse-algo.h \
 	seahorse-unix-signal.c seahorse-unix-signal.h \
 	$(BUILT_SOURCES) \
-	$(AGENT_SRCS) \
-	$(KEYSERVER_SRCS) \
-	$(LDAP_SRCS) \
-	$(HKP_SRCS) \
-	$(SSH_SRCS)
-
-seahorselibexecbin_PROGRAMS = seahorse-ssh-askpass
-
-seahorse_ssh_askpass_SOURCES = seahorse-ssh-askpass.c
-seahorse_ssh_askpass_LDADD = \
-	libseahorse.a \
-	$(top_builddir)/libcryptui/libcryptui.la \
-	$(SEAHORSE_LIBS)
+	$(AGENT_SRCS)
 
 seahorse-marshal.h: seahorse-marshal.list $(GLIB_GENMARSHAL)
 	$(GLIB_GENMARSHAL) $< --header --prefix=seahorse_marshal > $@
@@ -113,12 +58,9 @@
 	$(GLIB_GENMARSHAL) $< --body --prefix=seahorse_marshal >> $@
 
 glade_DATA = \
-	seahorse-signer.glade \
+	seahorse-notify.glade \
 	seahorse-prefs.glade \
-	seahorse-add-keyring.glade \
-	seahorse-add-keyserver.glade \
-	seahorse-progress.glade \
-	seahorse-notify.glade
+	seahorse-progress.glade 
 
 EXTRA_DIST = $(glade_DATA) \
 	seahorse-marshal.list

Modified: plugins/trunk/libseahorse/seahorse-gpg-options.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-gpg-options.c	(original)
+++ plugins/trunk/libseahorse/seahorse-gpg-options.c	Thu Apr 17 23:36:03 2008
@@ -28,7 +28,6 @@
 
 #include "seahorse-gpgmex.h"
 #include "seahorse-util.h"
-#include "seahorse-context.h"
 #include "seahorse-gpg-options.h"
 
 #define  GPG_CONF_HEADER    "# FILE CREATED BY SEAHORSE\n\n"

Modified: plugins/trunk/libseahorse/seahorse-gtkstock.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-gtkstock.c	(original)
+++ plugins/trunk/libseahorse/seahorse-gtkstock.c	Thu Apr 17 23:36:03 2008
@@ -33,18 +33,14 @@
     SEAHORSE_STOCK_SEAHORSE,
     SEAHORSE_STOCK_KEY,
     SEAHORSE_STOCK_SECRET,
-    SEAHORSE_STOCK_KEY_SSH,
-    SEAHORSE_STOCK_PERSON,
     SEAHORSE_STOCK_SIGN,
     SEAHORSE_STOCK_SIGN_OK,
     SEAHORSE_STOCK_SIGN_BAD,
     SEAHORSE_STOCK_SIGN_UNKNOWN,
-    SEAHORSE_STOCK_SHARING,
     NULL
 };
 
 static const gchar *themed_icons[] = {
-    SEAHORSE_THEMED_WEBBROWSER,
     NULL
 };
 

Modified: plugins/trunk/libseahorse/seahorse-gtkstock.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-gtkstock.h	(original)
+++ plugins/trunk/libseahorse/seahorse-gtkstock.h	Thu Apr 17 23:36:03 2008
@@ -30,15 +30,10 @@
 #define SEAHORSE_STOCK_SEAHORSE     "seahorse"
 #define SEAHORSE_STOCK_KEY          "seahorse-key"
 #define SEAHORSE_STOCK_SECRET       "seahorse-key-personal"
-#define SEAHORSE_STOCK_KEY_SSH      "seahorse-key-ssh"
-#define SEAHORSE_STOCK_PERSON       "seahorse-person"
 #define SEAHORSE_STOCK_SIGN         "seahorse-sign"
 #define SEAHORSE_STOCK_SIGN_OK      "seahorse-sign-ok"
 #define SEAHORSE_STOCK_SIGN_BAD     "seahorse-sign-bad"
 #define SEAHORSE_STOCK_SIGN_UNKNOWN "seahorse-sign-unknown"
-#define SEAHORSE_STOCK_SHARING      "seahorse-share-keys"
-
-#define SEAHORSE_THEMED_WEBBROWSER  "web-browser"
 
 void    seahorse_gtkstock_init          (void);
 

Modified: plugins/trunk/libseahorse/seahorse-libdialogs.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-libdialogs.h	(original)
+++ plugins/trunk/libseahorse/seahorse-libdialogs.h	Thu Apr 17 23:36:03 2008
@@ -28,12 +28,9 @@
 #define __SEAHORSE_LIBDIALOGS_H__
 
 #include <glib.h>
+#include <gpgme.h>
 
-#include "seahorse-context.h"
 #include "seahorse-widget.h"
-#include "seahorse-pgp-key.h"
-
-SeahorsePGPKey* seahorse_signer_get                 (GtkWindow *parent);
 
 void            seahorse_notify_signatures          (const gchar* data, 
                                                      gpgme_verify_result_t status);

Modified: plugins/trunk/libseahorse/seahorse-notification.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-notification.c	(original)
+++ plugins/trunk/libseahorse/seahorse-notification.c	Thu Apr 17 23:36:03 2008
@@ -22,8 +22,13 @@
 #include "config.h"
 
 #include <gtk/gtk.h>
+#include <glib/gi18n.h>
 #include <glib.h>
+#include <string.h>
 
+#include <cryptui.h>
+
+#include "seahorse-gpgmex.h"
 #include "seahorse-libdialogs.h"
 #include "seahorse-util.h"
 
@@ -49,7 +54,7 @@
     gchar *message;
     const gchar *icon;
 
-    GList *keys;
+    GList *keyids;
     GObject *widget;
     
 } SeahorseNotification;
@@ -60,44 +65,28 @@
 
 G_DEFINE_TYPE (SeahorseNotification, seahorse_notification, G_TYPE_OBJECT);
 
+static CryptUIKeyset *keyset = NULL;
+
 /* -----------------------------------------------------------------------------
  * INTERNAL HELPERS 
  */
 
-/* Forward Declaration */
-static void key_changed (SeahorseKey *skey, SeahorseKeyChange change, SeahorseNotification *snotif);
-
 static void
 insert_key_field (GString *res, const gchar *key, const gchar *field)
 {
-    SeahorseKey *skey;
-    GValue value;
-    GValue svalue;
-    gchar *str;
-    guint uid;
-    
-    skey = seahorse_context_key_from_dbus (SCTX_APP (), key, &uid);
-    if (!skey) {
-        g_warning ("key '%s' in key text does not exist", key);
-        return;
-    }
-    
+    gchar *str, *esc;
+
+
     /* A default field */
     if (!field)
         field = "display-name";
     
-    memset (&value, 0, sizeof (value));
-    memset (&svalue, 0, sizeof (value));
-    
-    if (seahorse_key_lookup_property (skey, uid, field, &value)) {
-        g_value_init (&svalue, G_TYPE_STRING);
-        if (g_value_transform (&value, &svalue)) {
-            str = g_markup_escape_text (g_value_get_string (&svalue), -1);
-            g_string_append (res, str);
-            g_free (str);
-        }
-        g_value_unset (&svalue);
-        g_value_unset (&value);
+    str = cryptui_keyset_key_get_string (keyset, key, field);
+    if (str) {
+        esc = g_markup_escape_text (str, -1);
+        g_string_append (res, esc);
+        g_free (esc);
+        g_free (str);
     }
 }
 
@@ -358,11 +347,26 @@
 }
 
 static void 
-key_changed (SeahorseKey *skey, SeahorseKeyChange change, SeahorseNotification *snotif)
+key_changed (CryptUIKeyset *keyset, const gchar *key, SeahorseNotification *snotif)
 {
+    GList *l;
+    gboolean matched = FALSE;
+
     if (!snotif->widget)
         return;
+
+    g_return_if_fail (key);
+
+    for (l = snotif->keyids; l; l = g_list_next (l)) {
+        if (strcmp (key, l->data) == 0) {
+            matched = TRUE;
+            break;
+        }
+    }
     
+    if (!matched)
+        return;
+
 #ifdef HAVE_LIBNOTIFY
     if (NOTIFY_IS_NOTIFICATION (snotif->widget))
         update_libnotify_notification (snotif);
@@ -377,7 +381,6 @@
                     gpointer user_data, GError **error)
 {
     SeahorseNotification* snotif = SEAHORSE_NOTIFICATION (user_data);
-    SeahorseKey *skey;
 
     if (strcmp (element_name, "key") == 0) {
         
@@ -395,15 +398,19 @@
             g_warning ("key text <key> element requires the following attributes\n"
                        "     <key id=\"xxxxx\" field=\"xxxxx\"/>");
         
-        skey = seahorse_context_key_from_dbus (SCTX_APP (), key, NULL);
-        if (skey) {
-            snotif->keys = g_list_append (snotif->keys, skey);
-            g_signal_connect (skey, "changed", G_CALLBACK (key_changed), snotif);
-        }
+        snotif->keyids = g_list_append (snotif->keyids, g_strdup (key));
     }
     
 }
 
+void
+free_keyset (void)
+{
+    if (keyset)
+        g_object_unref (keyset);
+    keyset = NULL;
+}
+
 /* -----------------------------------------------------------------------------
  * OBJECT 
  */
@@ -411,7 +418,13 @@
 static void
 seahorse_notification_init (SeahorseNotification *snotif)
 {
+    if (!keyset) {
+        keyset = cryptui_keyset_new ("openpgp", TRUE);
+        g_return_if_fail (keyset);
+        g_atexit (free_keyset);
+    }
 
+    g_signal_connect (keyset, "changed", G_CALLBACK (key_changed), snotif);
 }
 
 static void
@@ -432,10 +445,10 @@
 
     snotif->widget = NULL;
     
-    for (l = snotif->keys; l; l = g_list_next (l)) 
-        g_signal_handlers_disconnect_by_func (l->data, key_changed, snotif);
-    g_list_free (snotif->keys);
-    snotif->keys = NULL;
+    for (l = snotif->keyids; l; l = g_list_next (l)) 
+        g_free (l->data);
+    g_list_free (snotif->keyids);
+    snotif->keyids = NULL;
     
     G_OBJECT_CLASS (seahorse_notification_parent_class)->dispose (gobject);
 }
@@ -445,6 +458,7 @@
 {
     SeahorseNotification *snotif = SEAHORSE_NOTIFICATION (gobject);
     
+    g_signal_handlers_disconnect_by_func (keyset, key_changed, snotif);
     g_assert (!snotif->widget);
     
     if (snotif->heading)
@@ -574,10 +588,7 @@
     }
     
     /* Always try and display in the daemon */
-    if (seahorse_context_is_daemon (SCTX_APP ()))
-        seahorse_notification_display (title, body, FALSE, icon, NULL);
-    else
-        cryptui_display_notification (title, body, icon, FALSE);
+    cryptui_display_notification (title, body, icon, FALSE);
 
     g_free (body);
 }
@@ -599,17 +610,7 @@
     gboolean sig = FALSE;
     GSList *rawids;
     GList *keys;
-    SeahorseKey *skey;
     
-    /* Discover the key in question */
-    rawids = g_slist_append (NULL, status->signatures->fpr);
-    keys = seahorse_context_discover_keys (SCTX_APP (), SKEY_PGP, rawids);
-    g_slist_free (rawids);
-    
-    g_return_if_fail (keys != NULL);
-    skey = SEAHORSE_KEY (keys->data);
-    g_list_free (keys);
-
     /* Figure out what to display */
     switch (gpgme_err_code (status->signatures->status))  {
     case GPG_ERR_KEY_EXPIRED:
@@ -661,7 +662,7 @@
 
     if (sig) {
         gchar *date = seahorse_util_get_display_date_string (status->signatures->timestamp);
-        gchar *id = seahorse_context_keyid_to_dbus (SCTX_APP (), seahorse_key_get_keyid (skey), 0);
+        gchar *id = g_strdup_printf ("openpgp:%s", status->signatures->fpr);
         body = g_markup_printf_escaped (body, id, date);
         g_free (date);
         g_free (id);
@@ -677,10 +678,7 @@
     }
 
     /* Always try and display in the daemon */
-    if (seahorse_context_is_daemon (SCTX_APP ()))
-        seahorse_notification_display (title, body, !sig, icon, NULL);
-    else
-        cryptui_display_notification (title, body, icon, !sig);
+    cryptui_display_notification (title, body, icon, !sig);
 
     g_free (title);
     g_free (body);

Modified: plugins/trunk/libseahorse/seahorse-operation.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-operation.c	(original)
+++ plugins/trunk/libseahorse/seahorse-operation.c	Thu Apr 17 23:36:03 2008
@@ -19,7 +19,7 @@
  * Boston, MA 02111-1307, USA.
  */
  
-#include <gnome.h>
+#include <gtk/gtk.h>
 
 #include "config.h"
 #include "seahorse-util.h"

Modified: plugins/trunk/libseahorse/seahorse-operation.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-operation.h	(original)
+++ plugins/trunk/libseahorse/seahorse-operation.h	Thu Apr 17 23:36:03 2008
@@ -47,7 +47,7 @@
 #ifndef __SEAHORSE_OPERATION_H__
 #define __SEAHORSE_OPERATION_H__
 
-#include <gnome.h>
+#include <gtk/gtk.h>
 
 #define SEAHORSE_TYPE_OPERATION            (seahorse_operation_get_type ())
 #define SEAHORSE_OPERATION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_OPERATION, SeahorseOperation))

Modified: plugins/trunk/libseahorse/seahorse-passphrase.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-passphrase.c	(original)
+++ plugins/trunk/libseahorse/seahorse-passphrase.c	Thu Apr 17 23:36:03 2008
@@ -37,7 +37,9 @@
 #include <syslog.h>
 #include <fcntl.h>
 
-#include <gnome.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 #include <glade/glade-xml.h>
 
 #include "seahorse-gpgmex.h"
@@ -49,9 +51,6 @@
 #include "seahorse-gpg-options.h"
 #include "agent/seahorse-agent.h"
 
-#include "seahorse-ssh-key.h"
-#include "seahorse-pgp-key.h"
-
 #define HIG_SMALL      6        /* gnome hig small space in pixels */
 #define HIG_LARGE     12        /* gnome hig large space in pixels */
 
@@ -512,53 +511,12 @@
     return SEAHORSE_AGENT_NONE;
 }
 
-/* -----------------------------------------------------------------------------
- * SSH AGENT 
- */
-
-static SeahorseAgentType
-ssh_detect_agent ()
-{
-    SeahorseAgentType ret;
-    const gchar *socketpath;
-    struct sockaddr_un sunaddr;
-    int agentfd;
-    
-    socketpath = g_getenv ("SSH_AUTH_SOCK");
-    if (!socketpath || !socketpath[0])
-        return SEAHORSE_AGENT_NONE;
-    
-    /* Try to connect to the real agent */
-    agentfd = socket (AF_UNIX, SOCK_STREAM, 0);
-    if (agentfd == -1) {
-        g_warning ("couldn't create socket: %s", g_strerror (errno));
-        return SEAHORSE_AGENT_UNKNOWN;
-    }
-    
-    memset (&sunaddr, 0, sizeof (sunaddr));
-    sunaddr.sun_family = AF_UNIX;
-    g_strlcpy (sunaddr.sun_path, socketpath, sizeof (sunaddr.sun_path));
-    if (connect (agentfd, (struct sockaddr*) &sunaddr, sizeof (sunaddr)) < 0) {
-        g_warning ("couldn't connect to SSH agent at: %s: %s", socketpath, 
-                   g_strerror (errno));
-        close (agentfd);
-        return SEAHORSE_AGENT_UNKNOWN;
-    }
-
-    shutdown (agentfd, SHUT_RDWR);
-    close (agentfd);
-    return SEAHORSE_AGENT_OTHER; 
-}
-
 /* -------------------------------------------------------------------------- */
 
 /* Check if the agent is running */
 SeahorseAgentType
-seahorse_passphrase_detect_agent (GQuark ktype)
+seahorse_passphrase_detect_agent (void)
 {
-    if (ktype == SKEY_PGP)
-        return gpg_detect_agent ();
-    if (ktype == SKEY_SSH)
-        return ssh_detect_agent ();
-    g_return_val_if_reached (SEAHORSE_AGENT_UNKNOWN);
+    return gpg_detect_agent ();
 }
+

Modified: plugins/trunk/libseahorse/seahorse-passphrase.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-passphrase.h	(original)
+++ plugins/trunk/libseahorse/seahorse-passphrase.h	Thu Apr 17 23:36:03 2008
@@ -23,6 +23,7 @@
 #define __SEAHORSE_PASSPHRASE__
 
 #include <gpgme.h>
+#include <gtk/gtk.h>
 
 #define SEAHORSE_PASS_BAD    0x00000001
 #define SEAHORSE_PASS_NEW    0x01000000
@@ -49,6 +50,6 @@
     SEAHORSE_AGENT_SEAHORSE
 } SeahorseAgentType;
 
-SeahorseAgentType seahorse_passphrase_detect_agent ();
+SeahorseAgentType seahorse_passphrase_detect_agent (void);
 
 #endif /* __SEAHORSE_PASSPHRASE__ */

Modified: plugins/trunk/libseahorse/seahorse-pgp-operation.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-pgp-operation.c	(original)
+++ plugins/trunk/libseahorse/seahorse-pgp-operation.c	Thu Apr 17 23:36:03 2008
@@ -20,8 +20,8 @@
  */
 
 #include "config.h"
+#include "seahorse-passphrase.h"
 #include "seahorse-pgp-operation.h"
-#include "seahorse-pgp-source.h"
 #include "seahorse-gpgmex.h"
 #include "seahorse-util.h"
 
@@ -319,10 +319,23 @@
 seahorse_pgp_operation_init (SeahorsePGPOperation *pop)
 {
     SeahorsePGPOperationPrivate *pv = SEAHORSE_PGP_OPERATION_GET_PRIVATE (pop);
+    gpgme_protocol_t proto = GPGME_PROTOCOL_OpenPGP;
+    gpgme_error_t err;
+    gpgme_ctx_t ctx;
+ 
+    err = gpgme_engine_check_version (proto);
+    g_return_if_fail (GPG_IS_OK (err));
+   
+    err = gpgme_new (&ctx);
+    g_return_if_fail (GPG_IS_OK (err));
+   
+    err = gpgme_set_protocol (ctx, proto);
+    g_return_if_fail (GPG_IS_OK (err));
     
-    pop->gctx = seahorse_pgp_source_new_context ();
-    g_return_if_fail (pop->gctx != NULL);
-    
+    gpgme_set_passphrase_cb (ctx, (gpgme_passphrase_cb_t)seahorse_passphrase_get, NULL);
+    gpgme_set_keylist_mode (ctx, GPGME_KEYLIST_MODE_LOCAL);
+
+    pop->gctx = ctx;
     pv->busy = FALSE;
     
     /* Setup with the context */

Modified: plugins/trunk/libseahorse/seahorse-prefs-cache.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-prefs-cache.c	(original)
+++ plugins/trunk/libseahorse/seahorse-prefs-cache.c	Thu Apr 17 23:36:03 2008
@@ -25,12 +25,11 @@
 #include <sys/wait.h>
 
 #include <stdlib.h>
-#include <gnome.h>
+#include <gtk/gtk.h>
 
 #define DBUS_API_SUBJECT_TO_CHANGE
 #include <dbus/dbus.h>
 
-#include "seahorse-context.h"
 #include "seahorse-widget.h"
 #include "seahorse-gpg-options.h"
 #include "seahorse-gconf.h"
@@ -39,9 +38,6 @@
 #include "agent/seahorse-agent.h"
 #include "seahorse-passphrase.h"
 
-#include "seahorse-pgp-key.h"
-#include "seahorse-ssh-key.h"
-
 #define METHOD_INTERNAL     "internal"
 
 /* -----------------------------------------------------------------------------
@@ -262,7 +258,7 @@
     /* End -- Setup daemon button visuals */
                                    
     /* Disable GPG agent prefs if another agent is running or error */
-    switch (seahorse_passphrase_detect_agent (SKEY_PGP)) {
+    switch (seahorse_passphrase_detect_agent ()) {
     case SEAHORSE_AGENT_NONE:
         break;
         

Modified: plugins/trunk/libseahorse/seahorse-prefs.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-prefs.c	(original)
+++ plugins/trunk/libseahorse/seahorse-prefs.c	Thu Apr 17 23:36:03 2008
@@ -18,18 +18,19 @@
  * 59 Temple Place, Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#include <config.h>
-#include <gnome.h>
-
 #include "config.h"
+
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
+
+#include <cryptui.h>
+#include <cryptui-key-combo.h>
+#include <cryptui-key-store.h>
+
 #include "seahorse-prefs.h"
 #include "seahorse-util.h"
 #include "seahorse-check-button-control.h"
-#include "seahorse-combo-keys.h"
-#include "seahorse-keyserver-control.h"
-#include "seahorse-server-source.h"
 #include "seahorse-gconf.h"
-#include "seahorse-pgp-key.h"
 #include "seahorse-gtkstock.h"
 #include "seahorse-secure-entry.h"
 
@@ -39,448 +40,21 @@
 /* From sehorse-prefs-keyrings.c */
 void seahorse_prefs_keyrings (SeahorseWidget *widget);
 
-/* Key Server Prefs --------------------------------------------------------- */
-
-#ifdef WITH_KEYSERVER
-
-#define UPDATING_MODEL    "updating"
-
-enum 
-{
-    KEYSERVER_COLUMN,
-    N_COLUMNS
-};
-
-
-/* Called when a cell has completed being edited */
-static void
-keyserver_cell_edited (GtkCellRendererText *cell, gchar *path, gchar *text,
-                       GtkTreeModel *model)
-{
-    GtkTreeIter iter;
-    gboolean ret;
-    
-    if (!seahorse_server_source_valid_uri (text)) {
-        seahorse_util_show_error (NULL, _("Not a valid Key Server address."), 
-                                  _("For help contact your system adminstrator or the administrator of the key server." ));
-        return;
-    }
-    
-    ret = gtk_tree_model_get_iter_from_string (model, &iter, path);
-    g_assert (ret);
-    gtk_tree_store_set (GTK_TREE_STORE (model), &iter, KEYSERVER_COLUMN, text, -1);
-}
-
-/* The selection changed on the tree */
-static void
-keyserver_sel_changed (GtkTreeSelection *selection, SeahorseWidget *swidget)
-{
-    GtkWidget *widget;
-    
-    widget = glade_xml_get_widget (swidget->xml, "keyserver_remove");
-    gtk_widget_set_sensitive (widget, (gtk_tree_selection_count_selected_rows (selection) > 0));
-}
-
-/* Callback to remove selected rows */
-static void
-remove_row (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
-    gtk_tree_store_remove (GTK_TREE_STORE (model), iter);
-}
-
-/* User wants to remove selected rows */
-static void
-keyserver_remove_clicked (GtkWidget *button, SeahorseWidget *swidget)
-{
-    GtkTreeView *treeview;
-    GtkTreeSelection *selection;
-    
-    treeview = GTK_TREE_VIEW (glade_xml_get_widget (swidget->xml, "keyservers"));
-    selection = gtk_tree_view_get_selection (treeview);
-    gtk_tree_selection_selected_foreach (selection, remove_row, NULL);
-}
-
-/* Write key server list to gconf */
-static void
-save_keyservers (GtkTreeModel *model)
-{
-    GSList *ks = NULL;
-    GtkTreeIter iter;
-    gchar *v;
-    
-    if (gtk_tree_model_get_iter_first (model, &iter)) {
-        
-        do {
-            gtk_tree_model_get (model, &iter, KEYSERVER_COLUMN, &v, -1);
-            g_return_if_fail (v != NULL);
-            ks = g_slist_append (ks, v);
-        } while (gtk_tree_model_iter_next (model, &iter));
-    }
-    
-    seahorse_gconf_set_string_list (KEYSERVER_KEY, ks);
-    seahorse_util_string_slist_free (ks);
-}
-
-/* Called when values in a row changes */
-static void
-keyserver_row_changed (GtkTreeModel *model, GtkTreePath *arg1, 
-                       GtkTreeIter *arg2, gpointer user_data)
-{
-    /* If currently updating (see populate_keyservers) ignore */
-    if (g_object_get_data (G_OBJECT (model), UPDATING_MODEL) != NULL)
-        return;
-
-    save_keyservers (model); 
-}
-
-/* Called when a row is removed */
-static void 
-keyserver_row_deleted (GtkTreeModel *model, GtkTreePath *arg1,
-                       gpointer user_data)
-{
-    /* If currently updating (see populate_keyservers) ignore */
-    if (g_object_get_data (G_OBJECT (model), UPDATING_MODEL) != NULL)
-        return;
-        
-    save_keyservers (model);
-}
-
-/* Fill in the list with values in ks */
-static void
-populate_keyservers (SeahorseWidget *swidget, GSList *ks)
-{
-    GtkTreeView *treeview;
-    GtkTreeStore *store;
-    GtkTreeModel *model;
-    GtkCellRenderer *renderer;
-    GtkTreeViewColumn *column;
-    GtkTreeIter iter;
-    gboolean cont;
-    gchar *v;
-        
-    treeview = GTK_TREE_VIEW (glade_xml_get_widget (swidget->xml, "keyservers"));
-    model = gtk_tree_view_get_model (treeview);
-    store = GTK_TREE_STORE (model);
-    
-    /* This is our first time so create a store */
-    if (!model) {
-
-        store = gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING);
-        model = GTK_TREE_MODEL (store);
-        gtk_tree_view_set_model (treeview, model);
-
-        /* Make the column */
-        renderer = gtk_cell_renderer_text_new ();
-        g_object_set (renderer, "editable", TRUE, NULL);
-        g_signal_connect(renderer, "edited", G_CALLBACK (keyserver_cell_edited), store);
-        column = gtk_tree_view_column_new_with_attributes (_("URL"), renderer , 
-                                        "text", KEYSERVER_COLUMN, NULL);
-        gtk_tree_view_append_column (treeview, column);        
-    }
-
-    /* Mark this so we can ignore events */
-    g_object_set_data (G_OBJECT (model), UPDATING_MODEL, GINT_TO_POINTER (1));
-    
-    /* We try and be inteligent about updating so we don't throw
-     * away selections and stuff like that */
-     
-    if (gtk_tree_model_get_iter_first (model, &iter)) {
-        do {
-            gtk_tree_model_get (model, &iter, KEYSERVER_COLUMN, &v, -1);
-            
-            if (ks && v && g_utf8_collate (ks->data, v) == 0) {
-                ks = ks->next;
-                cont = gtk_tree_model_iter_next (model, &iter);
-            } else {
-                cont = gtk_tree_store_remove (store, &iter);
-            }
-            
-            g_free (v);
-        }    
-        while (cont);
-    }
-     
-    /* Any remaining extra rows */           
-    for ( ; ks; ks = ks->next) {
-        gtk_tree_store_append (store, &iter, NULL);        
-        gtk_tree_store_set (store, &iter, KEYSERVER_COLUMN, (gchar*)ks->data, -1);
-    }
-    
-    /* Done updating */
-    g_object_set_data (G_OBJECT (model), UPDATING_MODEL, NULL);
-}
-
-/* Callback for changes on keyserver key */
-static void
-gconf_notify (GConfClient *client, guint id, GConfEntry *entry, SeahorseWidget *swidget)
-{
-    GSList *l, *ks;
-    GConfValue *value;
-
-    if (g_str_equal (KEYSERVER_KEY, gconf_entry_get_key (entry))) {    
-        value = gconf_entry_get_value (entry);
-        g_return_if_fail (gconf_value_get_list_type (value) == GCONF_VALUE_STRING);
-    
-        /* Change list of GConfValue to list of strings */
-        for (ks = NULL, l = gconf_value_get_list (value); l; l = l->next) 
-            ks = g_slist_append (ks, (gchar*)gconf_value_get_string (l->data));
-        
-		ks = seahorse_server_source_purge_keyservers (ks);
-        populate_keyservers (swidget, ks);
-        g_slist_free (l); /* We don't own string values */
-    }
-}
-
-/* Remove gconf notification */
-static void
-gconf_unnotify (GtkWidget *widget, guint notify_id)
-{
-    seahorse_gconf_unnotify (notify_id);
-}
-
-static gchar*
-calculate_keyserver_uri (SeahorseWidget *swidget)
-{
-    const gchar *scheme = NULL;
-    const gchar *host = NULL;
-    const gchar *port = NULL;
-    GtkWidget *widget;
-    GSList *types;
-    gint active;
-    gchar *uri;
-
-    /* Figure out the scheme */
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-type");
-    g_return_val_if_fail (widget != NULL, NULL);
-
-    active = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
-    g_return_val_if_fail (active >= 0, NULL);
-    
-    types = g_object_get_data (G_OBJECT (swidget), "keyserver-types");
-    g_return_val_if_fail (types != NULL, NULL);
-    
-    scheme = (const gchar*)g_slist_nth_data (types, active);
-    if (scheme && !scheme[0])
-        scheme = NULL;
-    
-    /* The host */
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-host");
-    g_return_val_if_fail (widget != NULL, NULL);
-    
-    host = gtk_entry_get_text (GTK_ENTRY (widget));
-    g_return_val_if_fail (host != NULL, NULL);
-    
-    /* Custom URI? */
-    if (scheme == NULL) {
-        if (seahorse_server_source_valid_uri (host))
-            return g_strdup (host);
-        return NULL;
-    }
-    
-    /* The port */
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-port");
-    g_return_val_if_fail (widget != NULL, NULL);
-    
-    port = gtk_entry_get_text (GTK_ENTRY (widget));
-    if (port && !port[0])
-        port = NULL;
-    
-    uri = g_strdup_printf("%s://%s%s%s", scheme, host, port ? ":" : "", port ? port : "");
-    if (!seahorse_server_source_valid_uri (uri)) {
-        g_free (uri);
-        uri = NULL;
-    }
-
-    return uri; 
-}
-
-static void
-uri_changed (GtkWidget *button, SeahorseWidget *swidget)
-{
-    GtkWidget *widget;
-    GSList *types;
-    gchar *t;
-    gint active;
-
-    widget = glade_xml_get_widget (swidget->xml, "ok");
-    g_return_if_fail (widget != NULL);
-    
-    t = calculate_keyserver_uri (swidget);
-    gtk_widget_set_sensitive (widget, t != NULL);
-    g_free (t);
-
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-type");
-    g_return_if_fail (widget != NULL);
-
-    /* Show or hide the port section based on whether 'custom' is selected */    
-    active = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
-    if (active > -1) {
-        
-        types = g_object_get_data (G_OBJECT (swidget), "keyserver-types");
-        g_return_if_fail (types != NULL);
-        
-        widget = glade_xml_get_widget (swidget->xml, "port-block");
-        g_return_if_fail (widget != NULL);
-        
-        t = (gchar*)g_slist_nth_data (types, active);
-        if (t && t[0])
-            gtk_widget_show (widget);
-        else
-            gtk_widget_hide (widget);
-    }
-}
-
-static void
-keyserver_add_clicked (GtkButton *button, SeahorseWidget *sw)
-{
-    SeahorseWidget *swidget;
-    GSList *types, *descriptions, *l;
-    GtkWidget *widget;
-    gint response;
-    gchar *result = NULL;
-    
-    GtkTreeView *treeview;
-    GtkTreeStore *store;
-    GtkTreeIter iter;
-    
-    swidget = seahorse_widget_new_allow_multiple ("add-keyserver",
-                                                  GTK_WINDOW (glade_xml_get_widget (sw->xml, sw->name)));
-    g_return_if_fail (swidget != NULL);
-    
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-type");
-    g_return_if_fail (widget != NULL);
-    
-    /* The list of types, plus the null 'custom' type */
-    types = seahorse_server_source_get_types ();
-    types = g_slist_append (types, g_strdup (""));
-    g_object_set_data_full (G_OBJECT (swidget), "keyserver-types", types, 
-                            (GDestroyNotify)seahorse_util_string_slist_free);
-    
-    /* The description for the key server types, plus custom */
-    descriptions = seahorse_server_source_get_descriptions ();
-    descriptions = g_slist_append (descriptions, g_strdup (_("Custom")));
-    
-    gtk_combo_box_remove_text (GTK_COMBO_BOX (widget), 0);    
-    for (l = descriptions; l; l = g_slist_next (l))
-        gtk_combo_box_append_text (GTK_COMBO_BOX (widget), l->data);
-    gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
-    seahorse_util_string_slist_free (descriptions);
-
-    glade_xml_signal_connect_data (swidget->xml, "on_uri_changed", 
-                                   G_CALLBACK (uri_changed), swidget);
-
-    response = gtk_dialog_run (GTK_DIALOG (seahorse_widget_get_top (swidget)));
-    if (response == GTK_RESPONSE_ACCEPT) {
-        
-        result = calculate_keyserver_uri (swidget);
-        if (result != NULL) {        
-            
-            treeview = GTK_TREE_VIEW (glade_xml_get_widget (sw->xml, "keyservers"));
-            g_return_if_fail (treeview != NULL);
-            
-            store = GTK_TREE_STORE (gtk_tree_view_get_model (treeview));
-            gtk_tree_store_append (store, &iter, NULL);
-            gtk_tree_store_set (store, &iter, KEYSERVER_COLUMN, result, -1);
-        }
-        
-        g_free (result);
-    }
-        
-    seahorse_widget_destroy (swidget);
-}
-
-/* Perform keyserver page initialization */
-static void
-setup_keyservers (SeahorseWidget *swidget)
-{
-    GtkTreeView *treeview;
-    SeahorseKeyserverControl *skc;
-    GtkTreeModel *model;
-    GtkTreeSelection *selection;
-    GtkWidget *w;
-    GSList *ks;
-    guint notify_id;
-    
-    ks = seahorse_gconf_get_string_list (KEYSERVER_KEY);
-	ks = seahorse_server_source_purge_keyservers (ks);
-    populate_keyservers (swidget, ks);
-    seahorse_util_string_slist_free (ks);
-    
-    treeview = GTK_TREE_VIEW (glade_xml_get_widget (swidget->xml, "keyservers"));
-    model = gtk_tree_view_get_model (treeview);
-    g_signal_connect (model, "row-changed", G_CALLBACK (keyserver_row_changed), swidget);
-    g_signal_connect (model, "row-deleted", G_CALLBACK (keyserver_row_deleted), swidget);
-    
-    selection = gtk_tree_view_get_selection (treeview);
-    gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-    g_signal_connect (selection, "changed", G_CALLBACK (keyserver_sel_changed), swidget);
-
-    glade_xml_signal_connect_data (swidget->xml, "keyserver_remove_clicked",
-            G_CALLBACK (keyserver_remove_clicked), swidget);
-    glade_xml_signal_connect_data (swidget->xml, "keyserver_add_clicked",
-            G_CALLBACK (keyserver_add_clicked), swidget);
-            
-    notify_id = seahorse_gconf_notify (KEYSERVER_KEY, (GConfClientNotifyFunc)gconf_notify, 
-                                       swidget);
-    g_signal_connect (seahorse_widget_get_top (swidget), "destroy", 
-                        G_CALLBACK (gconf_unnotify), GINT_TO_POINTER (notify_id));
-                        
-    w = glade_xml_get_widget (swidget->xml, "keyserver-publish");
-    g_return_if_fail (w != NULL);
-    
-    skc = seahorse_keyserver_control_new (PUBLISH_TO_KEY, _("None: Don't publish keys"));
-    gtk_container_add (GTK_CONTAINER (w), GTK_WIDGET (skc));
-    gtk_widget_show_all (w);
-
-    w = glade_xml_get_widget (swidget->xml, "keyserver-publish-to-label");
-    gtk_label_set_mnemonic_widget (GTK_LABEL (w), GTK_WIDGET (skc));
-    
-    w = glade_xml_get_widget(swidget->xml, "auto_retrieve");
-    g_return_if_fail (w != NULL);
-    
-    seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON(w), AUTORETRIEVE_KEY);
-    
-    w = glade_xml_get_widget(swidget->xml, "auto_sync");
-    g_return_if_fail (w != NULL);
-    
-    seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON(w), AUTOSYNC_KEY);
-}
-
-#endif /* WITH_KEYSERVER */
-
-#ifdef WITH_SHARING 
-
-/* Key Sharing Prefs -------------------------------------------------------- */
-
-static void
-setup_sharing (SeahorseWidget *swidget)
-{
-    GtkWidget *widget = seahorse_widget_get_widget (swidget, "enable-sharing");
-    g_return_if_fail (widget != NULL);
-    seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON (widget), KEYSHARING_KEY);
-    
-    widget = seahorse_widget_get_widget (swidget, "key-sharing-image");
-    g_return_if_fail (widget != NULL);
-    gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_SHARING, GTK_ICON_SIZE_DIALOG);
-}
-
-#endif /* WITH_SHARING */
-
 /* -------------------------------------------------------------------------- */
 
 static void
 default_key_changed (GtkComboBox *combo, gpointer *data)
 {
-    GQuark keyid = seahorse_combo_keys_get_active_id (combo);
-    seahorse_gconf_set_string (SEAHORSE_DEFAULT_KEY, keyid == 0 ? "" : g_quark_to_string (keyid));
+    const gchar *key = cryptui_key_combo_get_key (combo);
+    seahorse_gconf_set_string (SEAHORSE_DEFAULT_KEY, key == 0 ? "" : key);
 }
 
 static void
 gconf_notification (GConfClient *gclient, guint id, GConfEntry *entry, 
                     GtkComboBox *combo)
 {
-    GQuark keyid = g_quark_from_string (gconf_value_get_string (gconf_entry_get_value (entry)));
-    seahorse_combo_keys_set_active_id (combo, keyid);
+    const gchar *key = gconf_value_get_string (gconf_entry_get_value (entry));
+    cryptui_key_combo_set_key (combo, key);
 }
 
 static void
@@ -490,6 +64,13 @@
     seahorse_gconf_unnotify (gconf_id);
 }
 
+static gboolean 
+signer_filter (CryptUIKeyset *ckset, const gchar *key, gpointer user_data)
+{
+    guint flags = cryptui_keyset_key_flags (ckset, key);
+    return flags & CRYPTUI_FLAG_CAN_SIGN;
+}
+
 /**
  * seahorse_prefs_new
  * 
@@ -500,8 +81,9 @@
 SeahorseWidget *
 seahorse_prefs_new (GtkWindow *parent)
 {
-    SeahorseKeyset *skset;
     SeahorseWidget *swidget;
+    CryptUIKeyset* keyset;
+    CryptUIKeyStore* ckstore;
     GtkWidget *widget;
     guint gconf_id;
     
@@ -513,16 +95,15 @@
     widget = glade_xml_get_widget (swidget->xml, "signer-select");
     g_return_val_if_fail (widget != NULL, NULL);
 
-    skset = seahorse_keyset_new (SKEY_PGP, 
-                                 SKEY_PRIVATE, 
-                                 SKEY_LOC_LOCAL, 
-                                 SKEY_FLAG_CAN_SIGN, 
-                                 SKEY_FLAG_EXPIRED | SKEY_FLAG_REVOKED | SKEY_FLAG_DISABLED);
-    seahorse_combo_keys_attach (GTK_COMBO_BOX (widget), skset, _("None. Prompt for a key."));
-    g_object_unref (skset);
-    
-    seahorse_combo_keys_set_active_id (GTK_COMBO_BOX (widget), 
-                                       g_quark_from_string (seahorse_gconf_get_string (SEAHORSE_DEFAULT_KEY)));
+    /* The Sign combo */
+    keyset = cryptui_keyset_new ("openpgp", FALSE);
+    ckstore = cryptui_key_store_new (keyset, FALSE, _("None. Prompt for a key."));
+    cryptui_key_store_set_filter (ckstore, signer_filter, NULL);
+    cryptui_key_combo_setup (GTK_COMBO_BOX (widget), ckstore);
+    g_object_unref (ckstore);
+    g_object_unref (keyset);
+
+    cryptui_key_combo_set_key (GTK_COMBO_BOX (widget), seahorse_gconf_get_string (SEAHORSE_DEFAULT_KEY));
     g_signal_connect (widget, "changed", G_CALLBACK (default_key_changed), NULL);
 
     gconf_id = seahorse_gconf_notify (SEAHORSE_DEFAULT_KEY, 
@@ -537,24 +118,6 @@
     seahorse_prefs_remove_tab (swidget, widget);
 #endif
 
-#ifdef WITH_KEYSERVER
-    setup_keyservers (swidget);
-#else
-    widget = glade_xml_get_widget (swidget->xml, "keyserver-tab");
-    g_return_val_if_fail (GTK_IS_WIDGET (widget), swidget);
-    seahorse_prefs_remove_tab (swidget, widget);
-#endif
-
-#ifdef WITH_SHARING
-    setup_sharing (swidget);
-#else
-    widget = glade_xml_get_widget (swidget->xml, "sharing-tab");
-    g_return_val_if_fail (GTK_IS_WIDGET (widget), swidget);
-    seahorse_prefs_remove_tab (swidget, widget);
-#endif    
-
-    seahorse_prefs_keyrings (swidget);
-
     seahorse_widget_show (swidget);
     return swidget;
 }

Modified: plugins/trunk/libseahorse/seahorse-prefs.glade
==============================================================================
--- plugins/trunk/libseahorse/seahorse-prefs.glade	(original)
+++ plugins/trunk/libseahorse/seahorse-prefs.glade	Thu Apr 17 23:36:03 2008
@@ -81,490 +81,6 @@
 	  <property name="enable_popup">False</property>
 
 	  <child>
-	    <widget class="GtkEventBox" id="keyring-tab">
-	      <property name="visible">True</property>
-	      <property name="visible_window">True</property>
-	      <property name="above_child">False</property>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox333">
-		  <property name="border_width">12</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">12</property>
-
-		  <child>
-		    <widget class="GtkFrame" id="keyring-frame">
-		      <property name="visible">True</property>
-		      <property name="label_xalign">0</property>
-		      <property name="label_yalign">0.5</property>
-		      <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment7">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">6</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox29">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow2">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="keyring-list">
-				      <property name="height_request">150</property>
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">False</property>
-				      <property name="rules_hint">False</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <property name="fixed_height_mode">False</property>
-				      <property name="hover_selection">False</property>
-				      <property name="hover_expand">False</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox13">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">12</property>
-
-				  <child>
-				    <widget class="GtkButton" id="add-keyring">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</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="keyring_add_clicked" last_modification_time="Sat, 08 Dec 2007 20:52:46 GMT"/>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment5">
-					  <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="hbox11">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image5">
-						  <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="label25">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">_Add Keyring</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="remove-keyring">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</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="keyring_remove_clicked" last_modification_time="Sat, 08 Dec 2007 20:52:58 GMT"/>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment6">
-					  <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="hbox12">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image6">
-						  <property name="visible">True</property>
-						  <property name="stock">gtk-remove</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="label26">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">_Remove Keyring</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="password-keyring">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</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="keyring_password_clicked" last_modification_time="Sat, 08 Dec 2007 20:53:08 GMT"/>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment4">
-					  <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="hbox10">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image4">
-						  <property name="visible">True</property>
-						  <property name="stock">gtk-dialog-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="label24">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">Change Unlock _Password</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label27">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Password Keyrings&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.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">label_item</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkFrame" id="frame2">
-		      <property name="visible">True</property>
-		      <property name="label_xalign">0</property>
-		      <property name="label_yalign">0.5</property>
-		      <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment8">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">6</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</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">12</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label29">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Location for application passwords:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</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>
-
-			      <child>
-				<widget class="GtkComboBox" id="default-keyring">
-				  <property name="visible">True</property>
-				  <property name="add_tearoffs">False</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label28">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Default Keyring&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.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">label_item</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label3">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Password Keyrings</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
 	    <widget class="GtkVBox" id="encryption-tab">
 	      <property name="border_width">12</property>
 	      <property name="visible">True</property>
@@ -1070,354 +586,6 @@
 	      <property name="type">tab</property>
 	    </packing>
 	  </child>
-
-	  <child>
-	    <widget class="GtkTable" id="keyserver-tab">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="n_rows">4</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">12</property>
-	      <property name="column_spacing">12</property>
-
-	      <child>
-		<widget class="GtkVBox" id="keyserver-publish">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <placeholder/>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox2">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">11</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label8">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Find keys via:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">scrolledwindow1</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="keyserver_add">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-add</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="keyserver_add_clicked"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="keyserver_remove">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-remove</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="keyserver_remove_clicked"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow1">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="keyservers">
-		      <property name="height_request">130</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">False</property>
-		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
-		      <property name="fixed_height_mode">False</property>
-		      <property name="hover_selection">False</property>
-		      <property name="hover_expand">False</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="keyserver-publish-to-label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Publish keys to:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options"></property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="auto_retrieve">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Automatically retrieve keys from _key servers</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="auto_sync">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Automatically synchronize _modified keys with key servers</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">3</property>
-		  <property name="bottom_attach">4</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label7b">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Key Servers</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="sharing-tab">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkCheckButton" id="enable-sharing">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Share my keys with others on my network</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox6">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">12</property>
-
-		  <child>
-		    <widget class="GtkImage" id="key-sharing-image">
-		      <property name="visible">True</property>
-		      <property name="icon_size">6</property>
-		      <property name="icon_name">seahorse-share-keys</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label14">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Sharing your keys allows other people on your network to use the keys you've collected. This means they can automatically encrypt things for you or those you know, without you having to send them your key.
-
-&lt;b&gt;Note:&lt;/b&gt; Your personal keys will not be compromised.</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">True</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>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label12">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Key Sharing</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>

Modified: plugins/trunk/libseahorse/seahorse-prefs.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-prefs.h	(original)
+++ plugins/trunk/libseahorse/seahorse-prefs.h	Thu Apr 17 23:36:03 2008
@@ -26,7 +26,6 @@
 #ifndef __SEAHORSE_PREFS_H__
 #define __SEAHORSE_PREFS_H__
 
-#include "seahorse-context.h"
 #include "seahorse-widget.h"
 
 SeahorseWidget *    seahorse_prefs_new          (GtkWindow *parent);

Modified: plugins/trunk/libseahorse/seahorse-progress.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-progress.h	(original)
+++ plugins/trunk/libseahorse/seahorse-progress.h	Thu Apr 17 23:36:03 2008
@@ -28,7 +28,6 @@
 
 #include "seahorse-operation.h"
 #include "seahorse-widget.h"
-#include "seahorse-context.h"
 
 /* -----------------------------------------------------------------------------
  * SEAHORSE APPBAR HOOKS

Modified: plugins/trunk/libseahorse/seahorse-util.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-util.c	(original)
+++ plugins/trunk/libseahorse/seahorse-util.c	Thu Apr 17 23:36:03 2008
@@ -28,8 +28,11 @@
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>
+#include <errno.h>
 
-#include <gnome.h>
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <libgnomevfs/gnome-vfs.h>
 
 #ifdef WITH_SHARING
@@ -39,15 +42,9 @@
 
 #include "seahorse-gpgmex.h"
 #include "seahorse-util.h"
-#include "seahorse-key.h"
-#include "seahorse-pgp-key.h"
 #include "seahorse-gconf.h"
 #include "seahorse-vfs-data.h"
 
-#ifdef WITH_SSH
-#include "seahorse-ssh-key.h"
-#endif
-
 static const gchar *bad_filename_chars = "/\\<>|";
 
 void
@@ -397,31 +394,6 @@
 }
 
 
-gchar*      
-seahorse_util_filename_for_keys (GList *keys)
-{
-    SeahorseKey *skey;
-    gchar *t, *r;
-    
-    g_return_val_if_fail (g_list_length (keys) > 0, NULL);
-
-    if (g_list_length (keys) == 1) {
-        g_return_val_if_fail (SEAHORSE_IS_KEY (keys->data), NULL);
-        skey = SEAHORSE_KEY (keys->data);
-        t = seahorse_key_get_simple_name (skey);
-        if (t == NULL)
-            t = g_strdup (_("Key Data"));
-    } else {
-        t = g_strdup (_("Multiple Keys"));
-    }
-    
-    g_strstrip (t);
-    g_strdelimit (t, bad_filename_chars, '_');
-    r = g_strconcat (t, SEAHORSE_EXT_ASC, NULL);
-    g_free (t);
-    return r;
-}
-
 /** 
  * seahorse_util_uri_get_last:
  * @uri: The uri to parse
@@ -753,56 +725,6 @@
     return TRUE;
 }
 
-GQuark
-seahorse_util_detect_mime_type (const gchar *mime)
-{
-    if (!mime || g_ascii_strcasecmp (mime, GNOME_VFS_MIME_TYPE_UNKNOWN) == 0) {
-        g_warning ("couldn't get mime type for data");
-        return 0;
-    }
-
-    if (g_ascii_strcasecmp (mime, "application/pgp-keys") == 0)
-        return SKEY_PGP;
-    
-#ifdef WITH_SSH 
-    /* TODO: For now all PEM keys are treated as SSH keys */
-    else if (g_ascii_strcasecmp (mime, "application/x-ssh-key") == 0 ||
-             g_ascii_strcasecmp (mime, "application/x-pem-key") == 0)
-        return SKEY_SSH;
-#endif 
-    
-    g_warning ("unsupported type of key data: %s", mime);
-    return 0;
-}
-
-GQuark
-seahorse_util_detect_data_type (const gchar *data, guint length)
-{
-    const gchar* mime = gnome_vfs_get_mime_type_for_data (data, length);
-    return seahorse_util_detect_mime_type (mime);
-}
-
-GQuark
-seahorse_util_detect_file_type (const gchar *uri)
-{
-    GnomeVFSResult res;
-    GnomeVFSFileInfo *info;
-    GQuark ret = 0;
-    
-    info = gnome_vfs_file_info_new ();
-    res = gnome_vfs_get_file_info (uri, info, 
-            GNOME_VFS_FILE_INFO_GET_MIME_TYPE | GNOME_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE);
-    
-    if (res == GNOME_VFS_OK)
-        ret = seahorse_util_detect_mime_type (info->mime_type);
-    else
-        g_warning ("couldn't get mime type for: %s: %s", uri, 
-                   gnome_vfs_result_to_string (res));
-
-    gnome_vfs_file_info_unref (info);
-    return ret;
-}
-
 gboolean
 seahorse_util_write_file_private (const gchar* filename, const gchar* contents, GError **err)
 {
@@ -852,10 +774,6 @@
        cases that extension is associated with text/plain */
     gtk_file_filter_set_name (filter, _("All key files"));
     gtk_file_filter_add_mime_type (filter, "application/pgp-keys");
-#ifdef WITH_SSH 
-    gtk_file_filter_add_mime_type (filter, "application/x-ssh-key");
-    gtk_file_filter_add_mime_type (filter, "application/x-pem-key");
-#endif
     gtk_file_filter_add_pattern (filter, "*.asc");
     gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);    
     gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter);
@@ -906,18 +824,6 @@
     gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);   
 }
 
-void
-seahorse_util_chooser_set_filename (GtkWidget *dialog, GList *keys)
-{
-    gchar *t = NULL;
-    
-    if (g_list_length (keys) > 0) {
-        t = seahorse_util_filename_for_keys (keys);
-        gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), t);
-        g_free (t);
-    }
-}
-    
 gchar*      
 seahorse_util_chooser_save_prompt (GtkWidget *dialog)
 {
@@ -1104,25 +1010,6 @@
     return len;
 }
 
-/* TODO: This function no longer makes sense once we 
-   have multiple key and encryption types */
-gpgme_key_t* 
-seahorse_util_keylist_to_keys (GList *keys)
-{
-    gpgme_key_t *recips;
-    int i;
-    
-    recips = g_new0 (gpgme_key_t, g_list_length (keys) + 1);
-    
-    for (i = 0; keys != NULL; keys = g_list_next (keys), i++) {
-        g_return_val_if_fail (SEAHORSE_IS_PGP_KEY (keys->data), recips);
-        recips[i] = SEAHORSE_PGP_KEY (keys->data)->pubkey;
-        gpgmex_key_ref (recips[i]);
-    }
-    
-    return recips;
-}
-
 void
 seahorse_util_free_keys (gpgme_key_t* keys)
 {
@@ -1134,61 +1021,6 @@
     g_free (keys);
 }
 
-static gint 
-sort_keys_by_source (SeahorseKey *k1, SeahorseKey *k2)
-{
-    SeahorseKeySource *sk1, *sk2;
-    
-    g_assert (SEAHORSE_IS_KEY (k1));
-    g_assert (SEAHORSE_IS_KEY (k2));
-    
-    sk1 = seahorse_key_get_source (k1);
-    sk2 = seahorse_key_get_source (k2);
-    
-    if (sk1 == sk2)
-        return 0;
-    
-    return sk1 < sk2 ? -1 : 1;
-}
-
-GList*        
-seahorse_util_keylist_sort (GList *keys)
-{
-    return g_list_sort (keys, (GCompareFunc)sort_keys_by_source);
-}
-
-GList*       
-seahorse_util_keylist_splice (GList *keys)
-{
-    SeahorseKeySource *psk = NULL;
-    SeahorseKeySource *sk;
-    GList *prev = NULL;
-    
-    /* Note that the keylist must be sorted */
-    
-    for ( ; keys; keys = g_list_next (keys)) {
-     
-        g_return_val_if_fail (SEAHORSE_IS_KEY (keys->data), NULL);
-        sk = seahorse_key_get_source (SEAHORSE_KEY (keys->data));
-        
-        /* Found a disconuity */
-        if (psk && sk != psk) {
-            g_assert (prev != NULL);
-            
-            /* Break the list */
-            prev->next = NULL;
-            
-            /* And return the new list */
-            return keys;
-        }
-        
-        psk = sk;
-        prev = keys;
-    }
-    
-    return NULL;
-}
-
 gboolean    
 seahorse_util_string_equals (const gchar *s1, const gchar *s2)
 {
@@ -1341,48 +1173,3 @@
         *push_in = TRUE;
 }            
 
-/* -----------------------------------------------------------------------------
- * DNS-SD Stuff 
- */
-
-#ifdef WITH_SHARING
-
-/* 
- * We have this stuff here because it needs to:
- *  - Be usable from libseahorse and anything within libseahorse
- *  - Be initialized properly only once per process. 
- */
-
-#include <avahi-glib/glib-watch.h>
-#include <avahi-glib/glib-malloc.h>
-
-static AvahiGLibPoll *avahi_poll = NULL;
-
-static void
-free_avahi ()
-{
-    if (avahi_poll)
-        avahi_glib_poll_free (avahi_poll);
-    avahi_poll = NULL;
-}
-
-const AvahiPoll*
-seahorse_util_dns_sd_get_poll ()
-{
-    if (!avahi_poll) {
-        
-        avahi_set_allocator (avahi_glib_allocator ());
-        
-        avahi_poll = avahi_glib_poll_new (NULL, G_PRIORITY_DEFAULT);
-        if (!avahi_poll) {
-            g_warning ("couldn't initialize avahi glib poll integration");
-            return NULL;
-        }
-        
-        g_atexit (free_avahi);
-    }
-    
-    return avahi_glib_poll_get (avahi_poll);
-}
-
-#endif

Modified: plugins/trunk/libseahorse/seahorse-util.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-util.h	(original)
+++ plugins/trunk/libseahorse/seahorse-util.h	Thu Apr 17 23:36:03 2008
@@ -32,12 +32,6 @@
 #include <gpgme.h>
 
 #include "config.h"
-#include "seahorse-context.h"
-
-#ifdef WITH_SHARING
-#include <avahi-client/client.h>
-const AvahiPoll* seahorse_util_dns_sd_get_poll ();
-#endif
 
 typedef enum {
     SEAHORSE_CRYPT_SUFFIX,
@@ -88,8 +82,6 @@
 gboolean    seahorse_util_printf_fd         (int fd, 
                                              const char* data, ...);
                              
-gchar*      seahorse_util_filename_for_keys (GList *keys);
-                                             
 gboolean    seahorse_util_uri_exists        (const gchar* uri);
 
 gchar*      seahorse_util_uri_unique        (const gchar* uri);
@@ -106,13 +98,6 @@
 gboolean    seahorse_util_uris_package      (const gchar* package, 
                                              const gchar** uris);
 
-GQuark      seahorse_util_detect_mime_type   (const gchar *mime);
-
-GQuark      seahorse_util_detect_data_type   (const gchar *data,
-                                              guint length);
-
-GQuark      seahorse_util_detect_file_type   (const gchar *uri);
-
 gboolean    seahorse_util_write_file_private            (const gchar* filename,
                                                          const gchar* contents,
                                                          GError **err);
@@ -127,9 +112,6 @@
 
 void        seahorse_util_chooser_show_archive_files    (GtkWidget *dialog);
 
-void        seahorse_util_chooser_set_filename          (GtkWidget *dialog, 
-                                                         GList *keys);
-
 gchar*      seahorse_util_chooser_open_prompt           (GtkWidget *dialog);
 
 gchar*      seahorse_util_chooser_save_prompt           (GtkWidget *dialog);
@@ -148,12 +130,6 @@
 
 guint       seahorse_util_strvec_length       (const gchar      **vec);
 
-gpgme_key_t* seahorse_util_keylist_to_keys    (GList *keys);
-
-GList*       seahorse_util_keylist_sort       (GList *keys);
-
-GList*       seahorse_util_keylist_splice     (GList *keys);
-
 void         seahorse_util_free_keys          (gpgme_key_t* keys);
 
 gboolean    seahorse_util_string_equals       (const gchar *s1, const gchar *s2);

Modified: plugins/trunk/libseahorse/seahorse-validity.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-validity.c	(original)
+++ plugins/trunk/libseahorse/seahorse-validity.c	Thu Apr 17 23:36:03 2008
@@ -19,7 +19,8 @@
  * Boston, MA 02111-1307, USA.
  */
 #include <config.h>
-#include <gnome.h>
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
 
 #include "seahorse-validity.h"
 

Modified: plugins/trunk/libseahorse/seahorse-vfs-data.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-vfs-data.c	(original)
+++ plugins/trunk/libseahorse/seahorse-vfs-data.c	Thu Apr 17 23:36:03 2008
@@ -22,12 +22,13 @@
 #include <sys/types.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#include <errno.h>
+#include <string.h>
 
-#include <gnome.h>
+#include <gtk/gtk.h>
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-gpgmex.h"
-#include "seahorse-context.h"
 #include "seahorse-vfs-data.h"
 #include "seahorse-util.h"
 

Modified: plugins/trunk/libseahorse/seahorse-widget.c
==============================================================================
--- plugins/trunk/libseahorse/seahorse-widget.c	(original)
+++ plugins/trunk/libseahorse/seahorse-widget.c	Thu Apr 17 23:36:03 2008
@@ -20,8 +20,11 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <config.h>
-#include <gnome.h>
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
 #include <glade/glade.h>
 #include <glade/glade-build.h>
 
@@ -105,18 +108,10 @@
                              NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 }
 
-/* Destroy widget when context is destroyed */
-static void
-context_destroyed (GtkObject *object, SeahorseWidget *swidget)
-{
-	seahorse_widget_destroy (swidget);
-}
-
 static void
 object_init (SeahorseWidget *swidget)
 {
-    g_signal_connect_after (SCTX_APP(), "destroy", 
-                G_CALLBACK (context_destroyed), swidget);
+
 }
 
 /* Disconnects callbacks, destroys main window widget,
@@ -137,7 +132,6 @@
     	}
     }
 
-	g_signal_handlers_disconnect_by_func (SCTX_APP (), context_destroyed, swidget);
     if (glade_xml_get_widget (swidget->xml, swidget->name))
 	    gtk_widget_destroy (glade_xml_get_widget (swidget->xml, swidget->name));
 	

Modified: plugins/trunk/libseahorse/seahorse-widget.h
==============================================================================
--- plugins/trunk/libseahorse/seahorse-widget.h	(original)
+++ plugins/trunk/libseahorse/seahorse-widget.h	Thu Apr 17 23:36:03 2008
@@ -38,10 +38,9 @@
 #define __SEAHORSE_WIDGET_H__
 
 #include <glib.h>
+#include <gtk/gtk.h>
 #include <glade/glade-xml.h>
 
-#include "seahorse-context.h"
-
 #define SEAHORSE_TYPE_WIDGET            (seahorse_widget_get_type ())
 #define SEAHORSE_WIDGET(obj)            (GTK_CHECK_CAST ((obj), SEAHORSE_TYPE_WIDGET, SeahorseWidget))
 #define SEAHORSE_WIDGET_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_WIDGET, SeahorseWidgetClass))

Modified: plugins/trunk/pixmaps/22x22/Makefile.am
==============================================================================
--- plugins/trunk/pixmaps/22x22/Makefile.am	(original)
+++ plugins/trunk/pixmaps/22x22/Makefile.am	Thu Apr 17 23:36:03 2008
@@ -8,10 +8,6 @@
                 seahorse-applet-text.png \
                 seahorse-applet-unknown.png \
                 seahorse-key.png \
-                seahorse-key-personal.png \
-                seahorse-key-ssh.png \
-                seahorse-person.png \
-                seahorse-share-keys.png \
                 seahorse-sign.png \
                 seahorse-sign-ok.png \
                 seahorse-sign-bad.png
@@ -24,10 +20,6 @@
                 seahorse-applet-text.svg \
                 seahorse-applet-unknown.svg \
                 seahorse-key.svg \
-                seahorse-key-personal.svg \
-                seahorse-key-ssh.svg \
-                seahorse-person.svg \
-                seahorse-share-keys.svg \
                 seahorse-sign.svg \
                 seahorse-sign-ok.svg \
                 seahorse-sign-bad.svg

Modified: plugins/trunk/pixmaps/48x48/Makefile.am
==============================================================================
--- plugins/trunk/pixmaps/48x48/Makefile.am	(original)
+++ plugins/trunk/pixmaps/48x48/Makefile.am	Thu Apr 17 23:36:03 2008
@@ -9,10 +9,6 @@
                 seahorse-applet-text.png \
                 seahorse-applet-unknown.png \
                 seahorse-key.png \
-                seahorse-key-personal.png \
-                seahorse-key-ssh.png \
-                seahorse-person.png \
-                seahorse-share-keys.png \
                 seahorse-sign.png \
                 seahorse-sign-bad.png \
                 seahorse-sign-ok.png \

Modified: plugins/trunk/plugins/applet/seahorse-applet.c
==============================================================================
--- plugins/trunk/plugins/applet/seahorse-applet.c	(original)
+++ plugins/trunk/plugins/applet/seahorse-applet.c	Thu Apr 17 23:36:03 2008
@@ -29,8 +29,6 @@
 
 #include "seahorse-applet.h"
 #include "seahorse-gtkstock.h"
-#include "seahorse-context.h"
-#include "seahorse-pgp-key.h"
 #include "seahorse-libdialogs.h"
 #include "seahorse-widget.h"
 #include "seahorse-util.h"
@@ -142,7 +140,6 @@
 typedef struct _SeahorseAppletPrivate {
     GtkWidget           *image;
     GtkTooltips         *tooltips;
-    SeahorseContext     *context;
     GtkClipboard        *board;
     GtkWidget           *menu;
     SeahorseTextType    clipboard_contents;
@@ -156,18 +153,6 @@
  * INTERNAL HELPERS
  */
 
-static void
-init_context (SeahorseApplet *sapplet)
-{
-    SeahorseAppletPrivate *priv;
-    
-    priv = SEAHORSE_APPLET_GET_PRIVATE (sapplet);
-    if (!priv->context) {
-        priv->context = seahorse_context_new (SEAHORSE_CONTEXT_APP, SKEY_PGP);
-        seahorse_context_load_local_keys_async (priv->context);
-    }
-}
-
 SeahorseTextType    
 detect_text_type (const gchar *text, gint len, const gchar **start, const gchar **end)
 {
@@ -640,9 +625,6 @@
     GtkWidget *widget;
     GdkPixbuf *pixbuf;
     
-    /* SeahorseWidget needs a SeahorseContext initialized */
-    init_context (sapplet);
-    
     swidget = seahorse_widget_new ("applet-preferences", NULL);
     
     widget = glade_xml_get_widget (swidget->xml, swidget->name);
@@ -887,10 +869,6 @@
     SeahorseAppletPrivate *priv = SEAHORSE_APPLET_GET_PRIVATE (object);
 
     if (priv) {
-        if (priv->context)
-            seahorse_context_destroy (priv->context);
-        priv->context = NULL;
-        
         if (priv->menu)
             gtk_widget_destroy (priv->menu);
         priv->menu = NULL;

Modified: plugins/trunk/plugins/nautilus/seahorse-pgp-preferences.c
==============================================================================
--- plugins/trunk/plugins/nautilus/seahorse-pgp-preferences.c	(original)
+++ plugins/trunk/plugins/nautilus/seahorse-pgp-preferences.c	Thu Apr 17 23:36:03 2008
@@ -23,16 +23,12 @@
 #include <gnome.h>
 #include <locale.h>
 
-#include "seahorse-context.h"
 #include "seahorse-prefs.h"
 #include "seahorse-gtkstock.h"
 
 #ifdef WITH_AGENT
 static gboolean show_cache = FALSE;
 #endif
-#ifdef WITH_SHARING
-static gboolean show_sharing = FALSE;
-#endif
 #ifdef WITH_APPLET
 static gboolean show_applet = FALSE;
 #endif
@@ -42,10 +38,6 @@
 	{ "cache", 'c', 0, G_OPTION_ARG_NONE, &show_cache,
 	    N_("For internal use"), NULL },
 #endif 
-#ifdef WITH_SHARING   
-	{ "sharing", 's', 0, G_OPTION_ARG_NONE, &show_sharing, 
-	    N_("For internal use"), NULL },
-#endif 
     { NULL }
 };
 
@@ -59,7 +51,6 @@
 main (int argc, char **argv)
 {
     SeahorseWidget *swidget;
-    SeahorseOperation *op;
     GOptionContext *octx = NULL;
 
     bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
@@ -77,13 +68,6 @@
     /* Insert Icons into Stock */ 
     seahorse_gtkstock_init();
     
-    /* The default SeahorseContext */
-    seahorse_context_new (SEAHORSE_CONTEXT_APP, 0);
-    op = seahorse_context_load_local_keys (SCTX_APP ());
-    
-    /* Let operation take care of itself */
-    g_object_unref (op);
-   
     swidget = seahorse_prefs_new (NULL);
 	g_signal_connect (seahorse_widget_get_top (swidget), "destroy", 
                       G_CALLBACK (destroyed), NULL);
@@ -94,12 +78,6 @@
         seahorse_prefs_select_tab (swidget, tab);
     }
 #endif
-#ifdef WITH_SHARING	
-    if (show_sharing) {
-        GtkWidget *tab = glade_xml_get_widget (swidget->xml, "sharing-tab");
-        seahorse_prefs_select_tab (swidget, tab);
-    }
-#endif
    
 	gtk_main();
 	return 0;

Modified: plugins/trunk/plugins/nautilus/seahorse-tool-files.c
==============================================================================
--- plugins/trunk/plugins/nautilus/seahorse-tool-files.c	(original)
+++ plugins/trunk/plugins/nautilus/seahorse-tool-files.c	Thu Apr 17 23:36:03 2008
@@ -29,7 +29,6 @@
 #include <libgnomevfs/gnome-vfs.h>
 
 #include "seahorse-tool.h"
-#include "seahorse-context.h"
 #include "seahorse-util.h"
 #include "seahorse-widget.h"
 #include "seahorse-gconf.h"

Modified: plugins/trunk/plugins/nautilus/seahorse-tool-progress.c
==============================================================================
--- plugins/trunk/plugins/nautilus/seahorse-tool-progress.c	(original)
+++ plugins/trunk/plugins/nautilus/seahorse-tool-progress.c	Thu Apr 17 23:36:03 2008
@@ -156,7 +156,6 @@
 progress_main (int argc, char* argv[])
 {
     SeahorseOperation *op;
-    SeahorseContext *sctx;
     GIOChannel *io;
     
     gtk_init (&argc, &argv);
@@ -164,9 +163,6 @@
     /* Insert Icons into Stock */ 
     seahorse_gtkstock_init();
     
-    /* New app context, without loading any keys */
-    sctx = seahorse_context_new (SEAHORSE_CONTEXT_APP, -1);
-
     op = g_object_new (SEAHORSE_TYPE_OPERATION, NULL);
     seahorse_operation_mark_start (op);
     
@@ -186,7 +182,6 @@
     
     if (seahorse_operation_is_running (op))
         seahorse_operation_mark_done (op, FALSE, NULL);
-    seahorse_context_destroy (sctx);
         
     return 0;
 }

Modified: plugins/trunk/plugins/nautilus/seahorse-tool.c
==============================================================================
--- plugins/trunk/plugins/nautilus/seahorse-tool.c	(original)
+++ plugins/trunk/plugins/nautilus/seahorse-tool.c	Thu Apr 17 23:36:03 2008
@@ -629,7 +629,6 @@
 {
     GOptionContext *octx = NULL;
     SeahorseToolMode mode;
-    SeahorseContext *sctx;
     gchar **uris = NULL;
     int ret = 0;
 
@@ -668,9 +667,6 @@
     /* Insert Icons into Stock */ 
     seahorse_gtkstock_init();
     
-    /* Make the default SeahorseContext */
-    sctx = seahorse_context_new (SEAHORSE_CONTEXT_APP, 0);
-    
     /* The basic settings for the operation */
     memset (&mode, 0, sizeof (mode));
     
@@ -739,8 +735,6 @@
     
     g_strfreev (uris);
     
-    seahorse_context_destroy (sctx);
-        
     if (gnome_vfs_initialized ())
         gnome_vfs_shutdown ();
     

Modified: plugins/trunk/po/POTFILES.in
==============================================================================
--- plugins/trunk/po/POTFILES.in	(original)
+++ plugins/trunk/po/POTFILES.in	Thu Apr 17 23:36:03 2008
@@ -7,41 +7,18 @@
 agent/seahorse-agent-main.c
 agent/seahorse-agent-prompt.c
 agent/seahorse-agent-status.c
-daemon/seahorse-daemon.c
-daemon/seahorse-service.c
-daemon/seahorse-service-crypto.c
-daemon/seahorse-service-keyset.c
-daemon/seahorse-sharing.c
 data/seahorse.schemas.in
 libcryptui/cryptui-key-chooser.c
 libcryptui/cryptui-key-list.c
-libseahorse/seahorse-add-keyring.glade
-libseahorse/seahorse-add-keyserver.glade
-libseahorse/seahorse-context.c
 libseahorse/seahorse-gpg-options.c
-libseahorse/seahorse-hkp-source.c
-libseahorse/seahorse-ldap-source.c
 libseahorse/seahorse-notification.c
 libseahorse/seahorse-notify.glade
 libseahorse/seahorse-passphrase.c
-libseahorse/seahorse-pgp-key.c
-libseahorse/seahorse-pgp-key-op.c
-libseahorse/seahorse-pgp-source.c
 libseahorse/seahorse-prefs.c
 libseahorse/seahorse-prefs-cache.c
-libseahorse/seahorse-prefs-keyrings.c
 libseahorse/seahorse-prefs.glade
 libseahorse/seahorse-progress.glade
 libseahorse/seahorse-secure-entry.c
-libseahorse/seahorse-server-source.c
-libseahorse/seahorse-signer.c
-libseahorse/seahorse-signer.glade
-libseahorse/seahorse-ssh-askpass.c
-libseahorse/seahorse-ssh-key.c
-libseahorse/seahorse-ssh-operation.c
-libseahorse/seahorse-ssh-source.c
-libseahorse/seahorse-unknown-key.c
-libseahorse/seahorse-unknown-source.c
 libseahorse/seahorse-util.c
 libseahorse/seahorse-validity.c
 libseahorse/seahorse-widget.c
@@ -60,49 +37,4 @@
 plugins/nautilus/seahorse-pgp-preferences.desktop.in
 plugins/nautilus/seahorse-tool.c
 plugins/nautilus/seahorse-tool-files.c
-src/main.c
-src/seahorse-add-subkey.c
-src/seahorse-add-subkey.glade
-src/seahorse-add-uid.c
-src/seahorse-add-uid.glade
-src/seahorse-change-passphrase.glade
-src/seahorse-delete.c
-src/seahorse.desktop.in.in
-src/seahorse-expires.c
-src/seahorse-expires.glade
-src/seahorse-generate-select.c
-src/seahorse-generate-select.glade
-src/seahorse-gkeyring-item.c
-src/seahorse-gkeyring-item-properties.c
-src/seahorse-gkeyring-item-properties.glade
-src/seahorse-gkeyring-operation.c
-src/seahorse-gkeyring-source.c
-src/seahorse-key-manager.c
-src/seahorse-key-manager.glade
-src/seahorse-key-manager-store.c
-src/seahorse-key-properties.c
-src/seahorse-keyserver-results.c
-src/seahorse-keyserver-results.glade
-src/seahorse-keyserver-search.c
-src/seahorse-keyserver-search.glade
-src/seahorse-keyserver-sync.c
-src/seahorse-keyserver-sync.glade
-src/seahorse-multi-encrypt.glade
-src/seahorse-pgp-encrypted.desktop.in.in
-src/seahorse-pgp-generate.c
-src/seahorse-pgp-generate.glade
-src/seahorse-pgp-keys.desktop.in.in
-src/seahorse-pgp-private-key-properties.glade
-src/seahorse-pgp-public-key-properties.glade
-src/seahorse-pgp-signature.desktop.in.in
-src/seahorse-photos.c
-src/seahorse-revoke.c
-src/seahorse-revoke.glade
-src/seahorse-sign.c
-src/seahorse-sign.glade
-src/seahorse-ssh-generate.c
-src/seahorse-ssh-generate.glade
-src/seahorse-ssh-key-properties.c
-src/seahorse-ssh-key-properties.glade
-src/seahorse-ssh-upload.c
-src/seahorse-ssh-upload.glade
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]