filter out duplicate tasks

This commit is contained in:
🪞👃🪞 2025-04-03 23:17:58 +03:00
parent 1215ace1ae
commit 648c37e9d4

View file

@ -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, });
};
}
}