From eb71166693065534be9effdc28aea54bb24e64d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Grochowski?= Date: Sat, 16 Mar 2024 13:29:53 +0100 Subject: [PATCH] lisp/org-colview.el: Add defcustom `org-columns-checkbox-allowed-values' * lisp/org-colview.el Add defcustom `org-columns-checkbox-allowed-values'. (org-columns-next-allowed-value): Introduce variable `org-columns-checkbox-allowed-values'. This would allow to use more than two states ("[ ]", "[X]") in columns with SUMMARY-TYPE that use checkbox ("X", "X/", "X%"). For example you can add an intermediate state ("[-]"). Or empty state ("") to remove checkbox. * etc/ORG-NEWS New option ~org-columns-checkbox-states~ --- etc/ORG-NEWS | 7 +++++++ lisp/org-colview.el | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index ca73f06e7..72caf073a 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -1753,6 +1753,13 @@ following properties: ~:hook~, ~:prepare-finalize~, prior to their global counterparts for the selected template. ** New options +*** New option ~org-columns-checkbox-allowed-values~ + +This would allow to use more than two states ("[ ]", "[X]") in +columns with SUMMARY-TYPE that use checkbox ("X", "X/", "X%"). +For example you can add an intermediate state ("[-]"). +Or empty state ("") to remove checkbox. + *** A new option for custom setting ~org-refile-use-outline-path~ to show document title in refile targets Setting ~org-refile-use-outline-path~ to ~'title~ will show title diff --git a/lisp/org-colview.el b/lisp/org-colview.el index d71c84a76..5545c5691 100644 --- a/lisp/org-colview.el +++ b/lisp/org-colview.el @@ -59,6 +59,12 @@ ;;; Configuration +(defcustom org-columns-checkbox-allowed-values '("[ ]" "[X]") + "Allowed values for columns with SUMMARY-TYPE that use checkbox." + :group 'checkbox + :package-version '(Org . "9.6") + :type '(repeat string)) + (defcustom org-columns-modify-value-for-display-function nil "Function that modifies values for display in column view. For example, it can be used to cut out a certain part from a time stamp. @@ -737,7 +743,7 @@ an integer, select that value." (let ((all (or (org-property-get-allowed-values pom key) (pcase (nth column org-columns-current-fmt-compiled) - (`(,_ ,_ ,_ ,(or "X" "X/" "X%") ,_) '("[ ]" "[X]"))) + (`(,_ ,_ ,_ ,(or "X" "X/" "X%") ,_) org-columns-checkbox-allowed-values)) (org-colview-construct-allowed-dates value)))) (if previous (reverse all) all)))) (when (equal key "ITEM") (error "Cannot edit item headline from here")) -- 2.30.2