From 018a87ebdcac4963364aa04f668651aaa8429bc9 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Sun, 4 Jun 2006 05:23:34 +0000 Subject: [PATCH] remember size through a preference svn: r3211 --- collects/mred/private/path-dialog.ss | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/collects/mred/private/path-dialog.ss b/collects/mred/private/path-dialog.ss index 492281cf12..346e6ff9af 100644 --- a/collects/mred/private/path-dialog.ss +++ b/collects/mred/private/path-dialog.ss @@ -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