emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [PATCH] org-clock-modify-effort-estimate: display a message when no


From: Adam Spiers
Subject: [O] [PATCH] org-clock-modify-effort-estimate: display a message when no clock is active
Date: Mon, 5 Mar 2012 00:09:28 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

---
 lisp/org-clock.el |   57 +++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 28 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 9206608..1613f77 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -563,39 +563,40 @@ previous clocking intervals."
     (+ currently-clocked-time (or org-clock-total-time 0))))
 
 (defun org-clock-modify-effort-estimate (&optional value)
- "Add to or set the effort estimate of the item currently being clocked.
+  "Add to or set the effort estimate of the item currently being clocked.
 VALUE can be a number of minutes, or a string with format hh:mm or mm.
 When the string starts with a + or a - sign, the current value of the effort
 property will be changed by that amount.
 This will update the \"Effort\" property of currently clocked item, and
 the mode line."
- (interactive)
- (when (org-clock-is-active)
-   (let ((current org-clock-effort) sign)
-     (unless value
-       ;; Prompt user for a value or a change
-       (setq value
-            (read-string
-             (format "Set effort (hh:mm or mm%s): "
-                     (if current
-                         (format ", prefix + to add to %s" org-clock-effort)
-                       "")))))
-     (when (stringp value)
-       ;; A string.  See if it is a delta
-       (setq sign (string-to-char value))
-       (if (member sign '(?- ?+))
-          (setq current (org-duration-string-to-minutes current)
-                value (substring value 1))
-        (setq current 0))
-       (setq value (org-duration-string-to-minutes value))
-       (if (equal ?- sign)
-          (setq value (- current value))
-        (if (equal ?+ sign) (setq value (+ current value)))))
-     (setq value (max 0 value)
-          org-clock-effort (org-minutes-to-hh:mm-string value))
-     (org-entry-put org-clock-marker "Effort" org-clock-effort)
-     (org-clock-update-mode-line)
-     (message "Effort is now %s" org-clock-effort))))
+  (interactive)
+  (if (org-clock-is-active)
+      (let ((current org-clock-effort) sign)
+       (unless value
+         ;; Prompt user for a value or a change
+         (setq value
+               (read-string
+                (format "Set effort (hh:mm or mm%s): "
+                        (if current
+                            (format ", prefix + to add to %s" org-clock-effort)
+                          "")))))
+       (when (stringp value)
+         ;; A string.  See if it is a delta
+         (setq sign (string-to-char value))
+         (if (member sign '(?- ?+))
+             (setq current (org-duration-string-to-minutes current)
+                   value (substring value 1))
+           (setq current 0))
+         (setq value (org-duration-string-to-minutes value))
+         (if (equal ?- sign)
+             (setq value (- current value))
+           (if (equal ?+ sign) (setq value (+ current value)))))
+       (setq value (max 0 value)
+             org-clock-effort (org-minutes-to-hh:mm-string value))
+       (org-entry-put org-clock-marker "Effort" org-clock-effort)
+       (org-clock-update-mode-line)
+       (message "Effort is now %s" org-clock-effort))
+    (message "Clock is not currently active")))
 
 (defvar org-clock-notification-was-shown nil
   "Shows if we have shown notification already.")
-- 
1.7.8.206.g71406




reply via email to

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