21
21
(define (std-property-types)
22
22
'(owner type date read write classify-type classify-value project))
24
(define (remote-set-property-menu-entry type)
25
(list (upcase-first type)
26
(lambda () (interactive-remote-set-property type))))
28
(tm-define (remote-set-property-menu)
24
(tm-menu (remote-set-property-menu)
29
25
(let* ((l1 (or (remote-get-property-types) '()))
30
26
(l2 (list-difference l1 (std-property-types)))
31
27
(l3 (list-sort (map symbol->string l2) string<=?)))
33
,@(map remote-set-property-menu-entry l3)
35
("Other" (interactive-remote-set-property-and-value)))))
29
((eval (upcase-first type))
30
(interactive-remote-set-property type)))
32
("Other" (interactive-remote-set-property-and-value))))
37
34
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
38
35
;; Menu for setting the current project
39
36
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
41
(define (remote-set-project-menu-entry val new-file old-file)
42
(list (list 'check val "v" (lambda () (== new-file old-file)))
43
(lambda () (remote-set-property "project" new-file))))
45
(tm-define (remote-set-project-menu)
38
(tm-menu (remote-set-project-menu)
46
39
(let* ((l1 (or (remote-get-projects) '()))
47
40
(l2 (list-sort l1 (lambda (x y) (string<=? (car x) (car y)))))
48
41
(prj (remote-get-property "project")))
50
,@(map (lambda (x) (remote-set-project-menu-entry (car x) (cdr x) prj))
46
((check (eval val) "v" (== new-file old-file))
47
(remote-set-property "project" new-file))))))
53
49
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
54
50
;; Main remote file menu