mirror of
https://codeberg.org/unspeaker/perch.git
synced 2025-12-06 09:36:42 +01:00
filter out duplicate tasks
This commit is contained in:
parent
1215ace1ae
commit
648c37e9d4
1 changed files with 6 additions and 3 deletions
|
|
@ -38,14 +38,17 @@ macro_rules! setter {
|
|||
value: &str
|
||||
) {
|
||||
if let Some(entries) = entries_under(&mut state.entries, index) {
|
||||
for (path, entry) in entries.into_iter() {
|
||||
for (p, entry) in entries.into_iter() {
|
||||
if let Some(item) = entry.write().unwrap().$name(&value) {
|
||||
state.tasks.push(Task { path, item, });
|
||||
state.tasks.retain(|t|{(t.path != p) || (t.item.key() != item.key())});
|
||||
state.tasks.push(Task { path: p, item, });
|
||||
};
|
||||
}
|
||||
} else if let Some(entry) = state.entries.get_mut(index) {
|
||||
let p = entry.path.clone();
|
||||
if let Some(item) = entry.$name(&value) {
|
||||
state.tasks.push(Task { path: entry.path.clone(), item, });
|
||||
state.tasks.retain(|t|{(t.path != p) || (t.item.key() != item.key())});
|
||||
state.tasks.push(Task { path: p, item, });
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue