diff options
Diffstat (limited to 'todo/gui/window.py')
-rw-r--r-- | todo/gui/window.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/todo/gui/window.py b/todo/gui/window.py new file mode 100644 index 0000000..0391ee9 --- /dev/null +++ b/todo/gui/window.py @@ -0,0 +1,36 @@ +from PyQt5 import QtCore, QtWidgets + +import todo.gui.tasks.widget +import todo.gui.tasks.widget +import todo.gui.tags.panel.widget +import todo.gui.signal +from todo.model.status import Status + +def get(): + window = QtWidgets.QMainWindow() + window.setWindowTitle("todo") + window.setMinimumSize(QtCore.QSize(640, 480)) + + tabs = QtWidgets.QTabWidget(window) + window.setCentralWidget(tabs) + + show_ready = todo.gui.signal.Reload() + show_waiting = todo.gui.signal.Reload() + show_maybe = todo.gui.signal.Reload() + + def on_current_tab_changed(index: int): + if index == 0: + show_ready.emit() + elif index == 1: + show_waiting.emit() + elif index == 2: + show_maybe.emit() + + tabs.currentChanged.connect(on_current_tab_changed) + + tabs.addTab(todo.gui.tasks.widget.widget(tabs, show_ready, Status.READY), "Ready") + tabs.addTab(todo.gui.tasks.widget.widget(tabs, show_waiting, Status.WAITING), "Waiting") + tabs.addTab(todo.gui.tasks.widget.widget(tabs, show_maybe, Status.MAYBE), "Maybe") + tabs.addTab(todo.gui.tags.panel.widget.widget(tabs), "Tags") + + return window |