From e467e8681a1bc3b495552d9581687fab0c545937 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 3 Aug 2007 02:18:46 +0000 Subject: [PATCH] restored the 'add teachpack' menu item in non-teaching languages, but with a message saying that teachpacks don't work and listing the languages where they do. svn: r7007 --- collects/drscheme/private/unit.ss | 21 ++++++++++++++++++- .../english-string-constants.ss | 3 +++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/collects/drscheme/private/unit.ss b/collects/drscheme/private/unit.ss index 38bce97421..799f060068 100644 --- a/collects/drscheme/private/unit.ss +++ b/collects/drscheme/private/unit.ss @@ -2834,7 +2834,26 @@ module browser threading seems wrong. (update-settings ((teachpack-callbacks-remove tp-callbacks) settings name)))])) tp-names))))] [else - (set! teachpack-items '())]))) + (set! teachpack-items + (list + (new menu:can-restore-menu-item% + [label (string-constant add-teachpack-menu-item-label)] + [parent language-menu] + [callback + (λ (_1 _2) + (message-box (string-constant drscheme) + (format (string-constant teachpacks-only-in-languages) + (apply + string-append + (reverse + (filter + values + (map (λ (l) + (and + (send l capability-value 'drscheme:teachpack-menu-items) + (format "\n ~a" (send l get-language-name)))) + (drscheme:language-configuration:get-languages)))))) + this))])))]))) (define/private (initialize-menus) (let* ([mb (get-menu-bar)] diff --git a/collects/string-constants/english-string-constants.ss b/collects/string-constants/english-string-constants.ss index 7d9fb1058f..d1fd1ea847 100644 --- a/collects/string-constants/english-string-constants.ss +++ b/collects/string-constants/english-string-constants.ss @@ -920,6 +920,9 @@ please adhere to these guidelines: (teachpack-user-installed "User-installed Teachpacks") (install-teachpack... "Install Teachpack...") (teachpack-already-installed "A teachpack with the name '~a' has already been installed. Overwrite it?") + ; ~a is filled with a list of language names. Each name is separated by a newline and is indented two spaces (no commas, no 'and') + (teachpacks-only-in-languages "Teachpacks are only available in these languages: ~a") + ;;; Language dialog (introduction-to-language-dialog