From e89fd9cb4e88aa8f27f40c5c5073feb1a3aa1ce3 Mon Sep 17 00:00:00 2001 From: Louie S Date: Sat, 16 Sep 2023 09:36:14 -0400 Subject: Basic dummy body layout --- group.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) (limited to 'group.py') diff --git a/group.py b/group.py index 1ca8244..aedb300 100644 --- a/group.py +++ b/group.py @@ -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 -- cgit