svn: r5190
This commit is contained in:
Robby Findler 2006-12-28 02:39:08 +00:00
parent a55fc507d4
commit 548bbd2e38

View File

@ -161,14 +161,21 @@
url]
;; send the url off to another browser
[(or (and (string? (url-scheme url))
[(and (string? (url-scheme url))
(not (member (url-scheme url) '("http"))))
(and (preferences:get 'drscheme:help-desk:ask-about-external-urls)
(ask-user-about-separate-browser))
(preferences:get 'drscheme:help-desk:separate-browser))
(send-url (url->string url))
#f]
[(preferences:get 'drscheme:help-desk:ask-about-external-urls)
(case (ask-user-about-separate-browser)
[(separate)
(send-url (url->string url))
#f]
[(internal)
url]
[else #f])]
[(preferences:get 'drscheme:help-desk:separate-browser)
(send-url url)
#f]
[else url])]
[else url]))
(super-new)))
@ -261,6 +268,7 @@
(not (null? (url-path url)))
(equal? (path/param-path (car (url-path url))) "doc")))
;; ask-user-about-separate-browser : -> (union #f 'separate 'internal)
(define (ask-user-about-separate-browser)
(define separate-default? (preferences:get 'drscheme:help-desk:separate-browser))
@ -271,18 +279,25 @@
(string-constant dont-ask-again-always-current)
(string-constant plt:hd:homebrew-browser)
(string-constant plt:hd:separate-browser)
#f
(string-constant cancel)
#f ; no parent
(cons
(if separate-default?
'default=2
'default=1)
'(no-default disallow-close)))])
(let ([separate? (= result 2)])
(preferences:set 'drscheme:help-desk:separate-browser separate?)
(when checked?
(preferences:set 'drscheme:help-desk:ask-about-external-urls #f))
separate?)))
'(no-default)))])
(when checked?
(preferences:set 'drscheme:help-desk:ask-about-external-urls #f))
(case result
[(2)
(preferences:set 'drscheme:help-desk:separate-browser #t)
'separate]
[(1)
(preferences:set 'drscheme:help-desk:separate-browser #f)
'internal]
[(#f 3)
#f]
[else (error 'ack)])))
(define make-help-desk-framework-mixin
(mixin (frame:searchable<%> frame:standard-menus<%>) ()