aboutsummaryrefslogtreecommitdiff
path: root/todo/gui/tasks/widget.py
diff options
context:
space:
mode:
Diffstat (limited to 'todo/gui/tasks/widget.py')
-rw-r--r--todo/gui/tasks/widget.py30
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