فهرست منبع

Dependencies: Key bindings and Menu entries

This commit adds a key (`C-c C-x o') to toggle the ORDERED property of
a tree.  And it adds menu entries for doing this, which also reflect
the current state of the tree.
Carsten Dominik 16 سال پیش
والد
کامیت
e793fd8831
4فایلهای تغییر یافته به همراه38 افزوده شده و 0 حذف شده
  1. 3 0
      ORGWEBPAGE/Changes.org
  2. 6 0
      doc/org.texi
  3. 6 0
      lisp/ChangeLog
  4. 23 0
      lisp/org.el

+ 3 - 0
ORGWEBPAGE/Changes.org

@@ -48,6 +48,9 @@ DONE.  Here is an example:
 ,** TODO c, needs to wait for (a) and (b)
 #+end_src
 
+The command =C-c C-x o= toggles the value of the =ORDERED=
+property.
+
 The variable =org-agenda-dim-blocked-tasks= controls how blocked
 entries should appear in the agenda, where they can be dimmed or
 even made invisible.

+ 6 - 0
doc/org.texi

@@ -3335,6 +3335,12 @@ blocked until all earlier siblings are marked DONE.  Here is an example:
 ** TODO c, needs to wait for (a) and (b)
 @end example
 
+@table @kbd
+@kindex C-c C-x o
+@item C-c C-x o
+Toggle the @code{ORDERED} property of the current entry.
+@end table
+
 If you set the variable @code{org-agenda-dim-blocked-tasks}, TODO entries
 that cannot be closed because of such dependencies will be shown in a dimmed
 font or even made invisible in agenda views (@pxref{Agenda Views}).

+ 6 - 0
lisp/ChangeLog

@@ -1,3 +1,9 @@
+2009-01-29  Carsten Dominik  <carsten.dominik@gmail.com>
+
+	* org.el (org-toggle-ordered-property): New function.
+	(org-mode-map): Add a key for `org-toggle-ordered-property'.
+	(org-org-menu): Add menu entries for TODO dependencies.
+
 2009-01-28  Carsten Dominik  <carsten.dominik@gmail.com>
 
 	* org.el (org-default-properties): Add ORDERED to the default

+ 23 - 0
lisp/org.el

@@ -8561,6 +8561,18 @@ changes.  Such blocking occurs when:
 		    (throw 'dont-block nil)))))))
     t))					; don't block
 
+(defun org-toggle-ordered-property ()
+  "Toggle the ORDERED property of the current entry."
+  (interactive)
+  (save-excursion
+    (org-back-to-heading)
+    (if (org-entry-get nil "ORDERED")
+	(progn
+	  (org-delete-property "ORDERED")
+	  (message "Subtasks can be completed in arbitrary order or parallel"))
+      (org-entry-put nil "ORDERED" "t")
+      (message "Subtasks must be completed in sequence"))))
+
 (defun org-update-parent-todo-statistics ()
   "Update any statistics cookie in the parent of the current headline."
   (interactive)
@@ -12876,6 +12888,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
 (org-defkey org-mode-map "\C-c\C-x\C-l" 'org-preview-latex-fragment)
 (org-defkey org-mode-map "\C-c\C-x\C-b" 'org-toggle-checkbox)
 (org-defkey org-mode-map "\C-c\C-xp"    'org-set-property)
+(org-defkey org-mode-map "\C-c\C-xo"    'org-toggle-ordered-property)
 (org-defkey org-mode-map "\C-c\C-xi"    'org-insert-columns-dblock)
 
 (org-defkey org-mode-map "\C-c\C-x."    'org-timer)
@@ -13715,6 +13728,16 @@ See the individual commands for more information."
      ["Show TODO Tree" org-show-todo-tree t]
      ["Global TODO list" org-todo-list t]
      "--"
+     ["Enforce dependencies" (customize-variable 'org-enforce-todo-dependencies)
+      :selected org-enforce-todo-dependencies :style toggle :active t]
+     "Settings for tree at point"
+     ["Do Children sequentially" org-toggle-ordered-property :style radio
+      :selected (ignore-errors (org-entry-get nil "ORDERED"))
+      :active org-enforce-todo-dependencies :keys "C-c C-x o"]
+     ["Do Children parallel" org-toggle-ordered-property :style radio
+      :selected (ignore-errors (not (org-entry-get nil "ORDERED")))
+      :active org-enforce-todo-dependencies :keys "C-c C-x o"]
+     "--"
      ["Set Priority" org-priority t]
      ["Priority Up" org-shiftup t]
      ["Priority Down" org-shiftdown t])