diff options
Diffstat (limited to 'todo/gui/tasks/widget.py')
-rw-r--r-- | todo/gui/tasks/widget.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/todo/gui/tasks/widget.py b/todo/gui/tasks/widget.py new file mode 100644 index 0000000..cc7fe96 --- /dev/null +++ b/todo/gui/tasks/widget.py @@ -0,0 +1,30 @@ +from PyQt5 import QtWidgets + +from todo.model.status import Status +import todo.gui.tasks.signal +import todo.gui.tasks.table.widget +import todo.gui.icon +import todo.gui.signal + +def widget(parent, on_show: todo.gui.signal.Reload, status: Status): + widget = QtWidgets.QWidget(parent) + + layout = QtWidgets.QVBoxLayout(widget) + widget.setLayout(layout) + + layout.addSpacing(15) + + add_task_signal = todo.gui.tasks.signal.AddTask() + + add_task_button = QtWidgets.QPushButton(" Add a task", widget) + add_task_button.setFixedHeight(30) + add_task_button.setIcon(todo.gui.icon.new_folder(widget.style())) + add_task_button.clicked.connect(lambda: todo.gui.tasks.dialog.add(widget, status, add_task_signal).exec_()) + layout.addWidget(add_task_button) + + layout.addSpacing(20) + + table = todo.gui.tasks.table.widget.Widget(widget, on_show, add_task_signal, status) + layout.addWidget(table) + + return widget |