emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] [PATCH 3/9] Show durations of clocked times in timeline


From: James TD Smith
Subject: [Orgmode] [PATCH 3/9] Show durations of clocked times in timeline
Date: Sat, 20 Sep 2008 22:08:56 +0100
User-agent: StGIT/0.14.2

In the timeline display in the agenda, show the length of time clocked as well
as the start and end times.
---

 lisp/ChangeLog     |    3 +++
 lisp/org-agenda.el |   14 ++++++++------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index bcefdab..3896ddf 100755
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
 2008-09-20  James TD Smith  <address@hidden>
 
+       * org-agenda.el (org-agenda-get-closed): show durations of clocked
+       items as well as the start and end times.
+
        * org-compat.el (org-get-x-clipboard-compat): Add a compat
        function for fetching the X clipboard on XEmacs and GNU Emacs 21.
 
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index d1abcce..f13002e 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3337,7 +3337,7 @@ the documentation of `org-diary'."
                            (list 0 0 0 (nth 1 date) (car date) (nth 2 date))))
                    1 11))))
         marker hdmarker priority category tags closedp
-        ee txt timestr rest)
+        ee txt timestr rest clocked)
     (goto-char (point-min))
     (while (re-search-forward regexp nil t)
       (catch :skip
@@ -3353,10 +3353,11 @@ the documentation of `org-diary'."
          (setq rest (substring timestr (match-end 0))
                timestr (substring timestr 0 (match-end 0)))
          (if (and (not closedp)
-                  (string-match "\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)\\]" rest))
-             (setq timestr (concat (substring timestr 0 -1)
-                                   "-" (match-string 1 rest) "]"))))
-               
+                  (string-match 
"\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)\\].*\\([0-9]\\{1,2\\}:[0-9]\\{2\\}\\)" rest))
+             (progn (setq timestr (concat (substring timestr 0 -1)
+                                          "-" (match-string 1 rest) "]"))
+                    (setq clocked (match-string 2 rest)))
+           (setq clocked "-")))
        (save-excursion
          (if (re-search-backward "^\\*+ " nil t)
              (progn
@@ -3365,7 +3366,8 @@ the documentation of `org-diary'."
                      tags (org-get-tags-at))
                (looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
                (setq txt (org-format-agenda-item
-                          (if closedp "Closed:    " "Clocked:   ")
+                          (if closedp "Closed:    "
+                            (concat "Clocked:   (" clocked  ")"))
                           (match-string 1) category tags timestr)))
            (setq txt org-agenda-no-heading-message))
          (setq priority 100000)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]