aboutsummaryrefslogtreecommitdiff
path: root/src/textview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-08-23 03:55:56 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-08-23 03:55:56 +0000
commit50eeb3d818c7c36f03d0c195c48528c2cd2731ee (patch)
treede0247b4b7024749c8945ec3c998e55f677a8f86 /src/textview.c
parent830583f24a6753bea7aae2704c41303ff6b0ad03 (diff)
added signature information to MsgInfo.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1128 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/textview.c')
-rw-r--r--src/textview.c40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/textview.c b/src/textview.c
index 8437c7d1..e9d33d59 100644
--- a/src/textview.c
+++ b/src/textview.c
@@ -478,8 +478,9 @@ void textview_show_message(TextView *textview, MimeInfo *mimeinfo,
textview_add_parts(textview, mimeinfo, fp);
#if USE_GPGME
- if (mimeinfo->sigstatus)
- textview_add_sig_part(textview, mimeinfo);
+ if (textview->messageview->msginfo->encinfo &&
+ textview->messageview->msginfo->encinfo->sigstatus)
+ textview_add_sig_part(textview, NULL);
#endif
fclose(fp);
@@ -740,22 +741,32 @@ static void textview_add_sig_part(TextView *textview, MimeInfo *mimeinfo)
GtkTextIter iter;
gchar buf[BUFFSIZE];
const gchar *color;
+ const gchar *sigstatus;
+ const gchar *sigstatus_full;
+ const gchar *type;
+
+ if (mimeinfo) {
+ sigstatus = mimeinfo->sigstatus;
+ sigstatus_full = mimeinfo->sigstatus_full;
+ type = mimeinfo->content_type;
+ } else if (textview->messageview->msginfo->encinfo) {
+ sigstatus = textview->messageview->msginfo->encinfo->sigstatus;
+ sigstatus_full =
+ textview->messageview->msginfo->encinfo->sigstatus_full;
+ type = "signature";
+ } else
+ return;
- if (!mimeinfo->sigstatus)
+ if (!sigstatus)
return;
- if (mimeinfo->parent)
- g_snprintf(buf, sizeof(buf), "\n[%s (%s)]\n",
- mimeinfo->content_type, mimeinfo->sigstatus);
- else
- g_snprintf(buf, sizeof(buf), "\n[%s (%s)]\n",
- "signature", mimeinfo->sigstatus);
+ g_snprintf(buf, sizeof(buf), "\n[%s (%s)]\n", type, sigstatus);
- if (!strcmp(mimeinfo->sigstatus, _("Good signature")))
+ if (!strcmp(sigstatus, _("Good signature")))
color = "good-signature";
- else if (!strcmp(mimeinfo->sigstatus, _("Valid signature (untrusted key)")))
+ else if (!strcmp(sigstatus, _("Valid signature (untrusted key)")))
color = "untrusted-signature";
- else if (!strcmp(mimeinfo->sigstatus, _("BAD signature")))
+ else if (!strcmp(sigstatus, _("BAD signature")))
color = "bad-signature";
else
color = "nocheck-signature";
@@ -764,10 +775,9 @@ static void textview_add_sig_part(TextView *textview, MimeInfo *mimeinfo)
gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, buf, -1,
color, "mimepart", NULL);
- if (mimeinfo->sigstatus_full)
+ if (sigstatus_full)
gtk_text_buffer_insert_with_tags_by_name
- (buffer, &iter, mimeinfo->sigstatus_full, -1,
- "mimepart", NULL);
+ (buffer, &iter, sigstatus_full, -1, "mimepart", NULL);
}
#endif