Function: todo-multiple-filter-files

todo-multiple-filter-files is a byte-compiled function defined in todo-mode.el.gz.

Signature

(todo-multiple-filter-files)

Documentation

Pop to a buffer with a widget for choosing multiple filter files.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/todo-mode.el.gz
(defun todo-multiple-filter-files ()
  "Pop to a buffer with a widget for choosing multiple filter files."
  (require 'widget)
  (eval-when-compile
    (require 'wid-edit))
  (with-current-buffer (get-buffer-create "*Todo Filter Files*")
    (pop-to-buffer (current-buffer))
    (erase-buffer)
    (kill-all-local-variables)
    (widget-insert "Select files for generating the top priorities list.\n\n")
    (setq todo-multiple-filter-files-widget
	  (widget-create
	   `(set ,@(todo--files-type-list))))
    (widget-insert "\n")
    (widget-create 'push-button
		   :notify (lambda (&rest _)
			     (setq todo-multiple-filter-files 'quit)
			     (quit-window t)
			     (exit-recursive-edit))
		   "Cancel")
    (widget-insert "   ")
    (widget-create 'push-button
		   :notify (lambda (&rest _)
			     (setq todo-multiple-filter-files
				   (mapcar (lambda (f)
					     (file-truename
					      (concat todo-directory
						      f ".todo")))
					   (widget-value
					    todo-multiple-filter-files-widget)))
			     (quit-window t)
			     (exit-recursive-edit))
		   "Apply")
    (use-local-map widget-keymap)
    (widget-setup))
  (message "Click \"Apply\" after selecting files.")
  (recursive-edit))