summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2012-03-23 22:04:36 +0100
committerBastien Guerry <bzg@altern.org>2012-03-23 22:04:36 +0100
commit8dc05ad5f47e1141e0fcb5fe6373a68096028d17 (patch)
treef3c4c98297777e03a230fb260ce61947e0792160
parentfe7d69bdea7d41b98e1d00cbac6bfe91481b93b4 (diff)
downloadorg-mode-8dc05ad5f47e1141e0fcb5fe6373a68096028d17.tar.gz
org-colview.el: Also consider inline tasks when computing the sum.
* org-colview.el (org-columns-compute): Also consider inline tasks when computing the sum. TINYCHANGE Thanks to Myles English for spotting this and for his patch, this one is a slightly modified version of his.
-rw-r--r--lisp/org-colview.el19
1 files changed, 14 insertions, 5 deletions
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index 95228cc..95def1c 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -930,6 +930,8 @@ Don't set this, this is meant for dynamic scoping.")
(overlay-put ov 'display (format fmt val)))))
org-columns-overlays))))
+(defvar org-inlinetask-min-level
+ (if (featurep 'org-inlinetask) org-inlinetask-min-level 15))
(defun org-columns-compute (property)
"Sum the values of property PROPERTY hierarchically, for the entire buffer."
(interactive)
@@ -944,7 +946,9 @@ Don't set this, this is meant for dynamic scoping.")
(fun (nth 6 ass))
(calc (or (nth 7 ass) 'identity))
(beg org-columns-top-level-marker)
- last-level val valflag flag end sumpos sum-alist sum str str1 useval)
+ (inminlevel org-inlinetask-min-level)
+ (last-level org-inlinetask-min-level)
+ val valflag flag end sumpos sum-alist sum str str1 useval)
(save-excursion
;; Find the region to compute
(goto-char beg)
@@ -953,16 +957,21 @@ Don't set this, this is meant for dynamic scoping.")
;; Walk the tree from the back and do the computations
(while (re-search-backward re beg t)
(setq sumpos (match-beginning 0)
- last-level level
+ last-level (if (not (or (zerop level) (eq level inminlevel)))
+ level last-level)
level (org-outline-level)
val (org-entry-get nil property)
valflag (and val (string-match "\\S-" val)))
(cond
((< level last-level)
;; put the sum of lower levels here as a property
- (setq sum (when (aref lvals last-level)
- (apply fun (aref lvals last-level)))
- flag (aref lflag last-level) ; any valid entries from children?
+ (setq sum (+ (if (and (/= last-level inminlevel)
+ (aref lvals last-level))
+ (apply fun (aref lvals last-level)) 0)
+ (if (aref lvals inminlevel)
+ (apply fun (aref lvals inminlevel)) 0))
+ flag (or (aref lflag last-level) ; any valid entries from children?
+ (aref lflag inminlevel)) ; or inline tasks?
str (org-columns-number-to-string sum format printf)
str1 (org-add-props (copy-sequence str) nil 'org-computed t 'face 'bold)
useval (if flag str1 (if valflag val ""))