mirror of
https://codeberg.org/unspeaker/perch.git
synced 2025-12-07 01:56:45 +01:00
pass whole state to setter, to emit tasks
This commit is contained in:
parent
d26c46d6e1
commit
859da8e5d1
5 changed files with 85 additions and 48 deletions
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue