|
@@ -588,39 +588,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.")
|