Browse Source

New function org-reset-checkbox-state which always clears the checkboxes

Copying subtrees with checked off lists to create a new task would
normally require the boxes to be unchecked.  This function lets
you easily clear all checkboxes in an entry without requiring
the RESET_CHECK_BOXES property.
Bernt Hansen 16 years ago
parent
commit
710eec9d57
1 changed files with 16 additions and 11 deletions
  1. 16 11
      contrib/lisp/org-checklist.el

+ 16 - 11
contrib/lisp/org-checklist.el

@@ -52,17 +52,22 @@
   "Reset all checkboxes in an entry if the `RESET_CHECK_BOXES' property is set"
   (interactive "*")
   (if (org-entry-get (point) "RESET_CHECK_BOXES")
-      (save-restriction
-	(save-excursion
-	  (org-narrow-to-subtree)
-	  (org-show-subtree)
-	  (goto-char (point-min))
-	  (let ((end (point-max)))
-	    (while (< (point) end)
-	      (when (org-at-item-checkbox-p)
-		(replace-match "[ ]" t t))
-	      (beginning-of-line 2))))
-	(org-update-checkbox-count-maybe))))
+      (org-reset-checkbox-state)))
+
+(defun org-reset-checkbox-state ()
+  "Reset all checkboxes in an entry"
+  (interactive "*")
+  (save-restriction
+    (save-excursion
+      (org-narrow-to-subtree)
+      (org-show-subtree)
+      (goto-char (point-min))
+      (let ((end (point-max)))
+	(while (< (point) end)
+	  (when (org-at-item-checkbox-p)
+	    (replace-match "[ ]" t t))
+	  (beginning-of-line 2))))
+    (org-update-checkbox-count-maybe)))
 
 (defun org-make-checklist-export ()
   "Produce a checklist containing all unchecked items from a list