Compare commits

...

3 Commits

Author SHA1 Message Date
5388ef6513 Correctly propagate checked status 2025-12-02 21:28:42 -05:00
323ebee99e Fix duplicating entries 2025-12-02 21:23:22 -05:00
8ff602408d Updates the file upon checkbox updating 2025-12-02 21:23:11 -05:00
2 changed files with 11 additions and 1 deletions

View File

@@ -22,6 +22,9 @@ class TodoItem(Checkbox):
self.main_app = main_app
self.todo = todo
def on_checkbox_changed(self, event: Checkbox.Changed) -> None:
self.main_app.toggle_todo(self)
class Codupoc(App[None]):
CSS_PATH = "codupoc.tcss"
@@ -62,11 +65,16 @@ class Codupoc(App[None]):
def load_todos_into_widgets(self) -> list[TodoItem]:
widgets = []
for t in self.todos.values():
nt = TodoItem(self, t, t.item, id=t.lid)
nt = TodoItem(self, t, t.item, id=t.lid, value=t.checked)
widgets.append(nt)
return widgets
def toggle_todo(self, todo: TodoItem):
lid = todo.id
self.todos[lid].checked = not self.todos[lid].checked
self.tmanager.write_todos(list(self.todos.values()))
def __init__(self):

View File

@@ -24,6 +24,8 @@ class TodoManager:
for line in f:
todos.append(parse_todo(line))
self.file.seek(0)
return todos
def close_todo_file(self):