Set play/pause icon depending on state
This commit is contained in:
parent
d28bbe2471
commit
80bfe912aa
1 changed files with 10 additions and 1 deletions
11
src/mpris.rs
11
src/mpris.rs
|
|
@ -219,11 +219,17 @@ impl MprisControls {
|
||||||
};
|
};
|
||||||
|
|
||||||
// XXX status
|
// 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),
|
(Some(status), Some(metadata)) => (status, metadata),
|
||||||
_ => return,
|
_ => 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());
|
let title = metadata.title().unwrap_or_else(|| String::new());
|
||||||
// XXX correct way to handle multiple?
|
// XXX correct way to handle multiple?
|
||||||
let artist = metadata
|
let artist = metadata
|
||||||
|
|
@ -238,6 +244,9 @@ impl MprisControls {
|
||||||
self_.update_arturl(arturl.as_deref()).await;
|
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().title_label.set_label(&title);
|
||||||
self.inner().artist_label.set_label(&artist);
|
self.inner().artist_label.set_label(&artist);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue