comparison lisp/calendar/timeclock.el @ 37324:570c667b4d1c

(timeclock-completing-read): new function. (timeclock-ask-for-project, timeclock-ask-for-reason): Call `timeclock-completing-read', which works under XEmacs as well.
author John Wiegley <johnw@newartisans.com>
date Wed, 11 Apr 2001 15:50:01 +0000
parents d30baa39a3b4
children ed485de91fcf
comparison
equal deleted inserted replaced
37323:11b33211a908 37324:570c667b4d1c
538 ;;; Internal Functions: 538 ;;; Internal Functions:
539 539
540 (defvar timeclock-project-list nil) 540 (defvar timeclock-project-list nil)
541 (defvar timeclock-last-project nil) 541 (defvar timeclock-last-project nil)
542 542
543 (defun timeclock-completing-read (prompt alist &optional default)
544 "A version of `completing-read' that works on both Emacs and XEmacs."
545 (if (featurep 'xemacs)
546 (let ((str (completing-read prompt alist)))
547 (if (or (null str) (= (length str) 0))
548 default
549 str))
550 (completing-read prompt alist nil nil nil nil default)))
551
543 (defun timeclock-ask-for-project () 552 (defun timeclock-ask-for-project ()
544 "Ask the user for the project they are clocking into." 553 "Ask the user for the project they are clocking into."
545 (completing-read (format "Clock into which project (default \"%s\"): " 554 (timeclock-completing-read
546 (or timeclock-last-project 555 (format "Clock into which project (default \"%s\"): "
547 (car timeclock-project-list))) 556 (or timeclock-last-project
548 (mapcar 'list timeclock-project-list) 557 (car timeclock-project-list)))
549 nil nil nil nil (or timeclock-last-project 558 (mapcar 'list timeclock-project-list)
550 (car timeclock-project-list)))) 559 (or timeclock-last-project
560 (car timeclock-project-list))))
551 561
552 (defvar timeclock-reason-list nil) 562 (defvar timeclock-reason-list nil)
553 563
554 (defun timeclock-ask-for-reason () 564 (defun timeclock-ask-for-reason ()
555 "Ask the user for the reason they are clocking out." 565 "Ask the user for the reason they are clocking out."
556 (completing-read "Reason for clocking out: " 566 (timeclock-completing-read "Reason for clocking out: "
557 (mapcar 'list timeclock-reason-list))) 567 (mapcar 'list timeclock-reason-list)))
558 568
559 (defun timeclock-update-modeline () 569 (defun timeclock-update-modeline ()
560 "Update the `timeclock-mode-string' displayed in the modeline." 570 "Update the `timeclock-mode-string' displayed in the modeline."
561 (interactive) 571 (interactive)
562 (let* ((remainder (timeclock-workday-remaining)) 572 (let* ((remainder (timeclock-workday-remaining))