tray icon added
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
#lang racket
|
||||
|
||||
(require racket-webview
|
||||
racket/runtime-path
|
||||
"translate.rkt"
|
||||
)
|
||||
|
||||
(provide rktplayer-tray%)
|
||||
|
||||
(define-runtime-path rkt-gui-dir "gui")
|
||||
|
||||
(define rktplayer-tray%
|
||||
(class wv-tray%
|
||||
(init-field [rktplayer-gui (error "Must be called with the GUI Window of RktPlayer")]
|
||||
)
|
||||
|
||||
(define (adjust-menu)
|
||||
(let ((mnu (wv-menu 'tray-menu
|
||||
(wv-menu-item 'm-hide-show
|
||||
(if (eq? (send rktplayer-gui window-state) 'hidden)
|
||||
(tr "Show window")
|
||||
(tr "Hide window")))
|
||||
(wv-menu-item 'm-pause-play (tr "Pause / Play"))
|
||||
(wv-menu-item 'm-quit (tr "Quit"))
|
||||
)
|
||||
)
|
||||
)
|
||||
(send this set-menu! mnu)
|
||||
(send this connect-menu! 'm-hide-show (λ () (show-hide)))
|
||||
(send this connect-menu! 'm-quit (λ () (quit)))
|
||||
(send this connect-menu! 'm-pause-play (λ () (pause-play)))
|
||||
))
|
||||
|
||||
(define (quit)
|
||||
(send rktplayer-gui quit))
|
||||
|
||||
(define (pause-play)
|
||||
(send rktplayer-gui play-or-pause))
|
||||
|
||||
(define (show-hide)
|
||||
(send rktplayer-gui show-hide)
|
||||
(adjust-menu)
|
||||
)
|
||||
|
||||
(define/override (activated reason)
|
||||
(show-hide)
|
||||
#t)
|
||||
|
||||
(super-new [icon (build-path rkt-gui-dir "rktplayer.png")]
|
||||
[tooltip (tr "Racket Music Player")])
|
||||
|
||||
(begin
|
||||
(adjust-menu)
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user