瀏覽代碼

The note buffer for clocking out now mentions the task.

Carsten Dominik 16 年之前
父節點
當前提交
f03ea46b3a
共有 4 個文件被更改,包括 19 次插入4 次删除
  1. 4 0
      ORGWEBPAGE/Changes.org
  2. 4 0
      lisp/ChangeLog
  3. 2 1
      lisp/org-clock.el
  4. 9 3
      lisp/org.el

+ 4 - 0
ORGWEBPAGE/Changes.org

@@ -32,6 +32,10 @@
 
 
 ** Details
 ** Details
 
 
+*** The note buffer for clocking out now mentions the task
+    
+    This was a request by Peter Frings.
+
 *** Secondary filtering of agenda views.
 *** Secondary filtering of agenda views.
 
 
     You can now easily and interactively filter an existing
     You can now easily and interactively filter an existing

+ 4 - 0
lisp/ChangeLog

@@ -1,3 +1,7 @@
+2008-09-07  Carsten Dominik  <dominik@science.uva.nl>
+
+	* org.el (org-log-note-extra): New variable.
+
 2008-09-05  Bastien Guerry  <bzg@altern.org>
 2008-09-05  Bastien Guerry  <bzg@altern.org>
 
 
 	* org.el (org-additional-option-like-keywords): Added keywords for
 	* org.el (org-additional-option-like-keywords): Added keywords for

+ 2 - 1
lisp/org-clock.el

@@ -368,7 +368,8 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
 	       (delete-char 1)))
 	       (delete-char 1)))
 	(move-marker org-clock-marker nil)
 	(move-marker org-clock-marker nil)
 	(when org-log-note-clock-out
 	(when org-log-note-clock-out
-	  (org-add-log-setup 'clock-out))
+	  (org-add-log-setup 'clock-out nil nil nil
+			     (concat "# Task: " (org-get-heading t) "\n\n")))
 	(when org-mode-line-timer
 	(when org-mode-line-timer
 	  (cancel-timer org-mode-line-timer)
 	  (cancel-timer org-mode-line-timer)
 	  (setq org-mode-line-timer nil))
 	  (setq org-mode-line-timer nil))

+ 9 - 3
lisp/org.el

@@ -8747,6 +8747,7 @@ Returns the new TODO keyword, or nil if no state change should occur."
 (defvar org-log-post-message)
 (defvar org-log-post-message)
 (defvar org-log-note-purpose)
 (defvar org-log-note-purpose)
 (defvar org-log-note-how)
 (defvar org-log-note-how)
+(defvar org-log-note-extra)
 (defun org-auto-repeat-maybe (done-word)
 (defun org-auto-repeat-maybe (done-word)
   "Check if the current headline contains a repeated deadline/schedule.
   "Check if the current headline contains a repeated deadline/schedule.
 If yes, set TODO state back to what it was and change the base date
 If yes, set TODO state back to what it was and change the base date
@@ -8985,6 +8986,7 @@ be removed."
 (defvar org-log-note-purpose nil)
 (defvar org-log-note-purpose nil)
 (defvar org-log-note-state nil)
 (defvar org-log-note-state nil)
 (defvar org-log-note-how nil)
 (defvar org-log-note-how nil)
+(defvar org-log-note-extra nil)
 (defvar org-log-note-window-configuration nil)
 (defvar org-log-note-window-configuration nil)
 (defvar org-log-note-return-to (make-marker))
 (defvar org-log-note-return-to (make-marker))
 (defvar org-log-post-message nil
 (defvar org-log-post-message nil
@@ -8997,11 +8999,13 @@ This is done in the same way as adding a state change note."
   (interactive)
   (interactive)
   (org-add-log-setup 'note nil t nil))
   (org-add-log-setup 'note nil t nil))
 
 
-(defun org-add-log-setup (&optional purpose state findpos how)
+(defun org-add-log-setup (&optional purpose state findpos how extra)
   "Set up the post command hook to take a note.
   "Set up the post command hook to take a note.
 If this is about to TODO state change, the new state is expected in STATE.
 If this is about to TODO state change, the new state is expected in STATE.
 When FINDPOS is non-nil, find the correct position for the note in
 When FINDPOS is non-nil, find the correct position for the note in
-the current entry.  If not, assume that it can be inserted at point."
+the current entry.  If not, assume that it can be inserted at point.
+HOW is an indicator what kind of note should be created.
+EXTRA is additional text that will be inserted into the notes buffer."
   (save-excursion
   (save-excursion
     (when findpos
     (when findpos
       (org-back-to-heading t)
       (org-back-to-heading t)
@@ -9016,7 +9020,8 @@ the current entry.  If not, assume that it can be inserted at point."
     (move-marker org-log-note-marker (point))
     (move-marker org-log-note-marker (point))
     (setq org-log-note-purpose purpose
     (setq org-log-note-purpose purpose
 	  org-log-note-state state
 	  org-log-note-state state
-	  org-log-note-how how)
+	  org-log-note-how how
+	  org-log-note-extra extra)
     (add-hook 'post-command-hook 'org-add-log-note 'append)))
     (add-hook 'post-command-hook 'org-add-log-note 'append)))
 
 
 (defun org-skip-over-state-notes ()
 (defun org-skip-over-state-notes ()
@@ -9050,6 +9055,7 @@ the current entry.  If not, assume that it can be inserted at point."
 		     ((eq org-log-note-purpose 'note)
 		     ((eq org-log-note-purpose 'note)
 		      "this entry")
 		      "this entry")
 		     (t (error "This should not happen")))))
 		     (t (error "This should not happen")))))
+    (if org-log-note-extra (insert org-log-note-extra))
     (org-set-local 'org-finish-function 'org-store-log-note)))
     (org-set-local 'org-finish-function 'org-store-log-note)))
 
 
 (defvar org-note-abort nil) ; dynamically scoped
 (defvar org-note-abort nil) ; dynamically scoped