From 1006b4fcfad052a7289f728a58f5472c9813b420 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 3 Jul 2011 19:53:11 +0200 Subject: [PATCH] * debbugs-gnu.el (debbugs-owner): New face. (debbugs-show-reports): Mark subject if the user is the bug's owner. Add mouse-face. (debbugs-mode-map): Add [mouse-1] and [mouse-2]. (debbugs-send-control-message): Add "owner" and "noowner" messages. --- packages/debbugs/ChangeLog | 5 +++++ packages/debbugs/debbugs-gnu.el | 22 ++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/debbugs/ChangeLog b/packages/debbugs/ChangeLog index 545bc4f4e..f1791712b 100644 --- a/packages/debbugs/ChangeLog +++ b/packages/debbugs/ChangeLog @@ -6,6 +6,11 @@ (debbugs-show-reports): Remove suppress-done from arguments. It must be read from the widget anyway. Tune inserting of bottom line widgets. + (debbugs-owner): New face. + (debbugs-show-reports): Mark subject if the user is the bug's + owner. Add mouse-face. + (debbugs-mode-map): Add [mouse-1] and [mouse-2]. + (debbugs-send-control-message): Add "owner" and "noowner" messages. 2011-07-03 Lars Magne Ingebrigtsen diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index 0635bb386..a2dcb8947 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -47,6 +47,9 @@ (defface debbugs-done '((t (:foreground "DarkGrey"))) "Face for closed bug reports.") +(defface debbugs-owner '((t (:foreground "red"))) + "Face for new reports owned by me.") + (defvar debbugs-widget-map (let ((map (make-sparse-keymap))) (define-key map "\r" 'widget-button-press) @@ -151,6 +154,10 @@ (let ((address (mail-header-parse-address (decode-coding-string (cdr (assq 'originator status)) 'utf-8))) + (owner (if (cdr (assq 'owner status)) + (car (mail-header-parse-address + (decode-coding-string (cdr (assq 'owner status)) + 'utf-8))))) (subject (decode-coding-string (cdr (assq 'subject status)) 'utf-8)) merged) @@ -183,7 +190,11 @@ (if (> (length address) 23) (propertize (substring address 0 23) 'help-echo address) address) - (propertize subject 'help-echo subject))) + (if (and (stringp owner) + (string-equal owner user-mail-address)) + (propertize subject + 'face 'debbugs-owner 'help-echo subject) + (propertize subject 'help-echo subject)))) (forward-line -1) (put-text-property (point) (1+ (point)) 'debbugs-status status) @@ -202,6 +213,8 @@ 'debbugs-handled) (t 'debbugs-stale))) + (put-text-property + (point-at-bol) (point-at-eol) 'mouse-face widget-mouse-face) (forward-line 1)))) (when widgets @@ -215,6 +228,8 @@ (defvar debbugs-mode-map (let ((map (make-sparse-keymap))) (define-key map "\r" 'debbugs-select-report) + (define-key map [mouse-1] 'debbugs-select-report) + (define-key map [mouse-2] 'debbugs-select-report) (define-key map "q" 'kill-buffer) (define-key map "s" 'debbugs-toggle-sort) (define-key map "d" 'debbugs-display-status) @@ -356,6 +371,7 @@ fixed, and then closed." "done" "unarchive" "reopen" "close" "merge" "forcemerge" + "owner" "noowner" "patch" "wontfix" "moreinfo" "unreproducible" "fixed" "notabug") nil t))) (let* ((id debbugs-bug-number) ; Set on group entry. @@ -383,11 +399,13 @@ fixed, and then closed." (format "Subject: control message for bug #%d\n" id) "\n" (cond - ((member message '("unarchive" "reopen")) + ((member message '("unarchive" "reopen" "noowner")) (format "%s %d\n" message id)) ((member message '("merge" "forcemerge")) (format "%s %d %s\n" message id (read-string "Merge with bug #: "))) + ((equal message "owner") + (format "owner %d !\n" id)) ((equal message "close") (format "close %d %s\n" id version)) ((equal message "done") -- 2.39.2