LoopStatus is now editable from MPRIS

This commit is contained in:
r4v3n6101
2021-02-21 23:11:50 +03:00
committed by Henrik Friedrichsen
parent 2af8e549cd
commit 610a6190b2

View File

@@ -231,12 +231,13 @@ fn run_dbus_server(
};
let property_loopstatus = {
let queue = queue.clone();
let queue1 = queue.clone();
let queue2 = queue.clone();
f.property::<String, _>("LoopStatus", ())
.access(Access::Read)
.access(Access::ReadWrite)
.on_get(move |iter, _| {
iter.append(
match queue.get_repeat() {
match queue1.get_repeat() {
RepeatSetting::None => "None",
RepeatSetting::RepeatTrack => "Track",
RepeatSetting::RepeatPlaylist => "Playlist",
@@ -245,6 +246,16 @@ fn run_dbus_server(
);
Ok(())
})
.on_set(move |iter, _| {
let setting = match iter.get::<&str>().unwrap_or_default() {
"Track" => RepeatSetting::RepeatTrack,
"Playlist" => RepeatSetting::RepeatPlaylist,
_ => RepeatSetting::None,
};
queue2.set_repeat(setting);
Ok(())
})
};
let property_metadata = {