[seahorse/bye-gpgme-op-edit] gpgme: Remove gpgme_op_edit for gpgme_op_interact




commit 64bd8cfb35be7b7088f080565516df7c329690c8
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Fri Feb 26 18:46:59 2021 +0100

    gpgme: Remove gpgme_op_edit for gpgme_op_interact
    
    `gpgme_op_edit()` was deprecated quite some time ago in favor of
    `gpgme_op_interact()`, so use that instead.
    
    Use the opportunity of touching a whole lot of lines in that file to
    reindent everything properly as well.

 pgp/seahorse-gpgme-key-op.c | 2299 ++++++++++++++++++++++---------------------
 1 file changed, 1174 insertions(+), 1125 deletions(-)
---
diff --git a/pgp/seahorse-gpgme-key-op.c b/pgp/seahorse-gpgme-key-op.c
index 8c75f018..0b9f8813 100644
--- a/pgp/seahorse-gpgme-key-op.c
+++ b/pgp/seahorse-gpgme-key-op.c
@@ -39,6 +39,7 @@
 #include <string.h>
 #include <unistd.h>
 
+/* Common values of the "args" arg */
 #define PROMPT "keyedit.prompt"
 #define QUIT "quit"
 #define SAVE "keyedit.save.okay"
@@ -103,11 +104,11 @@ seahorse_gpgme_key_op_generate_async (SeahorseGpgmeKeyring *keyring,
                                       const char           *comment,
                                       const char           *passphrase,
                                       SeahorseKeyEncType   type,
-                                      guint                length,
+                                      unsigned int         length,
                                       GDateTime           *expires,
                                       GCancellable        *cancellable,
                                       GAsyncReadyCallback  callback,
-                                      gpointer             user_data)
+                                      void                *user_data)
 {
     const char* key_type;
     g_autofree char *common = NULL, *start = NULL, *expires_date = NULL;
@@ -211,431 +212,450 @@ seahorse_gpgme_key_op_generate_finish (SeahorseGpgmeKeyring *keyring,
 static gpgme_error_t
 op_delete (SeahorseGpgmeKey *pkey, gboolean secret)
 {
-       SeahorseGpgmeKeyring *keyring;
-       gpgme_error_t gerr;
-       gpgme_key_t key;
-       gpgme_ctx_t ctx;
+    SeahorseGpgmeKeyring *keyring;
+    gpgme_error_t gerr;
+    gpgme_key_t key;
+    gpgme_ctx_t ctx;
 
-       keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey)));
-       g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING));
+    keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey)));
+    g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING));
 
-       g_object_ref (pkey);
+    g_object_ref (pkey);
 
-       seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL);
+    seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL);
 
-       ctx = seahorse_gpgme_keyring_new_context (&gerr);
-       if (ctx == NULL)
-               return gerr;
+    ctx = seahorse_gpgme_keyring_new_context (&gerr);
+    if (ctx == NULL)
+        return gerr;
 
-       gerr = gpgme_op_delete (ctx, key, secret);
-       if (GPG_IS_OK (gerr))
-               seahorse_gpgme_keyring_remove_key (keyring, SEAHORSE_GPGME_KEY (pkey));
+    gerr = gpgme_op_delete (ctx, key, secret);
+    if (GPG_IS_OK (gerr))
+        seahorse_gpgme_keyring_remove_key (keyring, SEAHORSE_GPGME_KEY (pkey));
 
-       gpgme_release (ctx);
-       g_object_unref (pkey);
-       return gerr;
+    gpgme_release (ctx);
+    g_object_unref (pkey);
+    return gerr;
 }
 
 gpgme_error_t
 seahorse_gpgme_key_op_delete (SeahorseGpgmeKey *pkey)
 {
-       return op_delete (pkey, FALSE);
+    return op_delete (pkey, FALSE);
 }
 
 
 gpgme_error_t
 seahorse_gpgme_key_op_delete_pair (SeahorseGpgmeKey *pkey)
 {
-       return op_delete (pkey, TRUE);
+    return op_delete (pkey, TRUE);
 }
 
 /* Main key edit setup, structure, and a good deal of method content borrowed from gpa */
 
 /* Edit action function */
-typedef gpgme_error_t  (*SeahorseEditAction)   (guint                  state,
-                                                gpointer               data,
-                                                gint                   fd);
+typedef gpgme_error_t (*SeahorseEditAction) (unsigned int  state,
+                                             void         *data,
+                                             int           fd);
 /* Edit transit function */
-typedef guint          (*SeahorseEditTransit)  (guint                  current_state,
-                                                gpgme_status_code_t    status,
-                                                const gchar            *args,
-                                                gpointer               data,
-                                                gpgme_error_t          *err);
+typedef unsigned int (*SeahorseEditTransit) (unsigned int   current_state,
+                                             const char    *status,
+                                             const char    *args,
+                                             void          *data,
+                                             gpgme_error_t *err);
 
 /* Edit parameters */
 typedef struct
 {
-       guint                   state;
-       gpgme_error_t           err;
-       SeahorseEditAction      action;
-       SeahorseEditTransit     transit;
-       gpointer                data;
-       
+    unsigned int         state;
+    gpgme_error_t        err;
+    SeahorseEditAction   action;
+    SeahorseEditTransit  transit;
+    void                *data;
 } SeahorseEditParm;
 
 /* Creates new edit parameters with defaults */
 static SeahorseEditParm*
-seahorse_edit_parm_new (guint state, SeahorseEditAction action,
-                       SeahorseEditTransit transit, gpointer data)
-{
-       SeahorseEditParm *parms;
-       
-       parms = g_new0 (SeahorseEditParm, 1);
-       parms->state = state;
-       parms->err = GPG_OK;
-       parms->action = action;
-       parms->transit = transit;
-       parms->data = data;
-       
-       return parms;
+seahorse_edit_parm_new (unsigned int         state,
+                        SeahorseEditAction   action,
+                        SeahorseEditTransit  transit,
+                        void                *data)
+{
+    SeahorseEditParm *parms;
+
+    parms = g_new0 (SeahorseEditParm, 1);
+    parms->state = state;
+    parms->err = GPG_OK;
+    parms->action = action;
+    parms->transit = transit;
+    parms->data = data;
+
+    return parms;
 }
 
 /* Edit callback for gpgme */
 static gpgme_error_t
-seahorse_gpgme_key_op_edit (gpointer data, gpgme_status_code_t status,
-                            const gchar *args, int fd)
-{
-       SeahorseEditParm *parms = (SeahorseEditParm*)data;
-       
-       /* Ignore these status lines, as they don't require any response */
-       if (status == GPGME_STATUS_EOF || status == GPGME_STATUS_GOT_IT ||
-           status == GPGME_STATUS_NEED_PASSPHRASE || status == GPGME_STATUS_GOOD_PASSPHRASE ||
-           status == GPGME_STATUS_BAD_PASSPHRASE || status == GPGME_STATUS_USERID_HINT ||
-           status == GPGME_STATUS_SIGEXPIRED || status == GPGME_STATUS_KEYEXPIRED ||
-           status == GPGME_STATUS_PROGRESS || status == GPGME_STATUS_KEY_CREATED ||
-           status == GPGME_STATUS_ALREADY_SIGNED || status == GPGME_STATUS_MISSING_PASSPHRASE ||
-           status == GPGME_STATUS_KEY_CONSIDERED)
-               return parms->err;
-
-       g_debug ("[edit key] state: %d / status: %d / args: %s",
-                parms->state, status, args);
-
-       /* Choose the next state based on the current one and the input */
-       parms->state = parms->transit (parms->state, status, args, parms->data, &parms->err);
-       
-       /* Choose the action based on the state */
-       if (GPG_IS_OK (parms->err))
-               parms->err = parms->action (parms->state, parms->data, fd);
-       
-       return parms->err;
+seahorse_gpgme_key_op_interact (void       *data,
+                                const char *status,
+                                const char *args,
+                                int         fd)
+{
+    SeahorseEditParm *parms = (SeahorseEditParm *) data;
+    static const char *NO_INTERACTION_STATUSES[] = {
+        "EOF", "GOT_IT", "NEED_PASSPHRASE", "GOOD_PASSPHRASE", "BAD_PASSPHRASE",
+        "USERID_HINT", "SIGEXPIRED", "KEYEXPIRED", "PROGRESS", "KEY_CREATED",
+        "ALREADY_SIGNED", "MISSING_PASSPHRASE", "KEY_CONSIDERED",
+        NULL
+    };
+
+    g_return_val_if_fail (status, parms->err);
+
+    g_debug ("[edit key] state: %d / status: '%s' / args: '%s'",
+             parms->state, status, args);
+
+    /* An empty string represents EOF */
+    if (!status[0])
+        return parms->err;
+
+    /* Ignore these status lines, as they don't require any response */
+    if (g_strv_contains (NO_INTERACTION_STATUSES, status))
+        return parms->err;
+
+    /* Choose the next state based on the current one and the input */
+    parms->state = parms->transit (parms->state, status, args, parms->data, &parms->err);
+
+    /* Choose the action based on the state */
+    if (GPG_IS_OK (parms->err))
+        parms->err = parms->action (parms->state, parms->data, fd);
+
+    return parms->err;
 }
 
 /* Common edit operation */
 static gpgme_error_t
-edit_gpgme_key (gpgme_ctx_t ctx,
-                gpgme_key_t key,
+edit_gpgme_key (gpgme_ctx_t       ctx,
+                gpgme_key_t       key,
                 SeahorseEditParm *parms)
 {
-       gboolean own_context = FALSE;
-       gpgme_data_t out;
-       gpgme_error_t gerr;
+    gboolean own_context = FALSE;
+    gpgme_data_t out;
+    gpgme_error_t gerr;
 
-       g_assert (key);
-       g_assert (parms);
+    g_assert (key);
+    g_assert (parms);
 
-       gpgme_key_ref (key);
+    gpgme_key_ref (key);
 
-       if (ctx == NULL) {
-               ctx = seahorse_gpgme_keyring_new_context (&gerr);
-               if (ctx == NULL)
-                       return gerr;
-               own_context = TRUE;
-       }
+    if (ctx == NULL) {
+        ctx = seahorse_gpgme_keyring_new_context (&gerr);
+        if (ctx == NULL)
+            return gerr;
+        own_context = TRUE;
+    }
 
-       out = seahorse_gpgme_data_new ();
+    out = seahorse_gpgme_data_new ();
 
-       /* do edit callback, release data */
-       gerr = gpgme_op_edit (ctx, key, seahorse_gpgme_key_op_edit, parms, out);
+    /* do edit callback, release data */
+    gerr = gpgme_op_interact (ctx, key, 0, seahorse_gpgme_key_op_interact, parms, out);
 
-       if (gpgme_err_code (gerr) == GPG_ERR_BAD_PASSPHRASE) {
-               seahorse_util_show_error(NULL, _("Wrong password"), _("This was the third time you entered a 
wrong password. Please try again."));
-       }
+    if (gpgme_err_code (gerr) == GPG_ERR_BAD_PASSPHRASE) {
+        seahorse_util_show_error(NULL, _("Wrong password"), _("This was the third time you entered a wrong 
password. Please try again."));
+    }
 
-       seahorse_gpgme_data_release (out);
-       if (own_context)
-               gpgme_release (ctx);
-       gpgme_key_unref (key);
-       return gerr;
+    seahorse_gpgme_data_release (out);
+    if (own_context)
+        gpgme_release (ctx);
+    gpgme_key_unref (key);
+    return gerr;
 }
 
 static gpgme_error_t
 edit_refresh_gpgme_key (gpgme_ctx_t ctx, gpgme_key_t key, SeahorseEditParm *parms)
 {
-       gpgme_error_t gerr;
-       
-       gerr = edit_gpgme_key (ctx, key, parms);
-       if (GPG_IS_OK (gerr))
-               seahorse_gpgme_key_refresh_matching (key);
-       
-       return gerr;
+    gpgme_error_t gerr;
+
+    gerr = edit_gpgme_key (ctx, key, parms);
+    if (GPG_IS_OK (gerr))
+        seahorse_gpgme_key_refresh_matching (key);
+
+    return gerr;
 }
 
 static gpgme_error_t
 edit_key (SeahorseGpgmeKey *pkey, SeahorseEditParm *parms)
 {
-       SeahorseGpgmeKeyring *keyring;
-       gpgme_error_t gerr;
-       gpgme_key_t key;
-       gpgme_ctx_t ctx;
+    SeahorseGpgmeKeyring *keyring;
+    gpgme_error_t gerr;
+    gpgme_key_t key;
+    gpgme_ctx_t ctx;
 
-       keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey)));
-       g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING));
+    keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey)));
+    g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING));
 
-       g_object_ref (pkey);
+    g_object_ref (pkey);
 
-       seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL);
+    seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL);
 
-       ctx = seahorse_gpgme_keyring_new_context (&gerr);
-       if (ctx != NULL) {
-               gerr = edit_refresh_gpgme_key (ctx, key, parms);
-               gpgme_release (ctx);
-       }
+    ctx = seahorse_gpgme_keyring_new_context (&gerr);
+    if (ctx != NULL) {
+        gerr = edit_refresh_gpgme_key (ctx, key, parms);
+        gpgme_release (ctx);
+    }
 
-       g_object_unref (pkey);
-       return gerr;
+    g_object_unref (pkey);
+    return gerr;
 }
 
 typedef struct
 {
-       guint                   index;
-       gchar                   *command;
-       gboolean                expire;
-       SeahorseSignCheck       check;
+    unsigned int       index;
+    char              *command;
+    gboolean           expire;
+    SeahorseSignCheck  check;
 } SignParm;
 
 typedef enum
 {
-       SIGN_START,
-       SIGN_UID,
-       SIGN_COMMAND,
-       SIGN_EXPIRE,
-       SIGN_CONFIRM,
-       SIGN_CHECK,
-       SIGN_QUIT,
-       SIGN_ERROR
+    SIGN_START,
+    SIGN_UID,
+    SIGN_COMMAND,
+    SIGN_EXPIRE,
+    SIGN_CONFIRM,
+    SIGN_CHECK,
+    SIGN_QUIT,
+    SIGN_ERROR
 } SignState;
 
 /* action helper for signing a key */
 static gpgme_error_t
-sign_action (guint state, gpointer data, int fd)
+sign_action (unsigned int  state,
+             void         *data,
+             int           fd)
 {
-       SignParm *parm = (SignParm*)data;
-       
-       switch (state) {
-               /* select uid */
-               case SIGN_UID:
+    SignParm *parm = (SignParm*)data;
+
+    switch (state) {
+        /* select uid */
+        case SIGN_UID:
             PRINTF ((fd, "uid %d", parm->index));
-                       break;
-               case SIGN_COMMAND:
+            break;
+        case SIGN_COMMAND:
             PRINT ((fd, parm->command));
-                       break;
-               /* if expires */
-               case SIGN_EXPIRE:
+            break;
+        /* if expires */
+        case SIGN_EXPIRE:
             PRINT ((fd, (parm->expire) ? YES : "N"));
-                       break;
-               case SIGN_CONFIRM:
+            break;
+        case SIGN_CONFIRM:
             PRINT ((fd, YES));
-                       break;
-               case SIGN_CHECK:
+            break;
+        case SIGN_CHECK:
             PRINTF ((fd, "%d", parm->check));
-                       break;
-               case SIGN_QUIT:
+            break;
+        case SIGN_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       return GPG_E (GPG_ERR_GENERAL);
-       }
-       
+            break;
+        default:
+            return GPG_E (GPG_ERR_GENERAL);
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for signing a key */
-static guint
-sign_transit (guint current_state, gpgme_status_code_t status,
-             const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-       
-       switch (current_state) {
-               /* start state, need to select uid */
-               case SIGN_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = SIGN_UID;
-                       else {
+static unsigned int
+sign_transit (unsigned int   current_state,
+              const char    *status,
+              const char    *args,
+              void          *data,
+              gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start state, need to select uid */
+        case SIGN_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = SIGN_UID;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               /* selected uid, go to command */
-               case SIGN_UID:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = SIGN_COMMAND;
-                       else {
+            }
+            break;
+        /* selected uid, go to command */
+        case SIGN_UID:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = SIGN_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               case SIGN_COMMAND:
-                       /* if doing all uids, confirm */
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.sign_all.okay"))
-                               next_state = SIGN_CONFIRM;
-                   else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay"))
-                               next_state = SIGN_CONFIRM;
-                       /* need to do expires */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.expire"))
-                               next_state = SIGN_EXPIRE;
-                       /*  need to do check */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class"))
-                               next_state = SIGN_CHECK;
+            }
+            break;
+        case SIGN_COMMAND:
+            /* if doing all uids, confirm */
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "keyedit.sign_all.okay"))
+                next_state = SIGN_CONFIRM;
+            else if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "sign_uid.okay"))
+                next_state = SIGN_CONFIRM;
+            /* need to do expires */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "sign_uid.expire"))
+                next_state = SIGN_EXPIRE;
+            /*  need to do check */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "sign_uid.class"))
+                next_state = SIGN_CHECK;
             /* if it's already signed then send back an error */
-            else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
                 next_state = SIGN_ERROR;
                 *err = GPG_E (GPG_ERR_EALREADY);
             /* All other stuff is unexpected */
             } else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               /* did expire, go to check */
-               case SIGN_EXPIRE:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class"))
-                               next_state = SIGN_CHECK;
-                       else {
+            }
+            break;
+        /* did expire, go to check */
+        case SIGN_EXPIRE:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "sign_uid.class"))
+                next_state = SIGN_CHECK;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               case SIGN_CONFIRM:
-                       /* need to do check */
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class"))
-                               next_state = SIGN_CHECK;
-                       else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay"))
-                               next_state = SIGN_CONFIRM;
-                       /* need to do expire */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.expire"))
-                               next_state = SIGN_EXPIRE;
-                       /* quit */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = SIGN_QUIT;
-                       else {
+            }
+            break;
+        case SIGN_CONFIRM:
+            /* need to do check */
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "sign_uid.class"))
+                next_state = SIGN_CHECK;
+            else if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "sign_uid.okay"))
+                next_state = SIGN_CONFIRM;
+            /* need to do expire */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "sign_uid.expire"))
+                next_state = SIGN_EXPIRE;
+            /* quit */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = SIGN_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               /* did check, go to confirm */
-               case SIGN_CHECK:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay"))
-                               next_state = SIGN_CONFIRM;
-                       else {
+            }
+            break;
+        /* did check, go to confirm */
+        case SIGN_CHECK:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "sign_uid.okay"))
+                next_state = SIGN_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               /* quit, go to confirm to save */
-               case SIGN_QUIT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
-                               next_state = SIGN_CONFIRM;
-                       else {
-                               *err = GPG_E (GPG_ERR_GENERAL);
+            }
+            break;
+        /* quit, go to confirm to save */
+        case SIGN_QUIT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
+                next_state = SIGN_CONFIRM;
+            else {
+                *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (SIGN_ERROR);
-                       }
-                       break;
-               /* error, go to quit */
-               case SIGN_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = SIGN_QUIT;
-                       else
-                               next_state = SIGN_ERROR;
-                       break;
-          
-               default:
+            }
+            break;
+        /* error, go to quit */
+        case SIGN_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = SIGN_QUIT;
+            else
+                next_state = SIGN_ERROR;
+            break;
+
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (SIGN_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 static gpgme_error_t
-sign_process (gpgme_key_t signed_key, gpgme_key_t signing_key, guint sign_index, 
-              SeahorseSignCheck check, SeahorseSignOptions options)
-{
-       SeahorseEditParm *parms;
-       SignParm sign_parm;
-       gpgme_ctx_t ctx;
-       gpgme_error_t gerr;
-
-       ctx = seahorse_gpgme_keyring_new_context (&gerr);
-       if (ctx == NULL)
-               return gerr;
-
-        gerr = gpgme_signers_add (ctx, signing_key);
-        if (!GPG_IS_OK (gerr))
-               return gerr;
-       
-       sign_parm.index = sign_index;
-       sign_parm.expire = ((options & SIGN_EXPIRES) != 0);
-       sign_parm.check = check;
-       sign_parm.command = g_strdup_printf ("%s%ssign", 
-                                            (options & SIGN_NO_REVOKE) ? "nr" : "",
-                                            (options & SIGN_LOCAL) ? "l" : "");
-
-       parms = seahorse_edit_parm_new (SIGN_START, sign_action, sign_transit, &sign_parm);
-
-       gerr =  edit_refresh_gpgme_key (ctx, signed_key, parms);
-       g_free (sign_parm.command);
-       g_free (parms);
-        
-       gpgme_release (ctx);
-
-       return gerr;
+sign_process (gpgme_key_t         signed_key,
+              gpgme_key_t         signing_key,
+              unsigned int        sign_index,
+              SeahorseSignCheck   check,
+              SeahorseSignOptions options)
+{
+    SeahorseEditParm *parms;
+    SignParm sign_parm;
+    gpgme_ctx_t ctx;
+    gpgme_error_t gerr;
+
+    ctx = seahorse_gpgme_keyring_new_context (&gerr);
+    if (ctx == NULL)
+        return gerr;
+
+    gerr = gpgme_signers_add (ctx, signing_key);
+    if (!GPG_IS_OK (gerr))
+        return gerr;
+
+    sign_parm.index = sign_index;
+    sign_parm.expire = ((options & SIGN_EXPIRES) != 0);
+    sign_parm.check = check;
+    sign_parm.command = g_strdup_printf ("%s%ssign",
+                                         (options & SIGN_NO_REVOKE) ? "nr" : "",
+                                         (options & SIGN_LOCAL) ? "l" : "");
+
+    parms = seahorse_edit_parm_new (SIGN_START, sign_action, sign_transit, &sign_parm);
+
+    gerr =  edit_refresh_gpgme_key (ctx, signed_key, parms);
+    g_free (sign_parm.command);
+    g_free (parms);
+
+    gpgme_release (ctx);
+
+    return gerr;
 }
 
 gpgme_error_t
-seahorse_gpgme_key_op_sign_uid (SeahorseGpgmeUid *uid,  SeahorseGpgmeKey *signer, 
-                                SeahorseSignCheck check, SeahorseSignOptions options)
-{
-       gpgme_key_t signing_key;
-       gpgme_key_t signed_key;
-       guint sign_index;
-       
-       seahorse_gpgme_key_get_private (signer);
-
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       signing_key = seahorse_gpgme_key_get_private (signer);
-       g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       signed_key = seahorse_gpgme_uid_get_pubkey (uid);
-       g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_INV_VALUE));
-       
-       sign_index = seahorse_gpgme_uid_get_actual_index (uid);
-       
-       return sign_process (signed_key, signing_key, sign_index, check, options);
+seahorse_gpgme_key_op_sign_uid (SeahorseGpgmeUid    *uid,
+                                SeahorseGpgmeKey    *signer,
+                                SeahorseSignCheck    check,
+                                SeahorseSignOptions  options)
+{
+    gpgme_key_t signing_key;
+    gpgme_key_t signed_key;
+    unsigned int sign_index;
+
+    seahorse_gpgme_key_get_private (signer);
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    signing_key = seahorse_gpgme_key_get_private (signer);
+    g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    signed_key = seahorse_gpgme_uid_get_pubkey (uid);
+    g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_INV_VALUE));
+
+    sign_index = seahorse_gpgme_uid_get_actual_index (uid);
+
+    return sign_process (signed_key, signing_key, sign_index, check, options);
 }
 
 gpgme_error_t
-seahorse_gpgme_key_op_sign (SeahorseGpgmeKey *pkey, SeahorseGpgmeKey *signer, 
+seahorse_gpgme_key_op_sign (SeahorseGpgmeKey *pkey, SeahorseGpgmeKey *signer,
                             SeahorseSignCheck check, SeahorseSignOptions options)
 {
-       gpgme_key_t signing_key;
-       gpgme_key_t signed_key;
-       
-       seahorse_gpgme_key_get_private (signer);
+    gpgme_key_t signing_key;
+    gpgme_key_t signed_key;
 
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       signing_key = seahorse_gpgme_key_get_private (signer);
-       g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       signed_key = seahorse_gpgme_key_get_public (pkey);
+    seahorse_gpgme_key_get_private (signer);
 
-       return sign_process (signed_key, signing_key, 0, check, options);
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    signing_key = seahorse_gpgme_key_get_private (signer);
+    g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    signed_key = seahorse_gpgme_key_get_public (pkey);
+
+    return sign_process (signed_key, signing_key, 0, check, options);
 }
 
 static gboolean
@@ -716,114 +736,119 @@ seahorse_gpgme_key_op_change_pass_finish (SeahorseGpgmeKey *pkey,
 
 typedef enum
 {
-       TRUST_START,
-       TRUST_COMMAND,
-       TRUST_VALUE,
-       TRUST_CONFIRM,
-       TRUST_QUIT,
-       TRUST_ERROR
+    TRUST_START,
+    TRUST_COMMAND,
+    TRUST_VALUE,
+    TRUST_CONFIRM,
+    TRUST_QUIT,
+    TRUST_ERROR
 } TrustState;
 
 /* action helper for setting trust of a key */
 static gpgme_error_t
-edit_trust_action (guint state, gpointer data, int fd)
+edit_trust_action (unsigned int  state,
+                   void         *data,
+                   int           fd)
 {
-       gint trust = GPOINTER_TO_INT (data);
-       
-       switch (state) {
-               /* enter command */
-               case TRUST_COMMAND:
+    int trust = GPOINTER_TO_INT (data);
+
+    switch (state) {
+        /* enter command */
+        case TRUST_COMMAND:
             PRINT ((fd, "trust"));
-                       break;
-               /* enter numeric trust value */
-               case TRUST_VALUE:
+            break;
+        /* enter numeric trust value */
+        case TRUST_VALUE:
             PRINTF ((fd, "%d", trust));
-                       break;
-               /* confirm ultimate or if save */
-               case TRUST_CONFIRM:
+            break;
+        /* confirm ultimate or if save */
+        case TRUST_CONFIRM:
             PRINT ((fd, YES));
-                       break;
-               /* quit */
-               case TRUST_QUIT:
+            break;
+        /* quit */
+        case TRUST_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       return GPG_E (GPG_ERR_GENERAL);
-       }
-       
+            break;
+        default:
+            return GPG_E (GPG_ERR_GENERAL);
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for setting trust of a key */
-static guint
-edit_trust_transit (guint current_state, gpgme_status_code_t status,
-                   const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-       
-       switch (current_state) {
-               /* start state */
-               case TRUST_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = TRUST_COMMAND;
-                       else {
+static unsigned int
+edit_trust_transit (unsigned int   current_state,
+                    const char    *status,
+                    const char    *args,
+                    void          *data,
+                    gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start state */
+        case TRUST_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = TRUST_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (TRUST_ERROR);
-                       }
-                       break;
-               /* did command, next is value */
-               case TRUST_COMMAND:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "edit_ownertrust.value"))
-                               next_state = TRUST_VALUE;
-                       else {
+            }
+            break;
+        /* did command, next is value */
+        case TRUST_COMMAND:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "edit_ownertrust.value"))
+                next_state = TRUST_VALUE;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (TRUST_ERROR);
-                       }
-                       break;
-               /* did value, go to quit or confirm ultimate */
-               case TRUST_VALUE:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = TRUST_QUIT;
-                       else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, 
"edit_ownertrust.set_ultimate.okay"))
-                               next_state = TRUST_CONFIRM;
-                       else {
+            }
+            break;
+        /* did value, go to quit or confirm ultimate */
+        case TRUST_VALUE:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = TRUST_QUIT;
+            else if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, 
"edit_ownertrust.set_ultimate.okay"))
+                next_state = TRUST_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (TRUST_ERROR);
-                       }
-                       break;
-               /* did confirm ultimate, go to quit */
-               case TRUST_CONFIRM:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = TRUST_QUIT;
-                       else {
+            }
+            break;
+        /* did confirm ultimate, go to quit */
+        case TRUST_CONFIRM:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = TRUST_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (TRUST_ERROR);
-                       }
-                       break;
-               /* did quit, go to confirm to finish op */
-               case TRUST_QUIT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
-                               next_state = TRUST_CONFIRM;
-                       else {
+            }
+            break;
+        /* did quit, go to confirm to finish op */
+        case TRUST_QUIT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
+                next_state = TRUST_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (TRUST_ERROR);
-                       }
-                       break;
-               /* error, go to quit */
-               case TRUST_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = TRUST_QUIT;
-                       else
-                               next_state = TRUST_ERROR;
-                       break;
-               default:
+            }
+            break;
+        /* error, go to quit */
+        case TRUST_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = TRUST_QUIT;
+            else
+                next_state = TRUST_ERROR;
+            break;
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (TRUST_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 /**
@@ -840,21 +865,21 @@ edit_trust_transit (guint current_state, gpgme_status_code_t status,
 gpgme_error_t
 seahorse_gpgme_key_op_set_trust (SeahorseGpgmeKey *pkey, SeahorseValidity trust)
 {
-       SeahorseEditParm *parms;
-       gint menu_choice;
-
-       g_debug ("[GPGME_KEY_OP] set_trust: trust = %i", trust);
-
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       g_return_val_if_fail (trust >= SEAHORSE_VALIDITY_NEVER, GPG_E (GPG_ERR_INV_VALUE));
-       g_return_val_if_fail (seahorse_gpgme_key_get_trust (pkey) != trust, GPG_E (GPG_ERR_INV_VALUE));
-       
-       if (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY)
-               g_return_val_if_fail (trust != SEAHORSE_VALIDITY_UNKNOWN, GPG_E (GPG_ERR_INV_VALUE));
-       else
-               g_return_val_if_fail (trust != SEAHORSE_VALIDITY_ULTIMATE, GPG_E (GPG_ERR_INV_VALUE));
-       
-       switch (trust) {
+    SeahorseEditParm *parms;
+    int menu_choice;
+
+    g_debug ("[GPGME_KEY_OP] set_trust: trust = %i", trust);
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (trust >= SEAHORSE_VALIDITY_NEVER, GPG_E (GPG_ERR_INV_VALUE));
+    g_return_val_if_fail (seahorse_gpgme_key_get_trust (pkey) != trust, GPG_E (GPG_ERR_INV_VALUE));
+
+    if (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY)
+        g_return_val_if_fail (trust != SEAHORSE_VALIDITY_UNKNOWN, GPG_E (GPG_ERR_INV_VALUE));
+    else
+        g_return_val_if_fail (trust != SEAHORSE_VALIDITY_ULTIMATE, GPG_E (GPG_ERR_INV_VALUE));
+
+    switch (trust) {
         case SEAHORSE_VALIDITY_NEVER:
             menu_choice = GPG_NEVER;
             break;
@@ -873,80 +898,83 @@ seahorse_gpgme_key_op_set_trust (SeahorseGpgmeKey *pkey, SeahorseValidity trust)
         default:
             menu_choice = 1;
     }
-       
-       parms = seahorse_edit_parm_new (TRUST_START, edit_trust_action,
-               edit_trust_transit, GINT_TO_POINTER (menu_choice));
-       
-       return edit_key (pkey, parms);
+
+    parms = seahorse_edit_parm_new (TRUST_START, edit_trust_action,
+        edit_trust_transit, GINT_TO_POINTER (menu_choice));
+
+    return edit_key (pkey, parms);
 }
 
 typedef enum {
-       DISABLE_START,
-       DISABLE_COMMAND,
-       DISABLE_QUIT,
-       DISABLE_ERROR
+    DISABLE_START,
+    DISABLE_COMMAND,
+    DISABLE_QUIT,
+    DISABLE_ERROR
 } DisableState;
 
 /* action helper for disable/enable a key */
 static gpgme_error_t
-edit_disable_action (guint state, gpointer data, int fd)
+edit_disable_action (unsigned int state, gpointer data, int fd)
 {
-       const gchar *command = data;
-       
-       switch (state) {
-               case DISABLE_COMMAND:
+    const char *command = data;
+
+    switch (state) {
+        case DISABLE_COMMAND:
             PRINT ((fd, command));
-                       break;
-               case DISABLE_QUIT:
+            break;
+        case DISABLE_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       break;
-       }
-       
+            break;
+        default:
+            break;
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for disable/enable a key */
-static guint
-edit_disable_transit (guint current_state, gpgme_status_code_t status,
-                     const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-       
-       switch (current_state) {
-               /* start, do command */
-               case DISABLE_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DISABLE_COMMAND;
-                       else {
+static unsigned int
+edit_disable_transit (unsigned int   current_state,
+                      const char    *status,
+                      const char    *args,
+                      void          *data,
+                      gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start, do command */
+        case DISABLE_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DISABLE_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DISABLE_ERROR);
-                       }
-                       break;
-               /* did command, quit */
-               case DISABLE_COMMAND:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DISABLE_QUIT;
-                       else {
+            }
+            break;
+        /* did command, quit */
+        case DISABLE_COMMAND:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DISABLE_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DISABLE_ERROR);
-                       }
-               /* error, quit */
-               case DISABLE_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DISABLE_QUIT;
-                       else
-                               next_state = DISABLE_ERROR;
-                       break;
-               default:
+            }
+        /* error, quit */
+        case DISABLE_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DISABLE_QUIT;
+            else
+                next_state = DISABLE_ERROR;
+            break;
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (DISABLE_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 /**
@@ -961,20 +989,20 @@ edit_disable_transit (guint current_state, gpgme_status_code_t status,
 gpgme_error_t
 seahorse_gpgme_key_op_set_disabled (SeahorseGpgmeKey *pkey, gboolean disabled)
 {
-       gchar *command;
-       SeahorseEditParm *parms;
-       
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       /* Get command and op */
-       if (disabled)
-               command = "disable";
-       else
-               command = "enable";
-       
-       parms = seahorse_edit_parm_new (DISABLE_START, edit_disable_action, edit_disable_transit, command);
-       
-       return edit_key (pkey, parms);
+    char *command;
+    SeahorseEditParm *parms;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    /* Get command and op */
+    if (disabled)
+        command = "disable";
+    else
+        command = "enable";
+
+    parms = seahorse_edit_parm_new (DISABLE_START, edit_disable_action, edit_disable_transit, command);
+
+    return edit_key (pkey, parms);
 }
 
 typedef struct
@@ -996,7 +1024,7 @@ typedef enum
 
 /* action helper for changing expiration date of a key */
 static gpgme_error_t
-edit_expire_action (guint state, gpointer data, int fd)
+edit_expire_action (unsigned int state, gpointer data, int fd)
 {
     ExpireParm *parm = (ExpireParm*)data;
     g_autofree char *expires_str = NULL;
@@ -1032,19 +1060,19 @@ edit_expire_action (guint state, gpointer data, int fd)
 }
 
 /* transition helper for changing expiration date of a key */
-static guint
-edit_expire_transit (unsigned int         current_state,
-                     gpgme_status_code_t  status,
-                     const char          *args,
-                     gpointer             data,
-                     gpgme_error_t       *err)
+static unsigned int
+edit_expire_transit (unsigned int   current_state,
+                     const char    *status,
+                     const char    *args,
+                     void          *data,
+                     gpgme_error_t *err)
 {
     unsigned int next_state;
 
     switch (current_state) {
         /* start state, selected key */
         case EXPIRE_START:
-            if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
                 next_state = EXPIRE_SELECT;
             else {
                 *err = GPG_E (GPG_ERR_GENERAL);
@@ -1053,7 +1081,7 @@ edit_expire_transit (unsigned int         current_state,
             break;
         /* selected key, do command */
         case EXPIRE_SELECT:
-            if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
                 next_state = EXPIRE_COMMAND;
             else {
                 *err = GPG_E (GPG_ERR_GENERAL);
@@ -1062,7 +1090,7 @@ edit_expire_transit (unsigned int         current_state,
             break;
         /* did command, set expires */
         case EXPIRE_COMMAND:
-            if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "keygen.valid"))
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "keygen.valid"))
                 next_state = EXPIRE_DATE;
             else {
                 *err = GPG_E (GPG_ERR_GENERAL);
@@ -1071,7 +1099,7 @@ edit_expire_transit (unsigned int         current_state,
             break;
         /* set expires, quit */
         case EXPIRE_DATE:
-            if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
                 next_state = EXPIRE_QUIT;
             else {
                 *err = GPG_E (GPG_ERR_GENERAL);
@@ -1080,7 +1108,7 @@ edit_expire_transit (unsigned int         current_state,
             break;
         /* quit, save */
         case EXPIRE_QUIT:
-            if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
                 next_state = EXPIRE_SAVE;
             else {
                 *err = GPG_E (GPG_ERR_GENERAL);
@@ -1089,7 +1117,7 @@ edit_expire_transit (unsigned int         current_state,
             break;
         /* error, quit */
         case EXPIRE_ERROR:
-            if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
                 next_state = EXPIRE_QUIT;
             else
                 next_state = EXPIRE_ERROR;
@@ -1123,7 +1151,7 @@ seahorse_gpgme_key_op_set_expires (SeahorseGpgmeSubkey *subkey,
     key = seahorse_gpgme_subkey_get_pubkey (subkey);
     g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
 
-    exp_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey)); 
+    exp_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey));
     exp_parm.expires = expires;
 
     parms = seahorse_edit_parm_new (EXPIRE_START, edit_expire_action, edit_expire_transit, &exp_parm);
@@ -1132,129 +1160,132 @@ seahorse_gpgme_key_op_set_expires (SeahorseGpgmeSubkey *subkey,
 }
 
 typedef enum {
-       ADD_REVOKER_START,
-       ADD_REVOKER_COMMAND,
-       ADD_REVOKER_SELECT,
-       ADD_REVOKER_CONFIRM,
-       ADD_REVOKER_QUIT,
-       ADD_REVOKER_ERROR
+    ADD_REVOKER_START,
+    ADD_REVOKER_COMMAND,
+    ADD_REVOKER_SELECT,
+    ADD_REVOKER_CONFIRM,
+    ADD_REVOKER_QUIT,
+    ADD_REVOKER_ERROR
 } AddRevokerState;
 
 /* action helper for adding a revoker */
 static gpgme_error_t
-add_revoker_action (guint state, gpointer data, int fd)
+add_revoker_action (unsigned int state, gpointer data, int fd)
 {
-       gchar *keyid = (gchar*)data;
-       
-       switch (state) {
-               case ADD_REVOKER_COMMAND:
+    char *keyid = (char*)data;
+
+    switch (state) {
+        case ADD_REVOKER_COMMAND:
             PRINT ((fd, "addrevoker"));
-                       break;
-               /* select revoker */
-               case ADD_REVOKER_SELECT:
+            break;
+        /* select revoker */
+        case ADD_REVOKER_SELECT:
             PRINT ((fd, keyid));
-                       break;
-               case ADD_REVOKER_CONFIRM:
+            break;
+        case ADD_REVOKER_CONFIRM:
             PRINT ((fd, YES));
-                       break;
-               case ADD_REVOKER_QUIT:
+            break;
+        case ADD_REVOKER_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       return GPG_E (GPG_ERR_GENERAL);
-       }
-       
+            break;
+        default:
+            return GPG_E (GPG_ERR_GENERAL);
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for adding a revoker */
-static guint
-add_revoker_transit (guint current_state, gpgme_status_code_t status,
-                    const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-       
-       switch (current_state) {
-               /* start, do command */
-               case ADD_REVOKER_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = ADD_REVOKER_COMMAND;
-                       else {
+static unsigned int
+add_revoker_transit (unsigned int   current_state,
+                     const char    *status,
+                     const char    *args,
+                     void          *data,
+                     gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start, do command */
+        case ADD_REVOKER_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = ADD_REVOKER_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       }
-                       break;
-               /* did command, select revoker */
-               case ADD_REVOKER_COMMAND:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "keyedit.add_revoker"))
-                               next_state = ADD_REVOKER_SELECT;
-                       else {
+            }
+            break;
+        /* did command, select revoker */
+        case ADD_REVOKER_COMMAND:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "keyedit.add_revoker"))
+                next_state = ADD_REVOKER_SELECT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       }
-                       break;
-               /* selected revoker, confirm */
-               case ADD_REVOKER_SELECT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.add_revoker.okay"))
-                               next_state = ADD_REVOKER_CONFIRM;
-                       else {
+            }
+            break;
+        /* selected revoker, confirm */
+        case ADD_REVOKER_SELECT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "keyedit.add_revoker.okay"))
+                next_state = ADD_REVOKER_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       }
-                       break;
-               /* confirmed, quit */
-               case ADD_REVOKER_CONFIRM:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = ADD_REVOKER_QUIT;
-                       else {
+            }
+            break;
+        /* confirmed, quit */
+        case ADD_REVOKER_CONFIRM:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = ADD_REVOKER_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       }
-                       break;
-               /* quit, confirm(=save) */
-               case ADD_REVOKER_QUIT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
-                               next_state = ADD_REVOKER_CONFIRM;
-                       else {
+            }
+            break;
+        /* quit, confirm(=save) */
+        case ADD_REVOKER_QUIT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
+                next_state = ADD_REVOKER_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       }
-                       break;
-               /* error, quit */
-               case ADD_REVOKER_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = ADD_REVOKER_QUIT;
-                       else
-                               next_state = ADD_REVOKER_ERROR;
-                       break;
-               default:
+            }
+            break;
+        /* error, quit */
+        case ADD_REVOKER_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = ADD_REVOKER_QUIT;
+            else
+                next_state = ADD_REVOKER_ERROR;
+            break;
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (ADD_REVOKER_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 gpgme_error_t
 seahorse_gpgme_key_op_add_revoker (SeahorseGpgmeKey *pkey, SeahorseGpgmeKey *revoker)
 {
-       SeahorseEditParm *parms;
-       const gchar *keyid;
+    SeahorseEditParm *parms;
+    const char *keyid;
 
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));    
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (revoker), GPG_E (GPG_ERR_WRONG_KEY_USAGE));    
-       g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == 
SEAHORSE_USAGE_PRIVATE_KEY, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (revoker)) == 
SEAHORSE_USAGE_PRIVATE_KEY, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (revoker), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY, 
GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (revoker)) == 
SEAHORSE_USAGE_PRIVATE_KEY, GPG_E (GPG_ERR_WRONG_KEY_USAGE));
 
-       keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (pkey));
-       g_return_val_if_fail (keyid, GPG_E (GPG_ERR_INV_VALUE));
+    keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (pkey));
+    g_return_val_if_fail (keyid, GPG_E (GPG_ERR_INV_VALUE));
 
-       parms = seahorse_edit_parm_new (ADD_REVOKER_START, add_revoker_action,
-                                       add_revoker_transit, (gpointer)keyid);
+    parms = seahorse_edit_parm_new (ADD_REVOKER_START, add_revoker_action,
+                                    add_revoker_transit, (gpointer)keyid);
 
-       return edit_key (pkey, parms);
+    return edit_key (pkey, parms);
 }
 
 static gboolean
@@ -1275,13 +1306,13 @@ on_key_op_add_uid_complete (gpgme_error_t gerr,
 }
 
 void
-seahorse_gpgme_key_op_add_uid_async (SeahorseGpgmeKey *pkey,
-                                     const gchar *name,
-                                     const gchar *email,
-                                     const gchar *comment,
-                                     GCancellable *cancellable,
-                                     GAsyncReadyCallback callback,
-                                     gpointer user_data)
+seahorse_gpgme_key_op_add_uid_async (SeahorseGpgmeKey    *pkey,
+                                     const char          *name,
+                                     const char          *email,
+                                     const char          *comment,
+                                     GCancellable        *cancellable,
+                                     GAsyncReadyCallback  callback,
+                                     void                *user_data)
 {
     g_autoptr(GTask) task = NULL;
     gpgme_ctx_t gctx;
@@ -1289,7 +1320,7 @@ seahorse_gpgme_key_op_add_uid_async (SeahorseGpgmeKey *pkey,
     g_autoptr(GError) error = NULL;
     g_autoptr(GSource) gsource = NULL;
     gpgme_key_t key;
-    g_autofree gchar* uid = NULL;
+    g_autofree char* uid = NULL;
 
     g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey));
     g_return_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY);
@@ -1335,7 +1366,7 @@ seahorse_gpgme_key_op_add_subkey_async (SeahorseGpgmeKey    *pkey,
                                         GDateTime           *expires,
                                         GCancellable        *cancellable,
                                         GAsyncReadyCallback  callback,
-                                        gpointer             user_data)
+                                        void                *user_data)
 {
     g_autoptr(GTask) task = NULL;
     gpgme_ctx_t gctx;
@@ -1345,7 +1376,7 @@ seahorse_gpgme_key_op_add_subkey_async (SeahorseGpgmeKey    *pkey,
     const char *algo;
     g_autofree char *algo_full = NULL;
     g_autoptr(GSource) gsource = NULL;
-    guint flags = 0;
+    unsigned int flags = 0;
 
     g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey));
     g_return_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) ==
@@ -1415,313 +1446,319 @@ seahorse_gpgme_key_op_add_subkey_finish (SeahorseGpgmeKey *pkey,
 }
 
 typedef enum {
-       DEL_KEY_START,
-       DEL_KEY_SELECT,
-       DEL_KEY_COMMAND,
-       DEL_KEY_CONFIRM,
-       DEL_KEY_QUIT,
-       DEL_KEY_ERROR
+    DEL_KEY_START,
+    DEL_KEY_SELECT,
+    DEL_KEY_COMMAND,
+    DEL_KEY_CONFIRM,
+    DEL_KEY_QUIT,
+    DEL_KEY_ERROR
 } DelKeyState;
 
 /* action helper for deleting a subkey */
 static gpgme_error_t
-del_key_action (guint state, gpointer data, int fd)
-{
-       switch (state) {
-               /* select key */
-               case DEL_KEY_SELECT:
-                       PRINTF ((fd, "key %d", GPOINTER_TO_UINT (data)));
-                       break;
-               case DEL_KEY_COMMAND:
+del_key_action (unsigned int state, gpointer data, int fd)
+{
+    switch (state) {
+        /* select key */
+        case DEL_KEY_SELECT:
+            PRINTF ((fd, "key %d", GPOINTER_TO_UINT (data)));
+            break;
+        case DEL_KEY_COMMAND:
             PRINT ((fd, "delkey"));
-                       break;
-               case DEL_KEY_CONFIRM:
+            break;
+        case DEL_KEY_CONFIRM:
             PRINT ((fd, YES));
-                       break;
-               case DEL_KEY_QUIT:
+            break;
+        case DEL_KEY_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       return GPG_E (GPG_ERR_GENERAL);
-       }
-       
+            break;
+        default:
+            return GPG_E (GPG_ERR_GENERAL);
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for deleting a subkey */
-static guint
-del_key_transit (guint current_state, gpgme_status_code_t status,
-                const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-
-       switch (current_state) {
-               /* start, select key */
-               case DEL_KEY_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DEL_KEY_SELECT;
-                       else {
+static unsigned int
+del_key_transit (unsigned int   current_state,
+                 const char    *status,
+                 const char    *args,
+                 void          *data,
+                 gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start, select key */
+        case DEL_KEY_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DEL_KEY_SELECT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DEL_KEY_ERROR);
-                       }
-                       break;
-               /* selected key, do command */
-               case DEL_KEY_SELECT:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DEL_KEY_COMMAND;
-                       else {
+            }
+            break;
+        /* selected key, do command */
+        case DEL_KEY_SELECT:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DEL_KEY_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DEL_KEY_ERROR);
-                       }
-                       break;
-               case DEL_KEY_COMMAND:
-                       /* did command, confirm */
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal
-                       (args, "keyedit.remove.subkey.okay"))
-                               next_state = DEL_KEY_CONFIRM;
-                       /* did command, quit */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DEL_KEY_QUIT;
-                       else {
+            }
+            break;
+        case DEL_KEY_COMMAND:
+            /* did command, confirm */
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal
+            (args, "keyedit.remove.subkey.okay"))
+                next_state = DEL_KEY_CONFIRM;
+            /* did command, quit */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DEL_KEY_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DEL_KEY_ERROR);
-                       }
-                       break;
-               /* confirmed, quit */
-               case DEL_KEY_CONFIRM:
-                       next_state = DEL_KEY_QUIT;
-                       break;
-               /* quit, confirm(=save) */
-               case DEL_KEY_QUIT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
-                               next_state = DEL_KEY_CONFIRM;
-                       else {
+            }
+            break;
+        /* confirmed, quit */
+        case DEL_KEY_CONFIRM:
+            next_state = DEL_KEY_QUIT;
+            break;
+        /* quit, confirm(=save) */
+        case DEL_KEY_QUIT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
+                next_state = DEL_KEY_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (DEL_KEY_ERROR);
-                       }
-                       break;
-               /* error, quit */
-               case DEL_KEY_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = DEL_KEY_QUIT;
-                       else
-                               next_state = DEL_KEY_ERROR;
-                       break;
-               default:
+            }
+            break;
+        /* error, quit */
+        case DEL_KEY_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = DEL_KEY_QUIT;
+            else
+                next_state = DEL_KEY_ERROR;
+            break;
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (DEL_KEY_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 gpgme_error_t
 seahorse_gpgme_key_op_del_subkey (SeahorseGpgmeSubkey *subkey)
 {
-       SeahorseEditParm *parms;
-       gpgme_key_t key;
-       int index;
-       
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       key = seahorse_gpgme_subkey_get_pubkey (subkey);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-       
-       index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey));
-       parms = seahorse_edit_parm_new (DEL_KEY_START, del_key_action,
-                                       del_key_transit, GUINT_TO_POINTER (index));
-       
-       return edit_refresh_gpgme_key (NULL, key, parms);
+    SeahorseEditParm *parms;
+    gpgme_key_t key;
+    int index;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    key = seahorse_gpgme_subkey_get_pubkey (subkey);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey));
+    parms = seahorse_edit_parm_new (DEL_KEY_START, del_key_action,
+                                    del_key_transit, GUINT_TO_POINTER (index));
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }
 
 typedef struct
 {
-       guint                   index;
-       SeahorseRevokeReason    reason;
-       const gchar             *description;
+    unsigned int          index;
+    SeahorseRevokeReason  reason;
+    const char           *description;
 } RevSubkeyParm;
 
 typedef enum {
-       REV_SUBKEY_START,
-       REV_SUBKEY_SELECT,
-       REV_SUBKEY_COMMAND,
-       REV_SUBKEY_CONFIRM,
-       REV_SUBKEY_REASON,
-       REV_SUBKEY_DESCRIPTION,
-       REV_SUBKEY_ENDDESC,
-       REV_SUBKEY_QUIT,
-       REV_SUBKEY_ERROR
+    REV_SUBKEY_START,
+    REV_SUBKEY_SELECT,
+    REV_SUBKEY_COMMAND,
+    REV_SUBKEY_CONFIRM,
+    REV_SUBKEY_REASON,
+    REV_SUBKEY_DESCRIPTION,
+    REV_SUBKEY_ENDDESC,
+    REV_SUBKEY_QUIT,
+    REV_SUBKEY_ERROR
 } RevSubkeyState;
 
 /* action helper for revoking a subkey */
 static gpgme_error_t
-rev_subkey_action (guint state, gpointer data, int fd)
+rev_subkey_action (unsigned int state, gpointer data, int fd)
 {
-       RevSubkeyParm *parm = (RevSubkeyParm*)data;
-       
-       switch (state) {
-               case REV_SUBKEY_SELECT:
+    RevSubkeyParm *parm = (RevSubkeyParm*)data;
+
+    switch (state) {
+        case REV_SUBKEY_SELECT:
             PRINTF ((fd, "key %d", parm->index));
-                       break;
-               case REV_SUBKEY_COMMAND:
+            break;
+        case REV_SUBKEY_COMMAND:
             PRINT ((fd, "revkey"));
-                       break;
-               case REV_SUBKEY_CONFIRM:
+            break;
+        case REV_SUBKEY_CONFIRM:
             PRINT ((fd, YES));
-                       break;
-               case REV_SUBKEY_REASON:
+            break;
+        case REV_SUBKEY_REASON:
             PRINTF ((fd, "%d", parm->reason));
-                       break;
-               case REV_SUBKEY_DESCRIPTION:
+            break;
+        case REV_SUBKEY_DESCRIPTION:
             PRINTF ((fd, "%s", parm->description));
-                       break;
-               case REV_SUBKEY_ENDDESC:
+            break;
+        case REV_SUBKEY_ENDDESC:
             /* Need empty line, which is written at the end */
-                       break;
-               case REV_SUBKEY_QUIT:
+            break;
+        case REV_SUBKEY_QUIT:
             PRINT ((fd, QUIT));
-                       break;
-               default:
-                       g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
-       }
-       
+            break;
+        default:
+            g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
+    }
+
     PRINT ((fd, "\n"));
-       return GPG_OK;
+    return GPG_OK;
 }
 
 /* transition helper for revoking a subkey */
-static guint
-rev_subkey_transit (guint current_state, gpgme_status_code_t status,
-                   const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       guint next_state;
-
-       switch (current_state) {
-               /* start, select key */
-               case REV_SUBKEY_START:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = REV_SUBKEY_SELECT;
-                       else {
+static unsigned int
+rev_subkey_transit (unsigned int   current_state,
+                    const char    *status,
+                    const char    *args,
+                    void          *data,
+                    gpgme_error_t *err)
+{
+    unsigned int next_state;
+
+    switch (current_state) {
+        /* start, select key */
+        case REV_SUBKEY_START:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = REV_SUBKEY_SELECT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* selected key, do command */
-               case REV_SUBKEY_SELECT:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = REV_SUBKEY_COMMAND;
-                       else {
+            }
+            break;
+        /* selected key, do command */
+        case REV_SUBKEY_SELECT:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = REV_SUBKEY_COMMAND;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* did command, confirm */
-               case REV_SUBKEY_COMMAND:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, 
"keyedit.revoke.subkey.okay"))
-                               next_state = REV_SUBKEY_CONFIRM;
-                       else {
+            }
+            break;
+        /* did command, confirm */
+        case REV_SUBKEY_COMMAND:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "keyedit.revoke.subkey.okay"))
+                next_state = REV_SUBKEY_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               case REV_SUBKEY_CONFIRM:
-                       /* did confirm, do reason */
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, 
"ask_revocation_reason.code"))
-                               next_state = REV_SUBKEY_REASON;
-                       /* did confirm, quit */
-                       else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = REV_SUBKEY_QUIT;
-                       else {
+            }
+            break;
+        case REV_SUBKEY_CONFIRM:
+            /* did confirm, do reason */
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "ask_revocation_reason.code"))
+                next_state = REV_SUBKEY_REASON;
+            /* did confirm, quit */
+            else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = REV_SUBKEY_QUIT;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* did reason, do description */
-               case REV_SUBKEY_REASON:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, 
"ask_revocation_reason.text"))
-                               next_state = REV_SUBKEY_DESCRIPTION;
-                       else {
+            }
+            break;
+        /* did reason, do description */
+        case REV_SUBKEY_REASON:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "ask_revocation_reason.text"))
+                next_state = REV_SUBKEY_DESCRIPTION;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               case REV_SUBKEY_DESCRIPTION:
-                       /* did description, end it */
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, 
"ask_revocation_reason.text"))
-                               next_state = REV_SUBKEY_ENDDESC;
-                       /* did description, confirm */
-                       else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, 
"ask_revocation_reason.okay"))
-                               next_state = REV_SUBKEY_CONFIRM;
-                       else {
+            }
+            break;
+        case REV_SUBKEY_DESCRIPTION:
+            /* did description, end it */
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "ask_revocation_reason.text"))
+                next_state = REV_SUBKEY_ENDDESC;
+            /* did description, confirm */
+            else if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "ask_revocation_reason.okay"))
+                next_state = REV_SUBKEY_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* ended description, confirm */
-               case REV_SUBKEY_ENDDESC:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, 
"ask_revocation_reason.okay"))
-                               next_state = REV_SUBKEY_CONFIRM;
-                       else {
+            }
+            break;
+        /* ended description, confirm */
+        case REV_SUBKEY_ENDDESC:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "ask_revocation_reason.okay"))
+                next_state = REV_SUBKEY_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* quit, confirm(=save) */
-               case REV_SUBKEY_QUIT:
-                       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
-                               next_state = REV_SUBKEY_CONFIRM;
-                       else {
+            }
+            break;
+        /* quit, confirm(=save) */
+        case REV_SUBKEY_QUIT:
+            if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
+                next_state = REV_SUBKEY_CONFIRM;
+            else {
                 *err = GPG_E (GPG_ERR_GENERAL);
                 g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       }
-                       break;
-               /* error, quit */
-               case REV_SUBKEY_ERROR:
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                               next_state = REV_SUBKEY_QUIT;
-                       else
-                               next_state = REV_SUBKEY_ERROR;
-                       break;
-               default:
+            }
+            break;
+        /* error, quit */
+        case REV_SUBKEY_ERROR:
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+                next_state = REV_SUBKEY_QUIT;
+            else
+                next_state = REV_SUBKEY_ERROR;
+            break;
+        default:
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (REV_SUBKEY_ERROR);
-                       break;
-       }
-       
-       return next_state;
+            break;
+    }
+
+    return next_state;
 }
 
 gpgme_error_t
-seahorse_gpgme_key_op_revoke_subkey (SeahorseGpgmeSubkey *subkey, SeahorseRevokeReason reason, 
-                                     const gchar *description)
-{
-       RevSubkeyParm rev_parm;
-       SeahorseEditParm *parms;
-       gpgme_subkey_t gsubkey;
-       gpgme_key_t key;
-       
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       gsubkey = seahorse_gpgme_subkey_get_subkey (subkey);
-       g_return_val_if_fail (!gsubkey->revoked, GPG_E (GPG_ERR_INV_VALUE));
-       
-       key = seahorse_gpgme_subkey_get_pubkey (subkey);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-       
-       rev_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey));
-       rev_parm.reason = reason;
-       rev_parm.description = description;
-       
-       parms = seahorse_edit_parm_new (REV_SUBKEY_START, rev_subkey_action,
-                                       rev_subkey_transit, &rev_parm);
-       
-       return edit_refresh_gpgme_key (NULL, key, parms);
+seahorse_gpgme_key_op_revoke_subkey (SeahorseGpgmeSubkey *subkey, SeahorseRevokeReason reason,
+                                     const char *description)
+{
+    RevSubkeyParm rev_parm;
+    SeahorseEditParm *parms;
+    gpgme_subkey_t gsubkey;
+    gpgme_key_t key;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    gsubkey = seahorse_gpgme_subkey_get_subkey (subkey);
+    g_return_val_if_fail (!gsubkey->revoked, GPG_E (GPG_ERR_INV_VALUE));
+
+    key = seahorse_gpgme_subkey_get_pubkey (subkey);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    rev_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey));
+    rev_parm.reason = reason;
+    rev_parm.description = description;
+
+    parms = seahorse_edit_parm_new (REV_SUBKEY_START, rev_subkey_action,
+                                    rev_subkey_transit, &rev_parm);
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }
 
 typedef struct {
-    guint           index;
+    unsigned int index;
 } PrimaryParm;
 
 typedef enum {
@@ -1735,10 +1772,10 @@ typedef enum {
 
 /* action helper for setting primary uid */
 static gpgme_error_t
-primary_action (guint state, gpointer data, int fd)
+primary_action (unsigned int state, gpointer data, int fd)
 {
     PrimaryParm *parm = (PrimaryParm*)data;
-    
+
     switch (state) {
     case PRIMARY_SELECT:
         /* Note that the GPG id is not 0 based */
@@ -1757,23 +1794,26 @@ primary_action (guint state, gpointer data, int fd)
         g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
         break;
     }
-  
+
     PRINT ((fd, "\n"));
     return GPG_OK;
 }
 
 /* transition helper for setting primary key */
-static guint
-primary_transit (guint current_state, gpgme_status_code_t status,
-            const gchar *args, gpointer data, gpgme_error_t *err)
+static unsigned int
+primary_transit (unsigned int   current_state,
+                 const char    *status,
+                 const char    *args,
+                 void          *data,
+                 gpgme_error_t *err)
 {
-    guint next_state;
-  
+    unsigned int next_state;
+
     switch (current_state) {
-    
+
     /* start, select key */
     case PRIMARY_START:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = PRIMARY_SELECT;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1783,7 +1823,7 @@ primary_transit (guint current_state, gpgme_status_code_t status,
 
     /* selected key, do command */
     case PRIMARY_SELECT:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = PRIMARY_COMMAND;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1793,17 +1833,17 @@ primary_transit (guint current_state, gpgme_status_code_t status,
 
     /* did command, quit */
     case PRIMARY_COMMAND:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = PRIMARY_QUIT;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (PRIMARY_ERROR);
         }
         break;
-        
+
     /* quitting so save */
-    case PRIMARY_QUIT:        
-        if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
+    case PRIMARY_QUIT:
+        if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
             next_state = PRIMARY_SAVE;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1813,18 +1853,18 @@ primary_transit (guint current_state, gpgme_status_code_t status,
 
     /* error, quit */
     case PRIMARY_ERROR:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = PRIMARY_QUIT;
         else
             next_state = PRIMARY_ERROR;
         break;
-        
+
     default:
         *err = GPG_E (GPG_ERR_GENERAL);
         g_return_val_if_reached (PRIMARY_ERROR);
         break;
     }
-    
+
     return next_state;
 }
 
@@ -1906,7 +1946,7 @@ seahorse_gpgme_key_op_make_primary_finish (SeahorseGpgmeUid *uid,
 
 
 typedef struct {
-    guint           index;
+    unsigned int index;
 } DelUidParm;
 
 typedef enum {
@@ -1921,10 +1961,10 @@ typedef enum {
 
 /* action helper for removing a uid */
 static gpgme_error_t
-del_uid_action (guint state, gpointer data, int fd)
+del_uid_action (unsigned int state, gpointer data, int fd)
 {
     DelUidParm *parm = (DelUidParm*)data;
-    
+
     switch (state) {
     case DEL_UID_SELECT:
         PRINTF ((fd, "uid %d", parm->index));
@@ -1945,23 +1985,26 @@ del_uid_action (guint state, gpointer data, int fd)
         g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
         break;
     }
-  
+
     PRINT ((fd, "\n"));
     return GPG_OK;
 }
 
 /* transition helper for setting deleting a uid */
-static guint
-del_uid_transit (guint current_state, gpgme_status_code_t status,
-            const gchar *args, gpointer data, gpgme_error_t *err)
+static unsigned int
+del_uid_transit (unsigned int   current_state,
+                 const char    *status,
+                 const char    *args,
+                 void          *data,
+                 gpgme_error_t *err)
 {
-    guint next_state;
-  
+    unsigned int next_state;
+
     switch (current_state) {
-    
+
     /* start, select key */
     case DEL_UID_START:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = DEL_UID_SELECT;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1971,7 +2014,7 @@ del_uid_transit (guint current_state, gpgme_status_code_t status,
 
     /* selected key, do command */
     case DEL_UID_SELECT:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = DEL_UID_COMMAND;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1981,9 +2024,9 @@ del_uid_transit (guint current_state, gpgme_status_code_t status,
 
     /* did command, confirm */
     case DEL_UID_COMMAND:
-        if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.remove.uid.okay"))
+        if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "keyedit.remove.uid.okay"))
             next_state = DEL_UID_CONFIRM;
-        else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = DEL_UID_QUIT;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -1993,17 +2036,17 @@ del_uid_transit (guint current_state, gpgme_status_code_t status,
 
     /* confirmed, quit */
     case DEL_UID_CONFIRM:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = DEL_UID_QUIT;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (DEL_UID_ERROR);
         }
         break;
-                
+
     /* quitted so save */
-    case DEL_UID_QUIT:        
-        if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE))
+    case DEL_UID_QUIT:
+        if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE))
             next_state = DEL_UID_SAVE;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -2013,43 +2056,43 @@ del_uid_transit (guint current_state, gpgme_status_code_t status,
 
     /* error, quit */
     case DEL_UID_ERROR:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = DEL_UID_QUIT;
         else
             next_state = DEL_UID_ERROR;
         break;
-        
+
     default:
         *err = GPG_E (GPG_ERR_GENERAL);
         g_return_val_if_reached (DEL_UID_ERROR);
         break;
     }
-    
+
     return next_state;
 }
-                
-gpgme_error_t   
+
+gpgme_error_t
 seahorse_gpgme_key_op_del_uid (SeahorseGpgmeUid *uid)
 {
-       DelUidParm del_uid_parm;
-       SeahorseEditParm *parms;
-       gpgme_key_t key;
-       
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-    
-       key = seahorse_gpgme_uid_get_pubkey (uid);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-  
-       del_uid_parm.index = seahorse_gpgme_uid_get_actual_index (uid);
-       
-       parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action,
-                                       del_uid_transit, &del_uid_parm);
- 
-       return edit_refresh_gpgme_key (NULL, key, parms);
+    DelUidParm del_uid_parm;
+    SeahorseEditParm *parms;
+    gpgme_key_t key;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    key = seahorse_gpgme_uid_get_pubkey (uid);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    del_uid_parm.index = seahorse_gpgme_uid_get_actual_index (uid);
+
+    parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action,
+                                    del_uid_transit, &del_uid_parm);
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }
 
 typedef struct {
-    const gchar *filename;
+    const char *filename;
 } PhotoIdAddParm;
 
 typedef enum {
@@ -2064,10 +2107,10 @@ typedef enum {
 
 /* action helper for adding a photoid to a #SeahorseKey */
 static gpgme_error_t
-photoid_add_action (guint state, gpointer data, int fd)
+photoid_add_action (unsigned int state, gpointer data, int fd)
 {
     PhotoIdAddParm *parm = (PhotoIdAddParm*)data;
-    
+
     switch (state) {
     case PHOTO_ID_ADD_COMMAND:
         PRINT ((fd, "addphoto"));
@@ -2088,21 +2131,24 @@ photoid_add_action (guint state, gpointer data, int fd)
         g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
         break;
     }
-  
+
     seahorse_util_print_fd (fd, "\n");
     return GPG_OK;
 }
 
-static guint
-photoid_add_transit (guint current_state, gpgme_status_code_t status,
-                     const gchar *args, gpointer data, gpgme_error_t *err)
+static unsigned int
+photoid_add_transit (unsigned int   current_state,
+                     const char    *status,
+                     const char    *args,
+                     void          *data,
+                     gpgme_error_t *err)
 {
-    guint next_state;
-       
+    unsigned int next_state;
+
     switch (current_state) {
-    
+
     case PHOTO_ID_ADD_START:
-        if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
             next_state = PHOTO_ID_ADD_COMMAND;
         else {
             *err = GPG_E (GPG_ERR_GENERAL);
@@ -2110,39 +2156,39 @@ photoid_add_transit (guint current_state, gpgme_status_code_t status,
         }
         break;
     case PHOTO_ID_ADD_COMMAND:
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "photoid.jpeg.add")) {
-                       next_state = PHOTO_ID_ADD_URI;
-               } else {
-                       *err = GPG_E (GPG_ERR_GENERAL);
-                       g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "photoid.jpeg.add")) {
+            next_state = PHOTO_ID_ADD_URI;
+        } else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
         }
         break;
    case PHOTO_ID_ADD_URI:
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                       next_state = PHOTO_ID_ADD_QUIT;
-               } else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "photoid.jpeg.size")) {
-                       next_state = PHOTO_ID_ADD_BIG;
-               } else {
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+            next_state = PHOTO_ID_ADD_QUIT;
+        } else if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, "photoid.jpeg.size")) {
+            next_state = PHOTO_ID_ADD_BIG;
+        } else {
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
         }
-           break;
+        break;
     case PHOTO_ID_ADD_BIG:
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                       next_state = PHOTO_ID_ADD_QUIT;
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+            next_state = PHOTO_ID_ADD_QUIT;
         /* This happens when the file is invalid or can't be accessed */
-               } else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "photoid.jpeg.add")) {
+        } else if (g_str_equal (status, "GET_LINE") && g_str_equal (args, "photoid.jpeg.add")) {
             *err = GPG_E (GPG_ERR_USER_1);
             return PHOTO_ID_ADD_ERROR;
-               } else {
+        } else {
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
         }
         break;
     case PHOTO_ID_ADD_QUIT:
-       if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) {
-                       next_state = PHOTO_ID_ADD_SAVE;
-               } else {
+        if (g_str_equal (status, "GET_BOOL") && g_str_equal (args, SAVE)) {
+            next_state = PHOTO_ID_ADD_SAVE;
+        } else {
             *err = GPG_E (GPG_ERR_GENERAL);
             g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
         }
@@ -2152,57 +2198,57 @@ photoid_add_transit (guint current_state, gpgme_status_code_t status,
         g_return_val_if_reached (PHOTO_ID_ADD_ERROR);
         break;
     }
-    
+
     return next_state;
 }
 
-gpgme_error_t 
-seahorse_gpgme_key_op_photo_add (SeahorseGpgmeKey *pkey, const gchar *filename)
-{
-       SeahorseEditParm *parms;
-       PhotoIdAddParm photoid_add_parm;
-       gpgme_key_t key;
-       
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       g_return_val_if_fail (filename, GPG_E (GPG_ERR_INV_VALUE));
-      
-       key = seahorse_gpgme_key_get_public (pkey);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-    
-       photoid_add_parm.filename = filename;
-       
-       parms = seahorse_edit_parm_new (PHOTO_ID_ADD_START, photoid_add_action,
-                                       photoid_add_transit, &photoid_add_parm);
-       
-       return edit_refresh_gpgme_key (NULL, key, parms);
+gpgme_error_t
+seahorse_gpgme_key_op_photo_add (SeahorseGpgmeKey *pkey, const char *filename)
+{
+    SeahorseEditParm *parms;
+    PhotoIdAddParm photoid_add_parm;
+    gpgme_key_t key;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+    g_return_val_if_fail (filename, GPG_E (GPG_ERR_INV_VALUE));
+
+    key = seahorse_gpgme_key_get_public (pkey);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    photoid_add_parm.filename = filename;
+
+    parms = seahorse_edit_parm_new (PHOTO_ID_ADD_START, photoid_add_action,
+                                    photoid_add_transit, &photoid_add_parm);
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }
 
-gpgme_error_t 
+gpgme_error_t
 seahorse_gpgme_key_op_photo_delete (SeahorseGpgmePhoto *photo)
 {
-       DelUidParm del_uid_parm;
-       SeahorseEditParm *parms;
-       gpgme_key_t key;
- 
-       g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-      
-       key = seahorse_gpgme_photo_get_pubkey (photo);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-    
-       del_uid_parm.index = seahorse_gpgme_photo_get_index (photo);
-   
-       parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action,
-                                       del_uid_transit, &del_uid_parm);
- 
-       return edit_refresh_gpgme_key (NULL, key, parms);
+    DelUidParm del_uid_parm;
+    SeahorseEditParm *parms;
+    gpgme_key_t key;
+
+    g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    key = seahorse_gpgme_photo_get_pubkey (photo);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    del_uid_parm.index = seahorse_gpgme_photo_get_index (photo);
+
+    parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action,
+                                    del_uid_transit, &del_uid_parm);
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }
 
 typedef struct {
-       GList *photos;
-       guint uid;
-       guint num_uids;
-       char *output_file;
-       gpgme_key_t key;
+    GList *photos;
+    unsigned int uid;
+    unsigned int num_uids;
+    char *output_file;
+    gpgme_key_t key;
 } PhotoIdLoadParm;
 
 typedef enum {
@@ -2216,181 +2262,184 @@ typedef enum {
 
 /* action helper for getting a list of photoids attached to a #SeahorseKey */
 static gpgme_error_t
-photoid_load_action (guint state, gpointer data, int fd)
+photoid_load_action (unsigned int state, gpointer data, int fd)
 {
     PhotoIdLoadParm *parm = (PhotoIdLoadParm*)data;
-    
+
     switch (state) {
-           case PHOTO_ID_LOAD_SELECT:
-            PRINTF ((fd, "uid %d", parm->uid));            
-               break;
-           case PHOTO_ID_LOAD_OUTPUT_IMAGE:
+        case PHOTO_ID_LOAD_SELECT:
+            PRINTF ((fd, "uid %d", parm->uid));
+            break;
+        case PHOTO_ID_LOAD_OUTPUT_IMAGE:
             PRINT ((fd, "showphoto"));
-               break;
-           case PHOTO_ID_LOAD_DESELECT:
-               PRINTF ((fd, "uid %d", parm->uid));            
-               break;
-           case PHOTO_ID_LOAD_QUIT:
+            break;
+        case PHOTO_ID_LOAD_DESELECT:
+            PRINTF ((fd, "uid %d", parm->uid));
+            break;
+        case PHOTO_ID_LOAD_QUIT:
             PRINT ((fd, QUIT));
-               break;
-           default:
-               g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
-               break;
+            break;
+        default:
+            g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL));
+            break;
     }
-  
+
     seahorse_util_print_fd (fd, "\n");
     return GPG_OK;
 }
 
-static guint
-photoid_load_transit (guint current_state, gpgme_status_code_t status,
-                      const gchar *args, gpointer data, gpgme_error_t *err)
-{
-       PhotoIdLoadParm *parm = (PhotoIdLoadParm*)data;
-       SeahorseGpgmePhoto *photo;
-       GdkPixbuf *pixbuf = NULL;
-       guint next_state = 0;
-       struct stat st;
-       GError *error = NULL;
-       
-       switch (current_state) {
-    
-       /* start, get photoid list */
-       case PHOTO_ID_LOAD_START:
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT))
-                       next_state = PHOTO_ID_LOAD_SELECT;
-               else {
-                       *err = GPG_E (GPG_ERR_GENERAL);
-                       g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-               }
-               break;
-               
-       case PHOTO_ID_LOAD_SELECT:
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                       next_state = PHOTO_ID_LOAD_OUTPUT_IMAGE;
-               } else {
-                       *err = GPG_E (GPG_ERR_GENERAL);
-                       g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-               }
-               break;
-               
-       case PHOTO_ID_LOAD_OUTPUT_IMAGE:
-               
-               if (g_file_test (parm->output_file, G_FILE_TEST_EXISTS)) {
-
-                       photo = seahorse_gpgme_photo_new (parm->key, NULL, parm->uid);
-                       parm->photos = g_list_append (parm->photos, photo);
-                       
-                       if (g_stat (parm->output_file, &st) == -1) {
-                               g_warning ("couldn't stat output image file '%s': %s", parm->output_file,
-                                          g_strerror (errno));
-                           
-                       } else if (st.st_size > 0) {
-                               pixbuf = gdk_pixbuf_new_from_file (parm->output_file, &error);
-                               if (pixbuf == NULL) {
-                                       g_warning ("Loading image %s failed: %s", parm->output_file,
-                                                  error && error->message ? error->message : "unknown");
-                                       g_error_free (error);
-                               } 
-                       }
-                       
-                       g_unlink (parm->output_file);
-                       
-                       /* Load a 'missing' icon */
-                       if (!pixbuf) {
-                               pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), 
-                                                                  "gnome-unknown", 48, 0, NULL);
-                       }
-                           
-                       seahorse_pgp_photo_set_pixbuf (SEAHORSE_PGP_PHOTO (photo), pixbuf);
-                       g_object_unref (pixbuf);
-               }
-       
-               if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                       next_state = PHOTO_ID_LOAD_DESELECT;
-               } else {
-                       *err = GPG_E (GPG_ERR_GENERAL);
-                       g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-               }
-               break;
-               
-       case PHOTO_ID_LOAD_DESELECT:
-               if (parm->uid < parm->num_uids) {
-                       parm->uid = parm->uid + 1;
-                       g_debug ("PhotoIDLoad Next UID %i", parm->uid);
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                               next_state = PHOTO_ID_LOAD_SELECT;
-                       } else {
-                               *err = GPG_E (GPG_ERR_GENERAL);
-                               g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-                       }
-               } else {
-                       if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) {
-                               next_state = PHOTO_ID_LOAD_QUIT;
-                               g_debug ("PhotoIDLoad Quiting Load");
-                       } else {
-                               *err = GPG_E (GPG_ERR_GENERAL);
-                               g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-                       }
-               }
-               break;
-               
-       case PHOTO_ID_LOAD_QUIT:
-               /* Shouldn't be reached */
-               *err = GPG_E (GPG_ERR_GENERAL);
-               g_debug ("PhotoIDLoad Reached Quit");
-               g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-               break;
-               
-       default:
-               *err = GPG_E (GPG_ERR_GENERAL);
-               g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
-               break;
-       }
-    
-       return next_state;
+static unsigned int
+photoid_load_transit (unsigned int   current_state,
+                      const char    *status,
+                      const char    *args,
+                      void          *data,
+                      gpgme_error_t *err)
+{
+    PhotoIdLoadParm *parm = (PhotoIdLoadParm*)data;
+    SeahorseGpgmePhoto *photo;
+    GdkPixbuf *pixbuf = NULL;
+    unsigned int next_state = 0;
+    struct stat st;
+    GError *error = NULL;
+
+    switch (current_state) {
+
+    /* start, get photoid list */
+    case PHOTO_ID_LOAD_START:
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT))
+            next_state = PHOTO_ID_LOAD_SELECT;
+        else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+        }
+        break;
+
+    case PHOTO_ID_LOAD_SELECT:
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+            next_state = PHOTO_ID_LOAD_OUTPUT_IMAGE;
+        } else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+        }
+        break;
+
+    case PHOTO_ID_LOAD_OUTPUT_IMAGE:
+
+        if (g_file_test (parm->output_file, G_FILE_TEST_EXISTS)) {
+
+            photo = seahorse_gpgme_photo_new (parm->key, NULL, parm->uid);
+            parm->photos = g_list_append (parm->photos, photo);
+
+            if (g_stat (parm->output_file, &st) == -1) {
+                g_warning ("couldn't stat output image file '%s': %s", parm->output_file,
+                           g_strerror (errno));
+
+            } else if (st.st_size > 0) {
+                pixbuf = gdk_pixbuf_new_from_file (parm->output_file, &error);
+                if (pixbuf == NULL) {
+                    g_warning ("Loading image %s failed: %s", parm->output_file,
+                               error && error->message ? error->message : "unknown");
+                    g_error_free (error);
+                }
+            }
+
+            g_unlink (parm->output_file);
+
+            /* Load a 'missing' icon */
+            if (!pixbuf) {
+                pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+                                                   "gnome-unknown", 48, 0, NULL);
+            }
+
+            seahorse_pgp_photo_set_pixbuf (SEAHORSE_PGP_PHOTO (photo), pixbuf);
+            g_object_unref (pixbuf);
+        }
+
+        if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+            next_state = PHOTO_ID_LOAD_DESELECT;
+        } else {
+            *err = GPG_E (GPG_ERR_GENERAL);
+            g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+        }
+        break;
+
+    case PHOTO_ID_LOAD_DESELECT:
+        if (parm->uid < parm->num_uids) {
+            parm->uid = parm->uid + 1;
+            g_debug ("PhotoIDLoad Next UID %i", parm->uid);
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+                next_state = PHOTO_ID_LOAD_SELECT;
+            } else {
+                *err = GPG_E (GPG_ERR_GENERAL);
+                g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+            }
+        } else {
+            if (g_str_equal (status, "GET_LINE") && g_str_equal (args, PROMPT)) {
+                next_state = PHOTO_ID_LOAD_QUIT;
+                g_debug ("PhotoIDLoad Quiting Load");
+            } else {
+                *err = GPG_E (GPG_ERR_GENERAL);
+                g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+            }
+        }
+        break;
+
+    case PHOTO_ID_LOAD_QUIT:
+        /* Shouldn't be reached */
+        *err = GPG_E (GPG_ERR_GENERAL);
+        g_debug ("PhotoIDLoad Reached Quit");
+        g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+        break;
+
+    default:
+        *err = GPG_E (GPG_ERR_GENERAL);
+        g_return_val_if_reached (PHOTO_ID_LOAD_ERROR);
+        break;
+    }
+
+    return next_state;
 }
 
-gpgme_error_t 
+gpgme_error_t
 seahorse_gpgme_key_op_photos_load (SeahorseGpgmeKey *pkey)
 {
-       /* Make sure there's enough room for the .jpg extension */
+    /* Make sure there's enough room for the .jpg extension */
     char image_path[]    = "/tmp/seahorse-photoid-XXXXXX\0\0\0\0";
 
-       PhotoIdLoadParm photoid_load_parm;
-       gpgme_error_t gerr;
-       gpgme_key_t key;
-       const gchar *keyid;
-       gint fd;
-
-       g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-       
-       key = seahorse_gpgme_key_get_public (pkey);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-       g_return_val_if_fail (key->subkeys && key->subkeys->keyid, GPG_E (GPG_ERR_INV_VALUE));
-       keyid = key->subkeys->keyid;
-
-       g_debug ("PhotoIDLoad Start");
-
-       fd = g_mkstemp (image_path);
-       if(fd == -1) { 
-               gerr = GPG_E(GPG_ERR_GENERAL);
-    
-       } else {
-
-               g_unlink(image_path);
-               close(fd);
-               strcat (image_path, ".jpg");
-        
-               photoid_load_parm.uid = 1;
-               photoid_load_parm.num_uids = 0;
-               photoid_load_parm.photos = NULL;
-               photoid_load_parm.output_file = image_path;
-               photoid_load_parm.key = key;
-
-               g_debug ("PhotoIdLoad KeyID %s", keyid);
-               gerr = seahorse_gpg_op_num_uids (NULL, keyid, &(photoid_load_parm.num_uids));
-               g_debug ("PhotoIDLoad Number of UIDs %i", photoid_load_parm.num_uids);
+    PhotoIdLoadParm photoid_load_parm;
+    gpgme_error_t gerr;
+    gpgme_key_t key;
+    const char *keyid;
+    int fd;
+
+    g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    key = seahorse_gpgme_key_get_public (pkey);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+    g_return_val_if_fail (key->subkeys && key->subkeys->keyid, GPG_E (GPG_ERR_INV_VALUE));
+    keyid = key->subkeys->keyid;
+
+    g_debug ("PhotoIDLoad Start");
+
+    fd = g_mkstemp (image_path);
+    if(fd == -1) {
+        gerr = GPG_E(GPG_ERR_GENERAL);
+
+    } else {
+
+        g_unlink(image_path);
+        close(fd);
+        strcat (image_path, ".jpg");
+
+        photoid_load_parm.uid = 1;
+        photoid_load_parm.num_uids = 0;
+        photoid_load_parm.photos = NULL;
+        photoid_load_parm.output_file = image_path;
+        photoid_load_parm.key = key;
+
+        g_debug ("PhotoIdLoad KeyID %s", keyid);
+        gerr = seahorse_gpg_op_num_uids (NULL, keyid, &(photoid_load_parm.num_uids));
+        g_debug ("PhotoIDLoad Number of UIDs %i", photoid_load_parm.num_uids);
 
         if (GPG_IS_OK (gerr)) {
             const char *oldpath;
@@ -2418,29 +2467,29 @@ seahorse_gpgme_key_op_photos_load (SeahorseGpgmeKey *pkey)
         }
 
         g_list_free_full (photoid_load_parm.photos, g_object_unref);
-       }
+    }
 
-       g_debug ("PhotoIDLoad Done");
+    g_debug ("PhotoIDLoad Done");
 
-       return gerr;
+    return gerr;
 }
 
-gpgme_error_t   
+gpgme_error_t
 seahorse_gpgme_key_op_photo_primary (SeahorseGpgmePhoto *photo)
 {
-       PrimaryParm pri_parm;
-       SeahorseEditParm *parms;
-       gpgme_key_t key;
-    
-       g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
-      
-       key = seahorse_gpgme_photo_get_pubkey (photo);
-       g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
-    
-       pri_parm.index = seahorse_gpgme_photo_get_index (photo);
-   
-       parms = seahorse_edit_parm_new (PRIMARY_START, primary_action,
-                                       primary_transit, &pri_parm);
-
-       return edit_refresh_gpgme_key (NULL, key, parms);
+    PrimaryParm pri_parm;
+    SeahorseEditParm *parms;
+    gpgme_key_t key;
+
+    g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE));
+
+    key = seahorse_gpgme_photo_get_pubkey (photo);
+    g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE));
+
+    pri_parm.index = seahorse_gpgme_photo_get_index (photo);
+
+    parms = seahorse_edit_parm_new (PRIMARY_START, primary_action,
+                                    primary_transit, &pri_parm);
+
+    return edit_refresh_gpgme_key (NULL, key, parms);
 }


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