some improvements to <menukey>-shift-o for opening files in drracket
This commit is contained in:
parent
ca1c97f00e
commit
fe809a2f95
|
@ -23,9 +23,15 @@
|
||||||
[else (super on-subwindow-char receiver event)]))
|
[else (super on-subwindow-char receiver event)]))
|
||||||
(define/public (new-clcl/clcp clcl/clcp)
|
(define/public (new-clcl/clcp clcl/clcp)
|
||||||
(update-list-of-paths))
|
(update-list-of-paths))
|
||||||
|
(define/override (on-size w h)
|
||||||
|
(preferences:set 'drracket:get-module-path-from-user-size (list w h)))
|
||||||
(super-new)))
|
(super-new)))
|
||||||
|
|
||||||
(define dlg (new dlg% [label ""][width 600][height 600]))
|
(define dlg (new dlg%
|
||||||
|
[style '(resize-border)]
|
||||||
|
[label (string-constant drracket)]
|
||||||
|
[width (car (preferences:get 'drracket:get-module-path-from-user-size))]
|
||||||
|
[height (cadr (preferences:get 'drracket:get-module-path-from-user-size))]))
|
||||||
(define tf (new text-field% [parent dlg] [label #f]
|
(define tf (new text-field% [parent dlg] [label #f]
|
||||||
[init-value init-value]
|
[init-value init-value]
|
||||||
[callback (λ (tf evt) (tf-callback))]))
|
[callback (λ (tf evt) (tf-callback))]))
|
||||||
|
@ -70,6 +76,8 @@
|
||||||
(λ (_1 _2) (ok))
|
(λ (_1 _2) (ok))
|
||||||
(λ (_1 _2) (cancel))))
|
(λ (_1 _2) (cancel))))
|
||||||
|
|
||||||
|
(new grow-box-spacer-pane% [parent bp])
|
||||||
|
|
||||||
(define (tf-callback)
|
(define (tf-callback)
|
||||||
(when pref-sym
|
(when pref-sym
|
||||||
(preferences:set pref-sym (send tf get-value)))
|
(preferences:set pref-sym (send tf get-value)))
|
||||||
|
@ -205,6 +213,7 @@
|
||||||
(update-different-racket-gui)
|
(update-different-racket-gui)
|
||||||
(maybe-turn-racket-path-pink)
|
(maybe-turn-racket-path-pink)
|
||||||
(send dlg show #t)
|
(send dlg show #t)
|
||||||
|
(send tf focus)
|
||||||
(cond
|
(cond
|
||||||
[cancelled? #f]
|
[cancelled? #f]
|
||||||
[else (send lb get-data (get-item-to-act-on))]))
|
[else (send lb get-data (get-item-to-act-on))]))
|
||||||
|
@ -239,7 +248,11 @@
|
||||||
(define new-clcl-thread-pending-chan (make-channel))
|
(define new-clcl-thread-pending-chan (make-channel))
|
||||||
(thread
|
(thread
|
||||||
(λ ()
|
(λ ()
|
||||||
(define-values (a b) (alternate-racket-clcl/clcp (list-ref str+dlg 0)))
|
(define-values (a b)
|
||||||
|
(if (path-string? (list-ref str+dlg 0))
|
||||||
|
(alternate-racket-clcl/clcp (list-ref str+dlg 0))
|
||||||
|
(values (current-library-collection-links)
|
||||||
|
(current-library-collection-paths))))
|
||||||
(channel-put new-clcl-thread-pending-chan
|
(channel-put new-clcl-thread-pending-chan
|
||||||
(list (list a b)
|
(list (list a b)
|
||||||
(list-ref str+dlg 1)))))
|
(list-ref str+dlg 1)))))
|
||||||
|
@ -251,7 +264,7 @@
|
||||||
|
|
||||||
;; (cons/c string? (is-a?/c dialog%))
|
;; (cons/c string? (is-a?/c dialog%))
|
||||||
[pending-str+dlg #f]
|
[pending-str+dlg #f]
|
||||||
[clcl/clcp (if initial-alternate-racket
|
[clcl/clcp (if (path-string? initial-alternate-racket)
|
||||||
(let-values ([(a b) (alternate-racket-clcl/clcp
|
(let-values ([(a b) (alternate-racket-clcl/clcp
|
||||||
initial-alternate-racket)])
|
initial-alternate-racket)])
|
||||||
(list a b))
|
(list a b))
|
||||||
|
@ -298,3 +311,7 @@
|
||||||
#f
|
#f
|
||||||
new-clcl/clcp)])))
|
new-clcl/clcp)])))
|
||||||
never-evt)))))
|
never-evt)))))
|
||||||
|
|
||||||
|
(preferences:set-default 'drracket:get-module-path-from-user-size
|
||||||
|
(list 600 600)
|
||||||
|
(list/c exact-nonnegative-integer? exact-nonnegative-integer?))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user