diff options
Diffstat (limited to 'group.py')
-rw-r--r-- | group.py | 49 |
1 files changed, 48 insertions, 1 deletions
@@ -1,4 +1,9 @@ -from PyQt5.QtWidgets import QLabel, QVBoxLayout +import datetime +from PyQt5.QtCore import Qt +from PyQt5.QtGui import QFont +from PyQt5.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout +from add_entry_form import addEntryForm +from entry import Entry class Group: def __init__(self, name, column = "left", link = ""): @@ -11,5 +16,47 @@ class Group: output.setContentsMargins(0, 10, 0, 10) name = QLabel(self.name) + name.setTextInteractionFlags(Qt.TextSelectableByMouse) + name_font = QFont("Arial", 13) + name_font.setUnderline(True) + name.setFont(name_font) output.addWidget(name) + + entries = self.getEntriesFromGroup() + entries_vbox = QVBoxLayout() + entries_vbox.setContentsMargins(5, 0, 0, 0) + + for e in entries: + entries_vbox.addWidget(e.buildLayout()) + output.addLayout(entries_vbox) + + # Include buttons at the bottom to edit the group + buttons_hbox = QHBoxLayout() + + add_entry_button = QPushButton() + add_entry_button.setText("Add Entry") + add_entry_button.clicked.connect(self.addEntry) + buttons_hbox.addWidget(add_entry_button) + buttons_hbox.addStretch() + + output.addLayout(buttons_hbox) + + return output + + def addEntry(self): + """ + Open the 'addEntry' form + """ + self.create_new_entry_dialog = addEntryForm() + self.create_new_entry_dialog.show() + + def getEntriesFromGroup(self): + """ + Retrieve this group's entries + """ + # TODO this should be pulling from a database + output = [] + output.append(Entry("yeet")) + output.append(Entry("bruh", datetime.date(2023, 12, 25))) + return output |