mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
emacs: Define several faces for the crypto-status button
Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net> jrollins modified this patch to conform to recent changes in the crypto processing since this patch was originally sent in.
This commit is contained in:
parent
e584c64c5b
commit
09793b6132
1 changed files with 32 additions and 10 deletions
|
@ -36,36 +36,58 @@ search."
|
||||||
:group 'notmuch
|
:group 'notmuch
|
||||||
:type 'boolean)
|
:type 'boolean)
|
||||||
|
|
||||||
|
(defface notmuch-crypto-signature-good
|
||||||
|
'((t (:background "green" :foreground "black")))
|
||||||
|
"Face used for good signatures."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-crypto-signature-good-key
|
||||||
|
'((t (:background "orange" :foreground "black")))
|
||||||
|
"Face used for good signatures."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-crypto-signature-bad
|
||||||
|
'((t (:background "red" :foreground "black")))
|
||||||
|
"Face used for bad signatures."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-crypto-signature-unknown
|
||||||
|
'((t (:background "red" :foreground "black")))
|
||||||
|
"Face used for signatures of unknown status."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-crypto-decryption
|
||||||
|
'((t (:background "purple" :foreground "black")))
|
||||||
|
"Face used for encryption/decryption status messages."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
(define-button-type 'notmuch-crypto-status-button-type
|
(define-button-type 'notmuch-crypto-status-button-type
|
||||||
'action '(lambda (button) (message (button-get button 'help-echo)))
|
'action '(lambda (button) (message (button-get button 'help-echo)))
|
||||||
'follow-link t
|
'follow-link t
|
||||||
'help-echo "Set notmuch-crypto-process-mime to process cryptographic mime parts."
|
'help-echo "Set notmuch-crypto-process-mime to process cryptographic mime parts.")
|
||||||
'face '(:foreground "blue")
|
|
||||||
'mouse-face '(:foreground "blue"))
|
|
||||||
|
|
||||||
(defun notmuch-crypto-insert-sigstatus-button (sigstatus from)
|
(defun notmuch-crypto-insert-sigstatus-button (sigstatus from)
|
||||||
(let* ((status (plist-get sigstatus :status))
|
(let* ((status (plist-get sigstatus :status))
|
||||||
(help-msg nil)
|
(help-msg nil)
|
||||||
(label "Signature not processed")
|
(label "Signature not processed")
|
||||||
(face '(:background "red" :foreground "black")))
|
(face 'notmuch-crypto-signature-unknown))
|
||||||
(cond
|
(cond
|
||||||
((string= status "good")
|
((string= status "good")
|
||||||
; if userid present, userid has full or greater validity
|
; if userid present, userid has full or greater validity
|
||||||
(if (plist-member sigstatus :userid)
|
(if (plist-member sigstatus :userid)
|
||||||
(let ((userid (plist-get sigstatus :userid)))
|
(let ((userid (plist-get sigstatus :userid)))
|
||||||
(setq label (concat "Good signature by: " userid))
|
(setq label (concat "Good signature by: " userid))
|
||||||
(setq face '(:background "green" :foreground "black")))
|
(setq face 'notmuch-crypto-signature-good))
|
||||||
(let ((fingerprint (concat "0x" (plist-get sigstatus :fingerprint))))
|
(let ((fingerprint (concat "0x" (plist-get sigstatus :fingerprint))))
|
||||||
(setq label (concat "Good signature by key: " fingerprint))
|
(setq label (concat "Good signature by key: " fingerprint))
|
||||||
(setq face '(:background "orange" :foreground "black")))))
|
(setq face 'notmuch-crypto-signature-good-key))))
|
||||||
((string= status "error")
|
((string= status "error")
|
||||||
(let ((keyid (concat "0x" (plist-get sigstatus :keyid))))
|
(let ((keyid (concat "0x" (plist-get sigstatus :keyid))))
|
||||||
(setq label (concat "Unknown key ID " keyid " or unsupported algorithm"))
|
(setq label (concat "Unknown key ID " keyid " or unsupported algorithm"))))
|
||||||
(setq face '(:background "red" :foreground "black"))))
|
|
||||||
((string= status "bad")
|
((string= status "bad")
|
||||||
(let ((keyid (concat "0x" (plist-get sigstatus :keyid))))
|
(let ((keyid (concat "0x" (plist-get sigstatus :keyid))))
|
||||||
(setq label (concat "Bad signature (claimed key ID " keyid ")"))
|
(setq label (concat "Bad signature (claimed key ID " keyid ")"))
|
||||||
(setq face '(:background "red" :foreground "black"))))
|
(setq face 'notmuch-crypto-signature-bad)))
|
||||||
(t
|
(t
|
||||||
(setq label "Unknown signature status")
|
(setq label "Unknown signature status")
|
||||||
(if status (setq label (concat label " \"" status "\"")))))
|
(if status (setq label (concat label " \"" status "\"")))))
|
||||||
|
@ -83,7 +105,7 @@ search."
|
||||||
(let* ((status (plist-get encstatus :status))
|
(let* ((status (plist-get encstatus :status))
|
||||||
(help-msg nil)
|
(help-msg nil)
|
||||||
(label "Decryption not attempted")
|
(label "Decryption not attempted")
|
||||||
(face '(:background "purple" :foreground "black")))
|
(face 'notmuch-crypto-decryption))
|
||||||
(cond
|
(cond
|
||||||
((string= status "good")
|
((string= status "good")
|
||||||
(setq label "Decryption successful"))
|
(setq label "Decryption successful"))
|
||||||
|
|
Loading…
Reference in a new issue