...
original commit: dc7fe7e75f1db118f0e6b59337d640909bbe9fa3
This commit is contained in:
parent
96180a5809
commit
19bcb895ee
|
@ -321,7 +321,8 @@
|
||||||
[remove-autosave
|
[remove-autosave
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(when auto-saved-name
|
(when auto-saved-name
|
||||||
(delete-file auto-saved-name)
|
(when (file-exists? auto-saved-name)
|
||||||
|
(delete-file auto-saved-name))
|
||||||
(set! auto-saved-name #f)))])
|
(set! auto-saved-name #f)))])
|
||||||
(sequence
|
(sequence
|
||||||
(apply super-init args)
|
(apply super-init args)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
(import mred^
|
(import mred^
|
||||||
[preferences : framework:preferences^]
|
[preferences : framework:preferences^]
|
||||||
[gui-utils : framework:gui-utils^]
|
[gui-utils : framework:gui-utils^]
|
||||||
|
[keymap : framework:keymap^]
|
||||||
[mzlib:string : mzlib:string^]
|
[mzlib:string : mzlib:string^]
|
||||||
[mzlib:function : mzlib:function^]
|
[mzlib:function : mzlib:function^]
|
||||||
[mzlib:file : mzlib:file^])
|
[mzlib:file : mzlib:file^])
|
||||||
|
@ -456,12 +457,14 @@
|
||||||
[bottom-panel (make-object horizontal-panel% main-panel)]
|
[bottom-panel (make-object horizontal-panel% main-panel)]
|
||||||
|
|
||||||
[directory-field
|
[directory-field
|
||||||
|
(keymap:call/text-keymap-initializer
|
||||||
|
(lambda ()
|
||||||
(make-object text-field%
|
(make-object text-field%
|
||||||
"Full pathname"
|
"Full pathname"
|
||||||
directory-panel
|
directory-panel
|
||||||
(lambda (txt evt)
|
(lambda (txt evt)
|
||||||
(when (eq? (send evt get-event-type) 'text-field-enter)
|
(when (eq? (send evt get-event-type) 'text-field-enter)
|
||||||
(do-ok))))]
|
(do-ok))))))]
|
||||||
|
|
||||||
[result-list
|
[result-list
|
||||||
(when multi-mode?
|
(when multi-mode?
|
||||||
|
|
|
@ -364,6 +364,8 @@
|
||||||
|
|
||||||
(define (search-dialog frame)
|
(define (search-dialog frame)
|
||||||
(init-find/replace-edits)
|
(init-find/replace-edits)
|
||||||
|
(keymap:call/text-keymap-initializer
|
||||||
|
(lambda ()
|
||||||
(let* ([to-be-searched-text (send frame get-text-to-search)]
|
(let* ([to-be-searched-text (send frame get-text-to-search)]
|
||||||
[to-be-searched-canvas (send to-be-searched-text get-canvas)]
|
[to-be-searched-canvas (send to-be-searched-text get-canvas)]
|
||||||
|
|
||||||
|
@ -441,7 +443,7 @@
|
||||||
(send button-panel set-alignment 'right 'center)
|
(send button-panel set-alignment 'right 'center)
|
||||||
(send dialog center 'both)
|
(send dialog center 'both)
|
||||||
(send to-be-searched-canvas force-display-focus #t)
|
(send to-be-searched-canvas force-display-focus #t)
|
||||||
(send dialog show #t)))
|
(send dialog show #t)))))
|
||||||
|
|
||||||
(define searchable<%> (interface (text<%>)
|
(define searchable<%> (interface (text<%>)
|
||||||
get-text-to-search
|
get-text-to-search
|
||||||
|
|
|
@ -218,7 +218,9 @@
|
||||||
|
|
||||||
get-global
|
get-global
|
||||||
get-search
|
get-search
|
||||||
get-file))
|
get-file
|
||||||
|
|
||||||
|
call/text-keymap-initializer))
|
||||||
|
|
||||||
(define-signature framework:match-cache^
|
(define-signature framework:match-cache^
|
||||||
(%))
|
(%))
|
||||||
|
|
|
@ -374,9 +374,12 @@
|
||||||
|
|
||||||
[goto-line
|
[goto-line
|
||||||
(lambda (edit event)
|
(lambda (edit event)
|
||||||
(let ([num-str (get-text-from-user
|
(let ([num-str
|
||||||
|
(call/text-keymap-initializer
|
||||||
|
(lambda ()
|
||||||
|
(get-text-from-user
|
||||||
"Goto Line"
|
"Goto Line"
|
||||||
"Goto Line:")])
|
"Goto Line:")))])
|
||||||
(if (string? num-str)
|
(if (string? num-str)
|
||||||
(let ([line-num (string->number num-str)])
|
(let ([line-num (string->number num-str)])
|
||||||
(if line-num
|
(if line-num
|
||||||
|
@ -386,9 +389,12 @@
|
||||||
#t)]
|
#t)]
|
||||||
[goto-position
|
[goto-position
|
||||||
(lambda (edit event)
|
(lambda (edit event)
|
||||||
(let ([num-str (get-text-from-user
|
(let ([num-str
|
||||||
|
(call/text-keymap-initializer
|
||||||
|
(lambda ()
|
||||||
|
(get-text-from-user
|
||||||
"Goto Position"
|
"Goto Position"
|
||||||
"Goto Position:")])
|
"Goto Position:")))])
|
||||||
(if (string? num-str)
|
(if (string? num-str)
|
||||||
(let ([pos (string->number num-str)])
|
(let ([pos (string->number num-str)])
|
||||||
(if pos
|
(if pos
|
||||||
|
@ -516,6 +522,16 @@
|
||||||
"delete-next-character"
|
"delete-next-character"
|
||||||
"delete-previous-character")
|
"delete-previous-character")
|
||||||
edit event #t)))]
|
edit event #t)))]
|
||||||
|
|
||||||
|
[cut-to-end-of-paragraph
|
||||||
|
(lambda (text event)
|
||||||
|
(let* ([start (send text get-start-position)]
|
||||||
|
[para (send text position-paragraph start)]
|
||||||
|
[end (send text paragraph-end-position para)])
|
||||||
|
(if (= start end)
|
||||||
|
(send text cut #f (send event get-time-stamp) start (+ start 1))
|
||||||
|
(send text cut #f (send event get-time-stamp) start end))))]
|
||||||
|
|
||||||
[toggle-overwrite
|
[toggle-overwrite
|
||||||
(lambda (edit event)
|
(lambda (edit event)
|
||||||
(send edit set-overwrite-mode
|
(send edit set-overwrite-mode
|
||||||
|
@ -583,6 +599,8 @@
|
||||||
|
|
||||||
(add "delete-key" delete-key)
|
(add "delete-key" delete-key)
|
||||||
|
|
||||||
|
(add "cut-to-end-of-paragraph" cut-to-end-of-paragraph)
|
||||||
|
|
||||||
; Map keys to functions
|
; Map keys to functions
|
||||||
(map "c:g" "ring-bell")
|
(map "c:g" "ring-bell")
|
||||||
(map-meta "c:g" "ring-bell")
|
(map-meta "c:g" "ring-bell")
|
||||||
|
@ -689,7 +707,7 @@
|
||||||
|
|
||||||
(map "c:l" "center-view-on-line")
|
(map "c:l" "center-view-on-line")
|
||||||
|
|
||||||
(map "c:k" "delete-to-end-of-line")
|
(map "c:k" "cut-to-end-of-paragraph")
|
||||||
(map "c:y" "paste-clipboard")
|
(map "c:y" "paste-clipboard")
|
||||||
(map-meta "y" "paste-next")
|
(map-meta "y" "paste-next")
|
||||||
(map "a:v" "paste-clipboard")
|
(map "a:v" "paste-clipboard")
|
||||||
|
@ -855,4 +873,12 @@
|
||||||
(define search (make-object keymap%))
|
(define search (make-object keymap%))
|
||||||
(generic-setup search)
|
(generic-setup search)
|
||||||
(setup-search search)
|
(setup-search search)
|
||||||
(define (get-search) search))
|
(define (get-search) search)
|
||||||
|
|
||||||
|
(define (call/text-keymap-initializer thunk)
|
||||||
|
(let ([ctki (current-text-keymap-initializer)])
|
||||||
|
(parameterize ([current-text-keymap-initializer
|
||||||
|
(lambda (keymap)
|
||||||
|
(send keymap chain-to-keymap global #t)
|
||||||
|
(ctki keymap))])
|
||||||
|
(thunk)))))
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
(preferences:set-default 'framework:verify-change-format #f boolean?)
|
(preferences:set-default 'framework:verify-change-format #f boolean?)
|
||||||
|
|
||||||
(preferences:set-default 'framework:auto-set-wrap? #f boolean?)
|
(preferences:set-default 'framework:auto-set-wrap? #t boolean?)
|
||||||
|
|
||||||
(preferences:set-default 'framework:display-line-numbers #t boolean?)
|
(preferences:set-default 'framework:display-line-numbers #t boolean?)
|
||||||
|
|
||||||
|
|
|
@ -321,7 +321,9 @@
|
||||||
|
|
||||||
[font-size-entry "defaultFontSize"]
|
[font-size-entry "defaultFontSize"]
|
||||||
[font-default-string "Default Value"]
|
[font-default-string "Default Value"]
|
||||||
[font-default-size 12]
|
[font-default-size (case (system-type)
|
||||||
|
[(windows) 10]
|
||||||
|
[else 12])]
|
||||||
[font-section "mred"]
|
[font-section "mred"]
|
||||||
[build-font-entry (lambda (x) (string-append "Screen" x "__"))]
|
[build-font-entry (lambda (x) (string-append "Screen" x "__"))]
|
||||||
[font-file (find-graphical-system-path 'setup-file)]
|
[font-file (find-graphical-system-path 'setup-file)]
|
||||||
|
|
|
@ -920,9 +920,12 @@
|
||||||
(let* ([add-callback
|
(let* ([add-callback
|
||||||
(lambda (keyword-type keyword-symbol list-box)
|
(lambda (keyword-type keyword-symbol list-box)
|
||||||
(lambda (button command)
|
(lambda (button command)
|
||||||
(let ([new-one (get-text-from-user
|
(let ([new-one
|
||||||
|
(keymap:call/text-keymap-initializer
|
||||||
|
(lambda ()
|
||||||
|
(get-text-from-user
|
||||||
(string-append "Enter new " keyword-type "-like keyword:")
|
(string-append "Enter new " keyword-type "-like keyword:")
|
||||||
(string-append keyword-type " Keyword"))])
|
(string-append keyword-type " Keyword"))))])
|
||||||
(when new-one
|
(when new-one
|
||||||
(let ([parsed (with-handlers ((exn:read? (lambda (x) #f)))
|
(let ([parsed (with-handlers ((exn:read? (lambda (x) #f)))
|
||||||
(read (open-input-string new-one)))])
|
(read (open-input-string new-one)))])
|
||||||
|
|
|
@ -310,9 +310,26 @@
|
||||||
(public
|
(public
|
||||||
[initial-autowrap-bitmap (lambda () (icon:get-autowrap-bitmap))])
|
[initial-autowrap-bitmap (lambda () (icon:get-autowrap-bitmap))])
|
||||||
|
|
||||||
|
(rename [super-on-close on-close])
|
||||||
|
(override
|
||||||
|
[on-close
|
||||||
|
(lambda ()
|
||||||
|
(remove-callback)
|
||||||
|
(super-on-close))])
|
||||||
|
|
||||||
(sequence
|
(sequence
|
||||||
(apply super-init args)
|
(apply super-init args)
|
||||||
(set-autowrap-bitmap (initial-autowrap-bitmap)))))
|
(set-autowrap-bitmap (initial-autowrap-bitmap)))
|
||||||
|
|
||||||
|
(private
|
||||||
|
[remove-callback
|
||||||
|
(preferences:add-callback
|
||||||
|
'framework:auto-set-wrap?
|
||||||
|
(lambda (p v)
|
||||||
|
(auto-wrap v)))])
|
||||||
|
(inherit auto-wrap)
|
||||||
|
(sequence
|
||||||
|
(auto-wrap (preferences:get 'framework:auto-set-wrap?)))))
|
||||||
|
|
||||||
(define searching<%> (interface (editor:keymap<%> basic<%>)))
|
(define searching<%> (interface (editor:keymap<%> basic<%>)))
|
||||||
(define searching-mixin
|
(define searching-mixin
|
||||||
|
|
Loading…
Reference in New Issue
Block a user