* Remove a bunch of additional stuff from the bug-report menu
* Rewrote `reorder-menus' to remove menus that are left empty * Solves PR7360 svn: r3052 original commit: 9ae090e45b9f29fe756a3f7795550037dc043970
This commit is contained in:
parent
b259e75244
commit
a9ec4a2668
|
@ -33,40 +33,29 @@
|
|||
[scheme : framework:scheme^]
|
||||
[exit : framework:exit^]
|
||||
[comment-box : framework:comment-box^])
|
||||
|
||||
|
||||
(rename [-editor<%> editor<%>]
|
||||
[-pasteboard% pasteboard%]
|
||||
[-text% text%])
|
||||
|
||||
(define (reorder-menus frame)
|
||||
(let* ([items (send (send frame get-menu-bar) get-items)]
|
||||
[move-to-back
|
||||
(λ (name items)
|
||||
(let loop ([items items]
|
||||
[back null])
|
||||
(cond
|
||||
[(null? items) back]
|
||||
[else (let ([item (car items)])
|
||||
(if (string=? (send item get-plain-label) name)
|
||||
(loop (cdr items)
|
||||
(cons item back))
|
||||
(cons item (loop (cdr items) back))))])))]
|
||||
[move-to-front
|
||||
(λ (name items)
|
||||
(reverse (move-to-back name (reverse items))))]
|
||||
[re-ordered
|
||||
(move-to-front
|
||||
(string-constant file-menu)
|
||||
(move-to-front
|
||||
(string-constant edit-menu)
|
||||
(move-to-back
|
||||
(string-constant help-menu)
|
||||
(move-to-back
|
||||
(string-constant windows-menu)
|
||||
items))))])
|
||||
(define items (send (send frame get-menu-bar) get-items))
|
||||
(define (find-menu name)
|
||||
(ormap (λ (i) (and (string=? (send i get-plain-label) name) i))
|
||||
items))
|
||||
(let* ([file-menu (find-menu (string-constant file-menu))]
|
||||
[edit-menu (find-menu (string-constant edit-menu))]
|
||||
[windows-menu (find-menu (string-constant windows-menu))]
|
||||
[help-menu (find-menu (string-constant help-menu))]
|
||||
[other-items
|
||||
(remq* (list file-menu edit-menu windows-menu help-menu) items)]
|
||||
[? (λ (menu) (and menu (pair? (send menu get-items)) menu))]
|
||||
[re-ordered (filter values `(,(? file-menu) ,(? edit-menu)
|
||||
,@other-items
|
||||
,(? windows-menu) ,(? help-menu)))])
|
||||
(for-each (λ (item) (send item delete)) items)
|
||||
(for-each (λ (item) (send item restore)) re-ordered)))
|
||||
|
||||
|
||||
(define (add-snip-menu-items edit-menu c%)
|
||||
(let* ([get-edit-target-object
|
||||
(λ ()
|
||||
|
|
Loading…
Reference in New Issue
Block a user