From bf4372d2cd3c13fe1e5d254da3d92436da9eef6a Mon Sep 17 00:00:00 2001 From: Louie Shprung Date: Thu, 21 Dec 2023 09:34:04 -0800 Subject: Created UI file for add_entry_window --- src/add_entry_form.py | 61 +++-------------- src/add_entry_form.ui | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/main.py | 51 +------------- 3 files changed, 195 insertions(+), 102 deletions(-) create mode 100644 src/add_entry_form.ui diff --git a/src/add_entry_form.py b/src/add_entry_form.py index 9550108..ff66a19 100644 --- a/src/add_entry_form.py +++ b/src/add_entry_form.py @@ -1,7 +1,8 @@ +import os import sys -from PyQt5.QtWidgets import QApplication, QCheckBox, QDateTimeEdit, QDialog, QFormLayout, QHBoxLayout, QLabel, QLineEdit, QMessageBox, QPushButton -from PyQt5.QtGui import QFont -from PyQt5.QtCore import QDate, Qt +from PyQt5 import uic +from PyQt5.QtWidgets import QApplication, QDialog, QMessageBox +from PyQt5.QtCore import QDate from src.entry import Entry import src.globals as Globals import src.db_sqlite as DB @@ -9,63 +10,17 @@ import src.db_sqlite as DB class addEntryForm(QDialog): def __init__(self, parent): super().__init__() + uic.loadUi(os.path.join("src", "add_entry_form.ui"), self) self.initializeUI(parent) def initializeUI(self, parent): - self.resize(400, 1) - self.setWindowTitle("Add Entry") self.displayWidgets(parent) self.exec() def displayWidgets(self, parent): - entry_form_layout = QFormLayout() - - title = QLabel("Add Entry") - title.setFont(QFont("Arial", 18)) - title.setAlignment(Qt.AlignCenter) - entry_form_layout.addRow(title) - - self.new_entry_desc = QLineEdit() - entry_form_layout.addRow("Description:", self.new_entry_desc) - - self.due_hbox = QHBoxLayout() - self.new_entry_due = QDateTimeEdit(QDate.currentDate()) - self.new_entry_due.setDisplayFormat("MM/dd/yyyy") - self.due_hbox.addWidget(self.new_entry_due) - self.new_entry_due_checkbox = QCheckBox() - self.new_entry_due_checkbox.setChecked(True) - self.due_hbox.addWidget(self.new_entry_due_checkbox) - entry_form_layout.addRow("Due Date:", self.due_hbox) - - self.new_entry_due_alt = QLineEdit() - entry_form_layout.addRow("Due Date (Alt):", self.new_entry_due_alt) - - self.new_entry_link = QLineEdit() # TODO see if there is a widget specifically for URLs - entry_form_layout.addRow("Link:", self.new_entry_link) - - # TODO: - # depends - - self.new_entry_color = QLineEdit() - entry_form_layout.addRow("Color:", self.new_entry_color) - - self.new_entry_highlight = QLineEdit() - entry_form_layout.addRow("Highlight:", self.new_entry_highlight) - - # Submit and cancel buttons - buttons_h_box = QHBoxLayout() - buttons_h_box.addStretch() - close_button = QPushButton("Cancel") - close_button.clicked.connect(self.close) - buttons_h_box.addWidget(close_button) - submit_button = QPushButton("Submit") - submit_button.clicked.connect(lambda: self.handleSubmit(parent)) - buttons_h_box.addWidget(submit_button) - buttons_h_box.addStretch() - - entry_form_layout.addRow(buttons_h_box) - - self.setLayout(entry_form_layout) + self.new_entry_due.setDate(QDate.currentDate()) + self.buttonBox.rejected.connect(self.close) + self.buttonBox.accepted.connect(lambda: self.handleSubmit(parent)) def handleSubmit(self, parent): # Check that the new entry is not blank diff --git a/src/add_entry_form.ui b/src/add_entry_form.ui new file mode 100644 index 0000000..3f8f9e7 --- /dev/null +++ b/src/add_entry_form.ui @@ -0,0 +1,185 @@ + + + Dialog + + + + 0 + 0 + 400 + 266 + + + + Add Entry + + + + + + + + Description: + + + + + + + + + + + Arial + 18 + + + + Add Entry + + + Qt::AlignCenter + + + + + + + Due Date: + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + MM/dd/yyyy + + + + + + + true + + + + + + true + + + + + + + + + + Due Date (Alt): + + + + + + + + + + Link: + + + + + + + + + + Color: + + + + + + + + + + Highlight: + + + + + + + + + + + + Qt::RightToLeft + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + true + + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/main.py b/src/main.py index 9e6f4c0..91ddeca 100644 --- a/src/main.py +++ b/src/main.py @@ -3,8 +3,8 @@ import os import sys import time from PyQt5 import uic -from PyQt5.QtWidgets import QAction, QApplication, QGridLayout, QHBoxLayout, QLabel, QMainWindow, QMenu, QMessageBox, QScrollArea, QVBoxLayout, QWidget -from PyQt5.QtGui import QCursor, QFont +from PyQt5.QtWidgets import QAction, QApplication, QMainWindow, QMenu, QMessageBox, QVBoxLayout +from PyQt5.QtGui import QCursor from PyQt5.QtCore import QDate, Qt from src.config import Config from src.preferences_dialog import PreferencesDialog @@ -24,8 +24,6 @@ class AssignmentList(QMainWindow): self.initializeUI() def initializeUI(self): - #self.resize(640, 480) - #self.setWindowTitle("Assignment List") self.createMenu() self.createToolbar() Config() @@ -34,36 +32,14 @@ class AssignmentList(QMainWindow): self.show() def createMenu(self): - #menu_bar = self.menuBar() - #file_menu = menu_bar.addMenu("File") - #edit_menu = menu_bar.addMenu("Edit") - #help_menu = menu_bar.addMenu("Help") - - #self.preferences_act = QAction("Preferences", self) - #self.preferences_act.setShortcut("Alt+Return") self.actionPreferences.triggered.connect(self.preferences) - #file_menu.addAction(self.preferences_act) - #self.reload_act = QAction("Reload", self) - #self.reload_act.setShortcut("F5") self.actionReload.triggered.connect(self.reload) - #file_menu.addAction(self.reload_act) - #file_menu.addSeparator() - #exit_act = QAction("Exit", self) - #exit_act.setShortcut("Ctrl+Q") self.actionExit.triggered.connect(self.close) - #file_menu.addAction(exit_act) - #self.add_group_act = QAction("Add Group", self) self.actionAdd_Group.triggered.connect(self.addGroup) - #self.actionAdd_Group.addAction(self.add_group_act) - #edit_menu.addSeparator() - #self.clean_hidden_act = QAction("Permanently Delete Removed Groups and Entries", self) self.actionClean_Hidden.triggered.connect(self.cleanHidden) - #edit_menu.addAction(self.clean_hidden_act) - #about_act = QAction("About", self) self.actionAbout.triggered.connect(self.aboutDialog) - #help_menu.addAction(about_act) def createToolbar(self): self.toolBar.addAction(self.actionAdd_Group) @@ -72,32 +48,9 @@ class AssignmentList(QMainWindow): DB.initDB() def displayWidgets(self): - #main_widget_scroll_area = QScrollArea(self) - #main_widget_scroll_area.setWidgetResizable(True) - #main_widget = QWidget() - #self.setCentralWidget(main_widget_scroll_area) - self.title.setText(time.strftime("%A, %b %d %Y")) - #self.title.setFont(QFont("Arial", 17)) - #self.title.setTextInteractionFlags(Qt.TextSelectableByMouse) - - #title_h_box = QHBoxLayout() - #title_h_box.addStretch() - #title_h_box.addWidget(title) - #title_h_box.addStretch() - - #self.groups_layout = QGridLayout() - #self.groups_layout.setContentsMargins(20, 5, 20, 5) self.drawGroups() - #v_box = QVBoxLayout() - #v_box.addLayout(title_h_box) - #v_box.addLayout(self.groups_layout) - #v_box.addStretch() - - #main_widget.setLayout(v_box) - #main_widget_scroll_area.setWidget(main_widget) - def addGroup(self): """ Open the 'addGroup' form -- cgit