cocoa: fix `get-file' when any extension is allowed

This commit is contained in:
Eli Barzilay 2011-06-03 01:38:40 -04:00
parent 6a1eefe080
commit 045369e3b9

View File

@ -40,22 +40,18 @@
(if (memq 'packages style) (cons "app" extensions) extensions)] (if (memq 'packages style) (cons "app" extensions) extensions)]
[extensions [extensions
(if (and extension (not (equal? "" extension))) (if (and extension (not (equal? "" extension)))
(cons extension extensions) extensions)] (cons extension extensions) extensions)])
;; add "foo~" suffixes too.
[extensions
(append (for/list ([e (in-list extensions)]
#:when (not (regexp-match? #rx"~$" e)))
(string-append e "~"))
extensions)])
(unless (null? extensions) (unless (null? extensions)
(when (memq 'put style) (when (memq 'put style)
(tellv ns setCanSelectHiddenExtension: #:type _BOOL #t)) (tellv ns setCanSelectHiddenExtension: #:type _BOOL #t))
(let ([a (tell NSArray (let ([allow-any? (member "*.*" globs)])
arrayWithObjects: #:type (_list i _NSString) extensions (when (or (not allow-any?)
count: #:type _NSUInteger (length extensions))]) (memq 'put style))
(tellv ns setAllowedFileTypes: a)) (let ([a (tell NSArray
(tellv ns setAllowsOtherFileTypes: arrayWithObjects: #:type (_list i _NSString) extensions
#:type _BOOL (and (member "*.*" globs) #t)))) count: #:type _NSUInteger (length extensions))])
(tellv ns setAllowedFileTypes: a))
(tellv ns setAllowsOtherFileTypes: #:type _BOOL allow-any?)))))
(cond (cond
[(memq 'multi style) [(memq 'multi style)