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