From 8162fcc225f6bf73d551662508f07cb485035297 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Thu, 12 Oct 2006 17:12:19 +0000 Subject: [PATCH] 2006-10-12 [colin] 2.5.5cvs3 * po/POTFILES.in Add new file * src/plugins/pgpcore/pgp_viewer.c * src/plugins/pgpcore/sgpgme.c Don't try to import without asking --- ChangeLog | 8 ++++++ PATCHSETS | 1 + configure.ac | 2 +- po/POTFILES.in | 1 + src/plugins/pgpcore/pgp_viewer.c | 42 ++++++++++++++++++++++---------- src/plugins/pgpcore/sgpgme.c | 2 +- 6 files changed, 41 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index e7137cb6c..7625a0a19 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-10-12 [colin] 2.5.5cvs3 + + * po/POTFILES.in + Add new file + * src/plugins/pgpcore/pgp_viewer.c + * src/plugins/pgpcore/sgpgme.c + Don't try to import without asking + 2006-10-12 [colin] 2.5.5cvs2 * src/compose.c diff --git a/PATCHSETS b/PATCHSETS index ea2511688..fc2b88410 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -1988,3 +1988,4 @@ ( cvs diff -u -r 1.8.2.10 -r 1.8.2.11 src/quote_fmt.c; ) > 2.5.3cvs31.patchset ( cvs diff -u -r 1.96.2.154 -r 1.96.2.155 src/textview.c; ) > 2.5.3cvs32.patchset ( cvs diff -u -r 1.382.2.314 -r 1.382.2.315 src/compose.c; ) > 2.5.5cvs2.patchset +( cvs diff -u -r 1.53.2.19 -r 1.53.2.20 po/POTFILES.in; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/plugins/pgpcore/pgp_viewer.c; cvs diff -u -r 1.1.2.30 -r 1.1.2.31 src/plugins/pgpcore/sgpgme.c; ) > 2.5.5cvs3.patchset diff --git a/configure.ac b/configure.ac index e5744b8f6..095faeb43 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=5 MICRO_VERSION=5 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=2 +EXTRA_VERSION=3 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/po/POTFILES.in b/po/POTFILES.in index 9730dd5e9..ea326da32 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -80,6 +80,7 @@ src/plugins/pgpcore/prefs_gpg.c src/plugins/pgpcore/select-keys.c src/plugins/pgpcore/sgpgme.c src/plugins/pgpcore/plugin.c +src/plugins/pgpcore/pgp_viewer.c src/plugins/pgpinline/pgpinline.c src/plugins/pgpinline/plugin.c src/plugins/pgpmime/plugin.c diff --git a/src/plugins/pgpcore/pgp_viewer.c b/src/plugins/pgpcore/pgp_viewer.c index 6473e5885..41559f7e6 100644 --- a/src/plugins/pgpcore/pgp_viewer.c +++ b/src/plugins/pgpcore/pgp_viewer.c @@ -36,6 +36,7 @@ #include "sgpgme.h" #include "prefs_common.h" #include "prefs_gpg.h" +#include "alertpanel.h" #include "plugin.h" typedef struct _PgpViewer PgpViewer; @@ -107,26 +108,39 @@ static void pgpview_show_mime_part(TextView *textview, MimeInfo *partinfo) return; } gpgme_get_key(ctx, sig->fpr, &key, 0); - TEXTVIEW_INSERT(_("\n Importing key ID ")); - TEXTVIEW_INSERT(sig->fpr); - TEXTVIEW_INSERT(":\n\n"); if (!key) { - if (prefs_common.work_offline) { - gchar *cmd = g_strdup_printf("gpg --recv-keys %s", sig->fpr); + gchar *cmd = g_strdup_printf("gpg --no-tty --recv-keys %s", sig->fpr); + AlertValue val = G_ALERTDEFAULT; + if (!prefs_common.work_offline) { + val = alertpanel(_("Key import"), + _("This key is not in your keyring. Do you want " + "Sylpheed-Claws to try and import it from a " + "keyserver?"), + GTK_STOCK_NO, "+" GTK_STOCK_YES, NULL); + GTK_EVENTS_FLUSH(); + } + if (val == G_ALERTDEFAULT) { + TEXTVIEW_INSERT(_("\n Key ID ")); + TEXTVIEW_INSERT(sig->fpr); + TEXTVIEW_INSERT(":\n\n"); TEXTVIEW_INSERT(_(" This key is not in your keyring.\n")); - TEXTVIEW_INSERT(_(" It should be possible to import it when working online,\n")); - TEXTVIEW_INSERT(_(" or with the following command: \n\n ")); + TEXTVIEW_INSERT(_(" It should be possible to import it ")); + if (prefs_common.work_offline) + TEXTVIEW_INSERT(_("when working online,\n or ")); + TEXTVIEW_INSERT(_("with the following command: \n\n ")); TEXTVIEW_INSERT(cmd); - g_free(cmd); } else { #ifndef G_OS_WIN32 - gchar *cmd = g_strdup_printf("gpg --recv-keys %s", sig->fpr); int res = 0; pid_t pid = 0; + + TEXTVIEW_INSERT(_("\n Importing key ID ")); + TEXTVIEW_INSERT(sig->fpr); + TEXTVIEW_INSERT(":\n\n"); main_window_cursor_wait(mainwindow_get_mainwindow()); GTK_EVENTS_FLUSH(); - + pid = fork(); if (pid == -1) { res = -1; @@ -164,16 +178,18 @@ static void pgpview_show_mime_part(TextView *textview, MimeInfo *partinfo) TEXTVIEW_INSERT(_(" You can try to import it manually with the command:\n\n ")); TEXTVIEW_INSERT(cmd); } - g_free(cmd); #else TEXTVIEW_INSERT(_(" This key is not in your keyring.\n")); TEXTVIEW_INSERT(_(" Key import isn't implemented in Windows.\n")); #endif } + g_free(cmd); return; } else { - TEXTVIEW_INSERT(_(" This key is already in your keyring.\n")); - + TEXTVIEW_INSERT(_("\n Key ID ")); + TEXTVIEW_INSERT(sig->fpr); + TEXTVIEW_INSERT(":\n\n"); + TEXTVIEW_INSERT(_(" This key is in your keyring.\n")); } gpgme_data_release(sigdata); gpgme_release(ctx); diff --git a/src/plugins/pgpcore/sgpgme.c b/src/plugins/pgpcore/sgpgme.c index 70d0adbeb..77295a684 100644 --- a/src/plugins/pgpcore/sgpgme.c +++ b/src/plugins/pgpcore/sgpgme.c @@ -710,7 +710,7 @@ again: g_free(buf); if (val == G_ALERTALTERNATE) { #ifndef G_OS_WIN32 - gchar *cmd = g_strdup_printf("gpg --send-keys %s", key->fpr); + gchar *cmd = g_strdup_printf("gpg --no-tty --send-keys %s", key->fpr); int res = 0; pid_t pid = 0; pid = fork(); -- 2.25.1