Save account tree options.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4000 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2001-04-21 03:53:44 +00:00
parent 1cd084961c
commit 35d5894158

View File

@ -488,18 +488,25 @@
(gnc:account-lookup item) (gnc:account-lookup item)
item)) item))
(let ((option (map convert-to-guid (default-getter))) (let* ((option (map convert-to-guid (default-getter)))
(option-set #f) (option-set #f)
(validator (getter (lambda () (map convert-to-account
(if (not value-validator) (if option-set
(lambda (account-list) (list #t account-list)) option
value-validator))) (default-getter)))))
(value->string (lambda ()
(string-append
"'" (gnc:value->string (if option-set option #f)))))
(validator
(if (not value-validator)
(lambda (account-list) (list #t account-list))
value-validator)))
(gnc:make-option (gnc:make-option
section name sort-tag 'account-list documentation-string section name sort-tag 'account-list documentation-string
(lambda () (map convert-to-account (if option-set getter
option
(default-getter))))
(lambda (account-list) (lambda (account-list)
(if (not account-list) (set! account-list (default-getter)))
(set! account-list (filter (lambda (x) (string? x)) account-list))
(let* ((result (validator account-list)) (let* ((result (validator account-list))
(valid (car result)) (valid (car result))
(value (cadr result))) (value (cadr result)))
@ -509,7 +516,7 @@
(set! option-set #t)) (set! option-set #t))
(gnc:error "Illegal account list value set")))) (gnc:error "Illegal account list value set"))))
(lambda () (map convert-to-account (default-getter))) (lambda () (map convert-to-account (default-getter)))
#f (gnc:restore-form-generator value->string)
validator validator
multiple-selection #f #f #f))) multiple-selection #f #f #f)))