From 86e6c447ef09bdd45e46d15d75ff54b0064acc32 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Sun, 22 Sep 2002 10:53:49 +0000 Subject: [PATCH] Made GPG signatures verifiable by clicking the [application/pgp-signature] in the Text view --- ChangeLog.claws | 23 ++++++++++++++++------- configure.in | 2 +- src/mimeview.c | 5 +---- src/mimeview.h | 3 +++ src/textview.c | 30 +++++++++++++++++++++++++++++- 5 files changed, 50 insertions(+), 13 deletions(-) diff --git a/ChangeLog.claws b/ChangeLog.claws index 0e5b39c55..e146853ee 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,12 +1,21 @@ +2002-09-22 [colin] 0.8.3claws1 + + * src/mimeview.[ch] + Made mimeview_check_signature() public + * src/textview.c + Made GPG signatures verifiable by clicking + the [application/pgp-signature] in the Text + view + 2002-09-22 [paul] 0.8.3claws - *po/bg.po - po/en_GB.po - po/es.po - po/it.po - po/pl.po - po/pt_BR.po - po/sr.po + * po/bg.po + po/en_GB.po + po/es.po + po/it.po + po/pl.po + po/pt_BR.po + po/sr.po updated translations, submitted by George Danchev, me, Ricardo Mones Lastra, Alessandro Maestri, Witold Wladyslaw Wojciech Wilk, Fabio Jr.Beneditto diff --git a/configure.in b/configure.in index ba865c0f4..5f49ae7aa 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ MINOR_VERSION=8 MICRO_VERSION=3 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws +EXTRA_VERSION=claws1 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/mimeview.c b/src/mimeview.c index fd1289264..65b8f701b 100644 --- a/src/mimeview.c +++ b/src/mimeview.c @@ -108,9 +108,6 @@ static void mimeview_open_with (MimeView *mimeview); static void mimeview_view_file (const gchar *filename, MimeInfo *partinfo, const gchar *cmdline); -#if USE_GPGME -static void mimeview_check_signature (MimeView *mimeview); -#endif static GtkItemFactoryEntry mimeview_popup_entries[] = { @@ -1061,7 +1058,7 @@ static void mimeview_update_signature_info(MimeView *mimeview) } } -static void mimeview_check_signature(MimeView *mimeview) +void mimeview_check_signature(MimeView *mimeview) { MimeInfo *mimeinfo; FILE *fp; diff --git a/src/mimeview.h b/src/mimeview.h index 9d5e0baa2..b128b0a32 100644 --- a/src/mimeview.h +++ b/src/mimeview.h @@ -72,6 +72,9 @@ void mimeview_show_message (MimeView *mimeview, const gchar *file); void mimeview_destroy (MimeView *mimeview); +#if USE_GPGME +void mimeview_check_signature (MimeView *mimeview); +#endif void mimeview_pass_key_press_event (MimeView *mimeview, GdkEventKey *event); diff --git a/src/textview.c b/src/textview.c index d3ef50091..4a7fa8568 100644 --- a/src/textview.c +++ b/src/textview.c @@ -50,6 +50,7 @@ #include "addressbook.h" #include "displayheader.h" #include "account.h" +#include "mimeview.h" #define FONT_LOAD(font, s) \ { \ @@ -502,6 +503,22 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp) g_snprintf(buf, sizeof(buf), "\n[%s (%d bytes)]\n", mimeinfo->content_type, mimeinfo->size); +#if USE_GPGME + if (mimeinfo->sigstatus && !mimeinfo->sigstatus_full) { + gchar *tmp; + /* use standard font */ + gpointer oldfont = textview->msgfont; + textview->msgfont = NULL; + + tmp = g_strconcat("pgp: ", _("Check signature"), NULL); + textview_write_link(textview, tmp, buf, NULL); + + /* put things back */ + textview->msgfont = (GdkFont *)oldfont; + oldfont = NULL; + g_free(tmp); + } else +#endif if (mimeinfo->mime_type != MIME_TEXT && mimeinfo->mime_type != MIME_TEXT_HTML && mimeinfo->mime_type != MIME_TEXT_ENRICHED) { @@ -1805,7 +1822,18 @@ static gint textview_button_released(GtkWidget *widget, GdkEventButton *event, } compose_new(account, uri->uri + 7, NULL); } - } else { + } else +#if USE_GPGME + if (!g_strncasecmp(uri->uri, "pgp:", 4)) { + GtkAdjustment *pos = gtk_scrolled_window_get_vadjustment( + GTK_SCROLLED_WINDOW(textview->scrolledwin)); + gfloat vpos = pos->value; + mimeview_check_signature(textview->messageview->mimeview); + /* scroll back where we were */ + gtk_adjustment_set_value(pos, vpos); + } else +#endif + { open_uri(uri->uri, prefs_common.uri_cmd); } -- 2.25.1