remember size through a preference

svn: r3211
This commit is contained in:
Eli Barzilay 2006-06-04 05:23:34 +00:00
parent c1f4dce5d8
commit 018a87ebdc

View File

@ -1,5 +1,5 @@
(module path-dialog mzscheme
(require (lib "class.ss") (lib "list.ss") (lib "string.ss")
(require (lib "class.ss") (lib "list.ss") (lib "string.ss") (lib "file.ss")
(prefix wx: "kernel.ss")
"helper.ss" "mrtop.ss" "mritem.ss" "mrpanel.ss" "mrtextfield.ss"
"messagebox.ss" "mrmenu.ss")
@ -108,7 +108,14 @@
(if put? "Select New Directory" "Select Directory")
(if put? "Save File" "Open File"))))
(super-new [label label] [parent parent] [width 300] [height 300])
(define size
(let ([s (get-preference 'mred:path-dialog:size (lambda () #f))])
(or (and (list? s) (= 2 (length s)) (andmap integer? s) s)
'(300 300))))
(super-new [label label] [parent parent]
[width (car size)] [height (cadr size)]
[style '(resize-border)])
(define result #f)
(define dir #f)
@ -399,6 +406,13 @@
#t]
[else (super on-subwindow-char r e)]))
;; remember size
(define/override (on-size width height)
(let ([new (list width height)])
(unless (equal? new size)
(set! size new)
(put-preferences '(mred:path-dialog:size) (list size)))))
;;-----------------------------------------------------------------------
;; Delayed Filename Completion