New value 'all-headlines for `org-provide-todo-statistics'.

When org-provide-todo-statistics is set to 'all-headlines, the
statistics are performed against all headlines, including those
with no TODO keyword.

This was requested by David A. Gershman.
This commit is contained in:
Bastien Guerry 2009-07-27 00:35:48 +08:00
parent 402448cb4c
commit 6ebb5f2304
2 changed files with 29 additions and 13 deletions

View File

@ -1,3 +1,11 @@
2009-07-26 Bastien Guerry <bzg@altern.org>
* org.el (org-provide-todo-statistics): Allow new value
'all-headlines for this option, which includes entries with no
TODO keywords in the todo statistics.
(org-update-parent-todo-statistics): Possibly use the new option
from `org-provide-todo-statistics'.
2009-07-25 Bastien Guerry <bzg@altern.org>
* org-clock.el (org-dblock-write:clocktable): Add a new option

View File

@ -1704,10 +1704,15 @@ by a letter in parenthesis, like TODO(t)."
(defcustom org-provide-todo-statistics t
"Non-nil means, update todo statistics after insert and toggle.
When this is set, todo statistics is updated in the parent of the current
entry each time a todo state is changed."
ALL-HEADLINES means update todo statistics by including headlines
with no TODO keyword as well. When this is set, todo statistics
is updated in the parent of the current entry each time a todo
state is changed."
:group 'org-todo
:type 'boolean)
:type '(choice
(const :tag "For TODO entries" t)
(const :tag "By all headlines" 'all-headlines)
(const :tag "No TODO statistics" nil)))
(defcustom org-hierarchical-todo-statistics t
"Non-nil means, TODO statistics covers just direct children.
@ -9403,7 +9408,10 @@ statistics everywhere."
(> (setq l1 (length (match-string 1))) level))
(setq kwd (and (or recursive (= l1 ltoggle))
(match-string 2)))
(and kwd (setq cnt-all (1+ cnt-all)))
(if (eq org-provide-todo-statistics 'all-headlines)
(setq cnt-all (1+ cnt-all))
(if org-provide-todo-statistics
(and kwd (setq cnt-all (1+ cnt-all)))))
(and (member kwd org-done-keywords)
(setq cnt-done (1+ cnt-done)))
(outline-next-heading)))