Skip to content

Commit d2c9479

Browse files
authored
Merge pull request #1592 from igor-semenov/fix-today-after-move
Fixed task disappear from Today after move to other project
2 parents 0190d3c + 55cddca commit d2c9479

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

src/Views/Today.vala

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,15 +338,43 @@ public class Views.Today : Adw.Bin {
338338
Services.Store.instance ().item_unarchived.connect (valid_add_item);
339339

340340
Services.EventBus.get_default ().item_moved.connect ((item) => {
341+
// Handle existing items that may no longer belong in Today view
341342
if (items.has_key (item.id)) {
342-
items[item.id].update_request ();
343+
if (Services.Store.instance ().valid_item_by_date (item, date, false)) {
344+
items[item.id].update_request ();
345+
} else {
346+
// Remove item that no longer belongs in today
347+
items[item.id].hide_destroy ();
348+
items.unset (item.id);
349+
}
343350
}
344351

345352
if (overdue_items.has_key (item.id)) {
346-
items[item.id].update_request ();
353+
if (Services.Store.instance ().valid_item_by_overdue (item, date, false)) {
354+
overdue_items[item.id].update_request ();
355+
} else {
356+
// Remove item that no longer belongs in overdue
357+
overdue_items[item.id].hide_destroy ();
358+
overdue_items.unset (item.id);
359+
}
360+
}
361+
362+
// Check if item should be added to Today view (wasn't there before but should be now)
363+
if (!items.has_key (item.id) &&
364+
Services.Store.instance ().valid_item_by_date (item, date, false)) {
365+
add_item (item);
347366
}
348367

368+
if (!overdue_items.has_key (item.id) &&
369+
Services.Store.instance ().valid_item_by_overdue (item, date, false)) {
370+
add_overdue_item (item);
371+
}
372+
373+
// Update UI state
374+
update_headers ();
375+
check_placeholder ();
349376
listbox.invalidate_filter ();
377+
overdue_listbox.invalidate_filter ();
350378
});
351379

352380
magic_button.clicked.connect (() => {

0 commit comments

Comments
 (0)