Set play/pause icon depending on state

This commit is contained in:
Ian Douglas Scott 2021-08-26 13:27:58 -07:00
parent d28bbe2471
commit 80bfe912aa

View file

@ -219,11 +219,17 @@ impl MprisControls {
};
// XXX status
let (_status, metadata) = match (player.playback_status(), player.metadata()) {
let (status, metadata) = match (player.playback_status(), player.metadata()) {
(Some(status), Some(metadata)) => (status, metadata),
_ => return,
};
let play_pause_icon = if status == "Playing" {
"media-playback-pause-symbolic"
} else {
"media-playback-start-symbolic"
};
let title = metadata.title().unwrap_or_else(|| String::new());
// XXX correct way to handle multiple?
let artist = metadata
@ -238,6 +244,9 @@ impl MprisControls {
self_.update_arturl(arturl.as_deref()).await;
}));
self.inner()
.play_pause_button
.set_icon_name(play_pause_icon);
self.inner().title_label.set_label(&title);
self.inner().artist_label.set_label(&artist);
}