Skip to content

Commit a45b7ef

Browse files
committed
feat: Synchronize symbolic icon for volume and mute buttons with currently set volume
Signed-off-by: Felicitas Pojtinger <[email protected]>
1 parent 6eab907 commit a45b7ef

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

internal/components/controls.go

+17-1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ func OpenControlsWindow(
156156
playButton := builder.GetObject("play-button").Cast().(*gtk.Button)
157157
stopButton := builder.GetObject("stop-button").Cast().(*gtk.Button)
158158
volumeScale := builder.GetObject("volume-scale").Cast().(*gtk.Scale)
159+
volumeButton := builder.GetObject("volume-button").Cast().(*gtk.MenuButton)
159160
volumeMuteButton := builder.GetObject("audiovolume-button-mute-button").Cast().(*gtk.Button)
160161
subtitleButton := builder.GetObject("subtitle-button").Cast().(*gtk.Button)
161162
audiotracksButton := builder.GetObject("audiotracks-button").Cast().(*gtk.Button)
@@ -1383,8 +1384,23 @@ func OpenControlsWindow(
13831384
})
13841385

13851386
volumeScale.ConnectValueChanged(func() {
1387+
value := volumeScale.Value()
1388+
1389+
if value <= 0 {
1390+
volumeButton.SetIconName("audio-volume-muted-symbolic")
1391+
volumeMuteButton.SetIconName("audio-volume-muted-symbolic")
1392+
} else if value <= 0.3 {
1393+
volumeButton.SetIconName("audio-volume-low-symbolic")
1394+
volumeMuteButton.SetIconName("audio-volume-high-symbolic")
1395+
} else if value <= 0.6 {
1396+
volumeButton.SetIconName("audio-volume-medium-symbolic")
1397+
volumeMuteButton.SetIconName("audio-volume-high-symbolic")
1398+
} else {
1399+
volumeButton.SetIconName("audio-volume-high-symbolic")
1400+
volumeMuteButton.SetIconName("audio-volume-high-symbolic")
1401+
}
1402+
13861403
if err := mpvClient.ExecuteMPVRequest(ipcFile, func(encoder *json.Encoder, decoder *json.Decoder) error {
1387-
value := volumeScale.Value()
13881404

13891405
log.Info().
13901406
Float64("value", value).

internal/resources/controls.blp

+4-7
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,12 @@ Adw.ApplicationWindow main-window {
143143
]
144144
}
145145

146-
MenuButton {
146+
MenuButton volume-button {
147147
styles [
148148
"flat",
149149
]
150150

151-
icon-name: 'audio-volume-medium';
151+
icon-name: 'audio-volume-high-symbolic';
152152
tooltip-text: 'Change audio volume';
153153
popover: audiovolume-button-popover;
154154
}
@@ -237,11 +237,8 @@ Popover audiovolume-button-popover {
237237
margin-end: 6;
238238

239239
Button audiovolume-button-mute-button {
240-
icon-name: "multimedia-volume-control-symbolic";
241-
242-
accessibility {
243-
label: 'Mute/Unmute';
244-
}
240+
icon-name: "audio-volume-high-symbolic";
241+
tooltip-text: 'Mute/unmute';
245242

246243
styles [
247244
"circular"

0 commit comments

Comments
 (0)