mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2025-01-01 11:15:00 +00:00
Add clock resuming.
If the option `org-clock-resume' is t, and the first clock line in an entry is is open, clocking into that task resumes the clock from that time.
This commit is contained in:
parent
2eb3594c5f
commit
a70426f115
@ -24,6 +24,14 @@
|
||||
* org.el (org-insert-todo-heading): Fix bug with force-heading
|
||||
argument.
|
||||
|
||||
2008-10-23 James TD Smith <ahktenzero@mohorovi.cc>
|
||||
|
||||
* org-clock.el (org-clock-in-resume): Add a custom option to
|
||||
toggle starting the clock from an open clock line.
|
||||
(org-clock-in): When clocking in to an entry, if
|
||||
`org-clock-in-resume' is set, check if the first clock line is
|
||||
open and if so, start the clock from the time in the clock line.
|
||||
|
||||
2008-10-22 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org-exp.el (org-export-as-ascii): Handle the case that we are
|
||||
|
@ -95,6 +95,12 @@ The function is called with point at the beginning of the headline."
|
||||
:group 'org-clock
|
||||
:type 'integer)
|
||||
|
||||
(defcustom org-clock-in-resume nil
|
||||
"If non-nil, when clocking into a task with a clock entry which
|
||||
has not been closed, resume the clock from that point"
|
||||
:group 'org-clock
|
||||
:type 'boolean)
|
||||
|
||||
;;; The clock for measuring work time.
|
||||
|
||||
(defvar org-mode-line-string "")
|
||||
@ -291,12 +297,21 @@ the clocking selection, associated with the letter `d'."
|
||||
(t "???")))
|
||||
(setq org-clock-heading (org-propertize org-clock-heading 'face nil))
|
||||
(org-clock-find-position)
|
||||
|
||||
(insert "\n") (backward-char 1)
|
||||
(org-indent-line-function)
|
||||
(insert org-clock-string " ")
|
||||
(setq org-clock-start-time (current-time))
|
||||
(setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive))
|
||||
(if (and org-clock-in-resume
|
||||
(looking-at (concat "^[ \\t]* " org-clock-string
|
||||
" \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}"
|
||||
" +\\sw+ +[012][0-9]:[0-5][0-9]\\)\\]$")))
|
||||
(progn (message "Matched %s" (match-string 1))
|
||||
(setq ts (concat "[" (match-string 1) "]"))
|
||||
(goto-char (match-end 1))
|
||||
(setq org-clock-start-time
|
||||
(apply 'encode-time (org-parse-time-string (match-string 1)))))
|
||||
(progn
|
||||
(insert "\n") (backward-char 1)
|
||||
(org-indent-line-function)
|
||||
(insert org-clock-string " ")
|
||||
(setq org-clock-start-time (current-time))
|
||||
(setq ts (org-insert-time-stamp org-clock-start-time 'with-hm 'inactive))))
|
||||
(move-marker org-clock-marker (point) (buffer-base-buffer))
|
||||
(or global-mode-string (setq global-mode-string '("")))
|
||||
(or (memq 'org-mode-line-string global-mode-string)
|
||||
@ -962,7 +977,6 @@ the currently selected interval size."
|
||||
(re-search-forward "#\\+END:")
|
||||
(end-of-line 0))))
|
||||
|
||||
|
||||
(defun org-clocktable-add-file (file table)
|
||||
(if table
|
||||
(let ((lines (org-split-string table "\n"))
|
||||
|
Loading…
Reference in New Issue
Block a user