Browse Source

org.el: Add a new function to `org-cycle-hook' to hide inline tasks from the 'contents view

* org.el (org-cycle-hide-inline-tasks): New function to hide
inline tasks when cycling.
(org-cycle-hook): Use the new function.

Thanks to Christopher Witte for triggering this and to Carsten for
suggesting this change.
Bastien Guerry 12 years ago
parent
commit
59f9e22dda
1 changed files with 8 additions and 0 deletions
  1. 8 0
      lisp/org.el

+ 8 - 0
lisp/org.el

@@ -970,6 +970,7 @@ the values `folded', `children', or `subtree'."
 
 (defcustom org-cycle-hook '(org-cycle-hide-archived-subtrees
 			    org-cycle-hide-drawers
+			    org-cycle-hide-inline-tasks
 			    org-cycle-show-empty-lines
 			    org-optimize-window-after-visibility-change)
   "Hook that is run after `org-cycle' has changed the buffer visibility.
@@ -6788,6 +6789,13 @@ open and agenda-wise Org files."
 	(while (re-search-forward org-drawer-regexp end t)
 	  (org-flag-drawer t))))))
 
+(defun org-cycle-hide-inline-tasks (state)
+  "Re-hide inline task when switching to 'contents visibility state."
+  (when (and (eq state 'contents)
+	     (boundp 'org-inlinetask-min-level)
+	     org-inlinetask-min-level)
+    (hide-sublevels (1- org-inlinetask-min-level))))
+
 (defun org-flag-drawer (flag)
   "When FLAG is non-nil, hide the drawer we are within.
 Otherwise make it visible."