removed default language from language dialgo

svn: r1470
This commit is contained in:
Robby Findler 2005-12-01 21:44:41 +00:00
parent 88bb2b39ee
commit 0588b527c3

View File

@ -12,8 +12,6 @@
(lib "list.ss") (lib "list.ss")
(lib "etc.ss") (lib "etc.ss")
(lib "file.ss") (lib "file.ss")
(lib "pconvert.ss")
(lib "bitmap-label.ss" "mrlib")
(lib "getinfo.ss" "setup") (lib "getinfo.ss" "setup")
(lib "toplevel.ss" "syntax")) (lib "toplevel.ss" "syntax"))
@ -43,7 +41,7 @@
;; default-language-position : (listof string) ;; default-language-position : (listof string)
;; if a language is registered with this position, it is ;; if a language is registered with this position, it is
;; considered the default language ;; considered the default language
(define default-language-position (define initial-language-position
(list (string-constant initial-language-category) (list (string-constant initial-language-category)
(string-constant no-language-chosen))) (string-constant no-language-chosen)))
@ -85,7 +83,7 @@
(error 'get-default-language-settings "no languages registered!")) (error 'get-default-language-settings "no languages registered!"))
(let ([lang (or (ormap (λ (x) (let ([lang (or (ormap (λ (x)
(and (equal? (send x get-language-position) (and (equal? (send x get-language-position)
default-language-position) initial-language-position)
x)) x))
(get-languages)) (get-languages))
(first (get-languages)))]) (first (get-languages)))])
@ -210,8 +208,15 @@
(define fill-language-dialog (define fill-language-dialog
(opt-lambda (parent show-details-parent language-settings-to-show [re-center #f] [manuals? #f]) (opt-lambda (parent show-details-parent language-settings-to-show [re-center #f] [manuals? #f])
(define language-to-show (language-settings-language language-settings-to-show)) (define-values (language-to-show settings-to-show)
(define settings-to-show (language-settings-settings language-settings-to-show)) (let ([request-lang-to-show (language-settings-language language-settings-to-show)])
(cond
[(equal? initial-language-position (send request-lang-to-show get-language-position))
(values (first (get-languages))
(send (first (get-languages)) default-settings))
(values #f #f)]
[else (values request-lang-to-show
(language-settings-settings language-settings-to-show))])))
;; hier-list items that implement this interface correspond to ;; hier-list items that implement this interface correspond to
;; actual language selections ;; actual language selections
@ -452,6 +457,9 @@
(define (add-language-to-dialog language) (define (add-language-to-dialog language)
(let ([positions (send language get-language-position)] (let ([positions (send language get-language-position)]
[numbers (send language get-language-numbers)]) [numbers (send language get-language-numbers)])
;; don't show the initial language ...
(unless (equal? positions initial-language-position)
(unless (and (list? positions) (unless (and (list? positions)
(list? numbers) (list? numbers)
(pair? positions) (pair? positions)
@ -486,8 +494,10 @@
(case-lambda (case-lambda
[() [()
(cond (cond
[(equal? (send language-to-show get-language-position) [(and language-to-show
(send language get-language-position)) settings-to-show
(equal? (send language-to-show get-language-position)
(send language get-language-position)))
settings-to-show] settings-to-show]
[else [else
(send language default-settings)])] (send language default-settings)])]
@ -518,11 +528,15 @@
(set! real-get/set-settings get/set-settings)) (set! real-get/set-settings get/set-settings))
(let-values ([(vis-lang vis-settings) (let-values ([(vis-lang vis-settings)
(if selected-language
(values selected-language
(send selected-language default-settings))
(values language-to-show settings-to-show))])
(cond (cond
[selected-language
(values selected-language
(send selected-language default-settings))]
[(and language-to-show settings-to-show)
(values language-to-show settings-to-show)]
[else (values #f #f)])])
(cond
[(not vis-lang) (void)]
[(equal? (send vis-lang get-language-position) [(equal? (send vis-lang get-language-position)
(send language get-language-position)) (send language get-language-position))
(get/set-settings vis-settings) (get/set-settings vis-settings)
@ -602,7 +616,7 @@
(cdr positions) (cdr positions)
(cdr numbers) (cdr numbers)
#f #f
(if first? number #f)))])))) (if first? number #f)))])))))
(define number<%> (define number<%>
(interface () (interface ()
@ -662,6 +676,7 @@
;; opens the tabs that lead to the current language ;; opens the tabs that lead to the current language
;; and selects the current language ;; and selects the current language
(define (open-current-language) (define (open-current-language)
(when (and language-to-show settings-to-show)
(let loop ([hi languages-hier-list] (let loop ([hi languages-hier-list]
;; skip the first position, since it is flattened into the dialog ;; skip the first position, since it is flattened into the dialog
@ -679,7 +694,7 @@
(send child select #t)] (send child select #t)]
[else [else
(send child open) (send child open)
(loop child (car position) (cdr position))])))) (loop child (car position) (cdr position))])))))
;; docs-callback : -> void ;; docs-callback : -> void
(define (docs-callback) (define (docs-callback)
@ -687,7 +702,9 @@
;; details-shown? : boolean ;; details-shown? : boolean
;; indicates if the details are currently visible in the dialog ;; indicates if the details are currently visible in the dialog
(define details-shown? (not (send language-to-show default-settings? settings-to-show))) (define details-shown? (and language-to-show
settings-to-show
(not (send language-to-show default-settings? settings-to-show))))
;; details-callback : -> void ;; details-callback : -> void
;; flips the details-shown? flag and resets the GUI ;; flips the details-shown? flag and resets the GUI