Use ellipsis-msg instead of message%.
There's a 200 character contract for message% -> set-label.
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
"racket-sonos"
|
"racket-sonos"
|
||||||
"racket-tray"
|
"racket-tray"
|
||||||
"racket-upnp"
|
"racket-upnp"
|
||||||
|
"ellipsis-msg"
|
||||||
("simple-ini" #:version "0.3.3")
|
("simple-ini" #:version "0.3.3")
|
||||||
"simple-log"
|
"simple-log"
|
||||||
"uuid"))
|
"uuid"))
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
racket/string
|
racket/string
|
||||||
racket-tray
|
racket-tray
|
||||||
simple-log
|
simple-log
|
||||||
|
ellipsis-msg
|
||||||
"player-agent-config.rkt"
|
"player-agent-config.rkt"
|
||||||
"player-agent-core.rkt"
|
"player-agent-core.rkt"
|
||||||
"player-agent-translate.rkt")
|
"player-agent-translate.rkt")
|
||||||
@@ -101,6 +102,9 @@
|
|||||||
(tray #f)
|
(tray #f)
|
||||||
(shutting-down? #f))
|
(shutting-down? #f))
|
||||||
|
|
||||||
|
(define (cap200 msg)
|
||||||
|
(substring msg 0 (min 199 (string-length msg))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; goal : Queue a status-label update in the GUI eventspace.
|
; goal : Queue a status-label update in the GUI eventspace.
|
||||||
; pre : message is a string supplied by the agent runtime.
|
; pre : message is a string supplied by the agent runtime.
|
||||||
@@ -114,7 +118,7 @@
|
|||||||
(queue-callback
|
(queue-callback
|
||||||
(λ ()
|
(λ ()
|
||||||
(when status-message
|
(when status-message
|
||||||
(send status-message set-label message)))
|
(send status-message set-label (cap200 message))))
|
||||||
#f))
|
#f))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -206,6 +210,7 @@
|
|||||||
"")))))
|
"")))))
|
||||||
(send playback-message
|
(send playback-message
|
||||||
set-label
|
set-label
|
||||||
|
(cap200
|
||||||
(if track
|
(if track
|
||||||
(format "~a~a: ~a"
|
(format "~a~a: ~a"
|
||||||
prefix
|
prefix
|
||||||
@@ -213,14 +218,15 @@
|
|||||||
(format " #~a" track-number)
|
(format " #~a" track-number)
|
||||||
"")
|
"")
|
||||||
track-label)
|
track-label)
|
||||||
(tr 'no-track)))
|
(tr 'no-track))))
|
||||||
(send playback-details set-label (string-join details " · "))
|
(send playback-details set-label (cap200 (string-join details " · ")))
|
||||||
(send playback-filename
|
(send playback-filename
|
||||||
set-label
|
set-label
|
||||||
|
(cap200
|
||||||
(if (and (string? filename)
|
(if (and (string? filename)
|
||||||
(not (string=? filename "")))
|
(not (string=? filename "")))
|
||||||
filename
|
filename
|
||||||
"—")))))
|
"—"))))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; goal : Persist edited connection settings and reconnect the runtime.
|
; goal : Persist edited connection settings and reconnect the runtime.
|
||||||
@@ -246,7 +252,7 @@
|
|||||||
(save-player-agent-config! config)
|
(save-player-agent-config! config)
|
||||||
(send name-field set-value next-name)
|
(send name-field set-value next-name)
|
||||||
((player-agent-runtime-reconnect! runtime) next-server next-name)
|
((player-agent-runtime-reconnect! runtime) next-server next-name)
|
||||||
(send connect-button set-label (tr 'reconnect))))
|
(send connect-button set-label (cap200 (tr 'reconnect)))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; goal : Release resources owned by the GUI agent exactly once.
|
; goal : Release resources owned by the GUI agent exactly once.
|
||||||
@@ -322,7 +328,8 @@
|
|||||||
(new agent-frame%
|
(new agent-frame%
|
||||||
(label (tr 'app-title))
|
(label (tr 'app-title))
|
||||||
(width 560)
|
(width 560)
|
||||||
(height 310))))
|
;(height 310)
|
||||||
|
)))
|
||||||
(set! frame new-frame))
|
(set! frame new-frame))
|
||||||
|
|
||||||
(let* ((panel
|
(let* ((panel
|
||||||
@@ -347,6 +354,7 @@
|
|||||||
(label (tr 'playback))
|
(label (tr 'playback))
|
||||||
(alignment '(left top))
|
(alignment '(left top))
|
||||||
(stretchable-height #f)))
|
(stretchable-height #f)))
|
||||||
|
;(msgs-pane (new vertical-pane% [parent panel]))
|
||||||
(controls
|
(controls
|
||||||
(new horizontal-panel%
|
(new horizontal-panel%
|
||||||
(parent panel)
|
(parent panel)
|
||||||
@@ -357,30 +365,31 @@
|
|||||||
;; render their label and text poorly on some display configurations.
|
;; render their label and text poorly on some display configurations.
|
||||||
(send (send id-field get-editor) lock #t)
|
(send (send id-field get-editor) lock #t)
|
||||||
(set! playback-message
|
(set! playback-message
|
||||||
(new message%
|
(new ellipsis-msg%
|
||||||
(parent playback-panel)
|
(parent playback-panel)
|
||||||
(label (tr 'no-track))
|
(label (tr 'no-track))
|
||||||
(auto-resize #t)))
|
[ellipsis 'right] [auto-resize #t] [stretchable-width #t]
|
||||||
|
))
|
||||||
(set! playback-details
|
(set! playback-details
|
||||||
(new message%
|
(new ellipsis-msg%
|
||||||
(parent playback-panel)
|
(parent playback-panel)
|
||||||
(label "00:00:00 / --:--:--")
|
(label "00:00:00 / --:--:--")
|
||||||
(auto-resize #t)))
|
[ellipsis 'right] [auto-resize #t] [stretchable-width #t]))
|
||||||
(set! playback-filename
|
(set! playback-filename
|
||||||
(new message%
|
(new ellipsis-msg%
|
||||||
(parent playback-panel)
|
(parent playback-panel)
|
||||||
(label "—")
|
(label "—")
|
||||||
(auto-resize #t)))
|
[ellipsis 'right] [auto-resize #t] [stretchable-width #t]))
|
||||||
(set! connect-button
|
(set! connect-button
|
||||||
(new button%
|
(new button%
|
||||||
(parent controls)
|
(parent controls)
|
||||||
(label (tr 'save-connect))
|
(label (tr 'save-connect))
|
||||||
(callback (λ (_button _event) (reconnect!)))))
|
(callback (λ (_button _event) (reconnect!)))))
|
||||||
(set! status-message
|
(set! status-message
|
||||||
(new message%
|
(new ellipsis-msg%
|
||||||
(parent controls)
|
(parent controls)
|
||||||
(label (tr 'connecting))
|
(label (tr 'connecting))
|
||||||
(auto-resize #t))))
|
[ellipsis 'right] [auto-resize #t] [stretchable-width #t])))
|
||||||
|
|
||||||
(set! playback-timer
|
(set! playback-timer
|
||||||
(new timer%
|
(new timer%
|
||||||
@@ -402,7 +411,7 @@
|
|||||||
|
|
||||||
(send frame show #t)
|
(send frame show #t)
|
||||||
((player-agent-runtime-start! runtime))
|
((player-agent-runtime-start! runtime))
|
||||||
(send connect-button set-label (tr 'reconnect))
|
(send connect-button set-label (cap200 (tr 'reconnect)))
|
||||||
frame))
|
frame))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|||||||
Reference in New Issue
Block a user