]> code.delx.au - gnu-emacs-elpa/commitdiff
* debbugs-gnu.el (debbugs-owner): New face.
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 3 Jul 2011 17:53:11 +0000 (19:53 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 3 Jul 2011 17:53:11 +0000 (19:53 +0200)
(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
packages/debbugs/debbugs-gnu.el

index 545bc4f4ef4ac73b2764e56f1392a2c0f8112c4b..f1791712bced146d86eac7a41d0f9449e6e9d8ca 100644 (file)
@@ -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  <larsi@gnus.org>
 
index 0635bb38657d8b2c0f99ad7580e4173712c011e5..a2dcb8947733959d3a7637199cd315b3e137c4f3 100644 (file)
@@ -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)
        (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)
                   (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)
             'debbugs-handled)
            (t
             'debbugs-stale)))
+         (put-text-property
+          (point-at-bol) (point-at-eol) 'mouse-face widget-mouse-face)
          (forward-line 1))))
 
     (when widgets
 (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")