emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Clock/add_time Format


From: Peter Jones
Subject: [Orgmode] Re: Clock/add_time Format
Date: Thu, 15 May 2008 21:20:35 -0600
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (darwin)

Carsten Dominik <address@hidden> writes:
> Sure please make the patch.

Attached.  At this point I've just created the patch.  I'll have some
time tomorrow to actually use it and see how it feels.

>From 335a6fcaf50277e5f9362763bc21e6482af6fda6 Mon Sep 17 00:00:00 2001
From: Peter Jones <address@hidden>
Date: Thu, 15 May 2008 21:16:41 -0600
Subject: [PATCH] Add org-time-clocksum-format customize variable

Replace all occurrences of the format string "%d:%02d" with
org-time-clocksum-format, which contains the same string by default.

This allows anyone to customize the appearance of clock summaries.

For example:

  (setq org-time-clocksum-format "%02d:%02d")
---
 lisp/org-clock.el          |    6 +++---
 lisp/org-colview-xemacs.el |    2 +-
 lisp/org-colview.el        |    2 +-
 lisp/org.el                |    8 +++++++-
 4 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index fe84167..089eb55 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -197,7 +197,7 @@ of a different task.")
         (h (floor delta 3600))
         (m (floor (- delta (* 3600 h)) 60)))
     (setq org-mode-line-string
-         (propertize (format "-[%d:%02d (%s)]" h m org-clock-heading)
+         (propertize (format (concat "-[" org-time-clocksum-format " (%s)]") h 
m org-clock-heading)
                      'help-echo "Org-mode clock is running"))
     (force-mode-line-update)))
 
@@ -375,7 +375,7 @@ If there is no running clock, throw an error, unless 
FAIL-QUIETLY is set."
        (setq global-mode-string
              (delq 'org-mode-line-string global-mode-string))
        (force-mode-line-update)
-       (message "Clock stopped at %s after HH:MM = %d:%02d%s" te h m
+       (message (concat "Clock stopped at %s after HH:MM = " 
org-time-clocksum-format "%s") te h m
                 (if remove " => LINE REMOVED" "")))))))
 
 (defun org-clock-cancel ()
@@ -487,7 +487,7 @@ in the echo area."
        (when org-remove-highlights-with-change
          (org-add-hook 'before-change-functions 'org-remove-clock-overlays
                        nil 'local))))
-    (message "Total file time: %d:%02d (%d hours and %d minutes)" h m h m)))
+    (message (concat "Total file time: " org-time-clocksum-format " (%d hours 
and %d minutes)") h m h m)))
 
 (defvar org-clock-overlays nil)
 (make-variable-buffer-local 'org-clock-overlays)
diff --git a/lisp/org-colview-xemacs.el b/lisp/org-colview-xemacs.el
index cc32116..da5d837 100644
--- a/lisp/org-colview-xemacs.el
+++ b/lisp/org-colview-xemacs.el
@@ -1042,7 +1042,7 @@ Don't set this, this is meant for dynamic scoping.")
   (cond
    ((eq fmt 'add_times)
     (let* ((h (floor n)) (m (floor (+ 0.5 (* 60 (- n h))))))
-      (format "%d:%02d" h m)))
+      (format org-time-clocksum-format h m)))
    ((eq fmt 'checkbox)
     (cond ((= n (floor n)) "[X]")
          ((> n 1.) "[-]")
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index 5d3127a..9bad58b 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -837,7 +837,7 @@ Don't set this, this is meant for dynamic scoping.")
   (cond
    ((eq fmt 'add_times)
     (let* ((h (floor n)) (m (floor (+ 0.5 (* 60 (- n h))))))
-      (format "%d:%02d" h m)))
+      (format org-time-clocksum-format h m)))
    ((eq fmt 'checkbox)
     (cond ((= n (floor n)) "[X]")
          ((> n 1.) "[-]")
diff --git a/lisp/org.el b/lisp/org.el
index 971e98c..ae0cfd9 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -1598,6 +1598,12 @@ end of the second format."
        (concat "[" (substring f 1 -1) "]")
       f)))
 
+(defcustom org-time-clocksum-format "%d:%02d"
+  "The format string used when creating CLOCKSUM lines, or when
+org-mode generates a time duration."
+  :group 'org-time
+  :type 'string)
+  
 (defcustom org-deadline-warning-days 14
   "No. of days before expiration during which a deadline becomes active.
 This variable governs the display in sparse trees and in the agenda.
@@ -11352,7 +11358,7 @@ If there is already a time stamp at the cursor 
position, update it."
   "Compute H:MM from a number of minutes."
   (let ((h (/ m 60)))
     (setq m (- m (* 60 h)))
-    (format "%d:%02d" h m)))
+    (format org-time-clocksum-format h m)))
 
 (defun org-hh:mm-string-to-minutes (s)
   "Convert a string H:MM to a number of minutes."
-- 
1.5.3.7

-- 
Peter Jones, pmade inc.
http://pmade.com

reply via email to

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