Compare commits
3 Commits
bc0ad8d4f8
...
5388ef6513
| Author | SHA1 | Date | |
|---|---|---|---|
|
5388ef6513
|
|||
|
323ebee99e
|
|||
|
8ff602408d
|
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user