pass whole state to setter, to emit tasks

This commit is contained in:
🪞👃🪞 2025-03-24 04:54:35 +02:00
parent d26c46d6e1
commit 859da8e5d1
5 changed files with 85 additions and 48 deletions

View file

@ -159,42 +159,58 @@ impl Metadata {
_ => None
}
}
pub fn set_artist (&mut self, value: &impl AsRef<str> ) {
pub fn set_artist (&mut self, value: &impl AsRef<str>) -> Option<Task> {
match self {
Metadata::Music { artist, .. } => *artist = Some(value.as_ref().into()),
_ => {}
Metadata::Music { artist, .. } => {
*artist = Some(value.as_ref().into());
//todo!("emit task");
None
},
_ => None
}
}
pub fn set_year (&mut self, value: &impl AsRef<str> ) {
pub fn set_year (&mut self, value: &impl AsRef<str> ) -> Option<Task> {
match self {
Metadata::Music { year, .. } => {
if let Ok(value) = value.as_ref().trim().parse::<u32>() {
*year = Some(value)
*year = Some(value);
}
//todo!("emit task");
None
},
_ => {}
_ => None
}
}
pub fn set_album (&mut self, value: &impl AsRef<str> ) {
pub fn set_album (&mut self, value: &impl AsRef<str>) -> Option<Task> {
match self {
Metadata::Music { album, .. } => *album = Some(value.as_ref().into()),
_ => {}
Metadata::Music { album, .. } => {
*album = Some(value.as_ref().into());
//todo!("emit task");
None
},
_ => None
}
}
pub fn set_title (&mut self, value: &impl AsRef<str> ) {
pub fn set_title (&mut self, value: &impl AsRef<str>) -> Option<Task> {
match self {
Metadata::Music { title, .. } => *title = Some(value.as_ref().into()),
_ => {}
Metadata::Music { title, .. } => {
*title = Some(value.as_ref().into());
//todo!("emit task");
None
},
_ => None
}
}
pub fn set_track (&mut self, value: &impl AsRef<str>) {
pub fn set_track (&mut self, value: &impl AsRef<str>) -> Option<Task> {
match self {
Metadata::Music { track, .. } => {
if let Ok(value) = value.as_ref().trim().parse::<u32>() {
*track = Some(value)
*track = Some(value);
}
//todo!("emit task");
None
},
_ => {}
_ => None
}
}
}