From 0c9a2a872ab08f2c8ba8f6edf8356ac469b89d62 Mon Sep 17 00:00:00 2001 From: Josh Voyles Date: Tue, 18 Jun 2024 13:14:18 -0400 Subject: [PATCH 1/3] Resolved: #73 Resolved: #74 enable HOA, connect back end, build tests. See: #31 --- home-choice-pro/resources/main_window.ui | 98 +++++++------- .../tests/test_views/test_main_window.py | 41 +++++- home-choice-pro/views/main_window.py | 2 + home-choice-pro/views/main_window_ui.py | 120 +++++++++--------- 4 files changed, 145 insertions(+), 116 deletions(-) diff --git a/home-choice-pro/resources/main_window.ui b/home-choice-pro/resources/main_window.ui index 8b67be2..4ee32c7 100644 --- a/home-choice-pro/resources/main_window.ui +++ b/home-choice-pro/resources/main_window.ui @@ -578,7 +578,7 @@ QPushButton:hover { 0 - 0 + -151 625 600 @@ -999,7 +999,7 @@ QPushButton:hover { - + Qt::Vertical @@ -1134,7 +1134,7 @@ QPushButton:hover { - + Qt::Vertical @@ -1147,9 +1147,9 @@ QPushButton:hover { - + - + Qt::Horizontal @@ -1165,7 +1165,7 @@ QPushButton:hover { - + 200 @@ -1176,18 +1176,18 @@ QPushButton:hover { - Property Tax: + HOA Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - propertyTaxEdit + HOAEdit - + Qt::Horizontal @@ -1203,9 +1203,9 @@ QPushButton:hover { - + - false + true @@ -1234,17 +1234,17 @@ QPushButton:hover { - + - $ + $/mo - + Qt::Horizontal @@ -1259,7 +1259,7 @@ QPushButton:hover { - + Qt::Vertical @@ -1272,9 +1272,9 @@ QPushButton:hover { - + - + Qt::Horizontal @@ -1289,8 +1289,8 @@ QPushButton:hover { - - + + 200 @@ -1301,18 +1301,18 @@ QPushButton:hover { - PMI: + Property Tax: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - PMIEdit + propertyTaxEdit - + Qt::Horizontal @@ -1328,7 +1328,7 @@ QPushButton:hover { - + false @@ -1359,17 +1359,17 @@ QPushButton:hover { - + - % + $ - + Qt::Horizontal @@ -1384,7 +1384,7 @@ QPushButton:hover { - + Qt::Vertical @@ -1397,9 +1397,9 @@ QPushButton:hover { - + - + Qt::Horizontal @@ -1414,8 +1414,8 @@ QPushButton:hover { - - + + 200 @@ -1426,18 +1426,18 @@ QPushButton:hover { - Insurance: + PMI: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - insuranceEdit + PMIEdit - + Qt::Horizontal @@ -1453,7 +1453,7 @@ QPushButton:hover { - + false @@ -1484,17 +1484,17 @@ QPushButton:hover { - + - $/yr + % - + Qt::Horizontal @@ -1509,7 +1509,7 @@ QPushButton:hover { - + Qt::Vertical @@ -1522,9 +1522,9 @@ QPushButton:hover { - + - + Qt::Horizontal @@ -1540,7 +1540,7 @@ QPushButton:hover { - + 200 @@ -1551,18 +1551,18 @@ QPushButton:hover { - HOA + Insurance: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - HOAEdit + insuranceEdit - + Qt::Horizontal @@ -1578,7 +1578,7 @@ QPushButton:hover { - + false @@ -1609,17 +1609,17 @@ QPushButton:hover { - + - $/mo + $/yr - + Qt::Horizontal diff --git a/home-choice-pro/tests/test_views/test_main_window.py b/home-choice-pro/tests/test_views/test_main_window.py index 5d1c348..e9c36ea 100644 --- a/home-choice-pro/tests/test_views/test_main_window.py +++ b/home-choice-pro/tests/test_views/test_main_window.py @@ -53,33 +53,44 @@ def test_empty_edit_boxes(main_window): assert main_window.ui.monthlyPaymentEdit.text() == "0" assert main_window.ui.dpEdit.text() == "0" assert main_window.ui.interestRateEdit.text() == "0" + assert main_window.ui.HOAEdit.text() == "0" def test_verify_digits(main_window): main_window.ui.monthlyPaymentEdit.setText("1") main_window.ui.dpEdit.setText("1") main_window.ui.interestRateEdit.setText("1") - assert main_window.verify_digits() == True + assert main_window.verify_digits() is True main_window.ui.monthlyPaymentEdit.setText("a") main_window.ui.dpEdit.setText("1") main_window.ui.interestRateEdit.setText("1") - assert main_window.verify_digits() == False + assert main_window.verify_digits() is False main_window.ui.monthlyPaymentEdit.setText("1") main_window.ui.dpEdit.setText("b") main_window.ui.interestRateEdit.setText("1") - assert main_window.verify_digits() == False + assert main_window.verify_digits() is False main_window.ui.monthlyPaymentEdit.setText("1") main_window.ui.dpEdit.setText("1") main_window.ui.interestRateEdit.setText("c") - assert main_window.verify_digits() == False + assert main_window.verify_digits() is False main_window.ui.monthlyPaymentEdit.setText("") main_window.ui.dpEdit.setText("1") main_window.ui.interestRateEdit.setText("1") - assert main_window.verify_digits() == False + assert main_window.verify_digits() is False main_window.ui.monthlyPaymentEdit.setText("1") main_window.ui.dpEdit.setText("1") main_window.ui.interestRateEdit.setText(" ") - assert main_window.verify_digits() == False + assert main_window.verify_digits() is False + main_window.ui.monthlyPaymentEdit.setText("1") + main_window.ui.dpEdit.setText("1") + main_window.ui.interestRateEdit.setText("1") + main_window.ui.HOAEdit.setText("1") + assert main_window.verify_digits() is True + main_window.ui.monthlyPaymentEdit.setText("1") + main_window.ui.dpEdit.setText("1") + main_window.ui.interestRateEdit.setText("1") + main_window.ui.HOAEdit.setText("b") + assert main_window.verify_digits() is False def test_display_error(main_window, qtbot): @@ -117,12 +128,22 @@ def test_loan_term_box(main_window, qtbot): assert main_window.ui.termComboBox.currentText() == "15" +def test_hoa_edit(main_window, qtbot): + assert main_window.ui.HOAEdit.text() == "0" + main_window.ui.HOAEdit.clear() + qtbot.keyClicks(main_window.ui.HOAEdit, "12345") + assert main_window.ui.HOAEdit.text() == "12345" + + def test_calculate_house(main_window, qtbot): + # enter values in gui main_window.ui.monthlyPaymentEdit.clear() - qtbot.keyClicks(main_window.ui.monthlyPaymentEdit, "1000") + qtbot.keyClicks(main_window.ui.monthlyPaymentEdit, "1300") main_window.ui.dpEdit.clear() qtbot.keyClicks(main_window.ui.dpEdit, "1") main_window.ui.interestRateEdit.clear() + main_window.ui.HOAEdit.clear() + qtbot.keyClicks(main_window.ui.HOAEdit, "300") qtbot.keyClicks(main_window.ui.interestRateEdit, "1") qtbot.mouseClick(main_window.ui.calcPushButton, QtCore.Qt.LeftButton) assert main_window.ui.homeAffordabilityLabelNumber.text() == "$310908" @@ -133,19 +154,25 @@ def test_calculate_house(main_window, qtbot): def test_reset(main_window, qtbot): + # test entering values main_window.ui.monthlyPaymentEdit.clear() qtbot.keyClicks(main_window.ui.monthlyPaymentEdit, "12345") main_window.ui.dpEdit.clear() qtbot.keyClicks(main_window.ui.dpEdit, "12345") main_window.ui.interestRateEdit.clear() qtbot.keyClicks(main_window.ui.interestRateEdit, "12345") + main_window.ui.HOAEdit.clear() + qtbot.keyClicks(main_window.ui.HOAEdit, "300") qtbot.mouseClick(main_window.ui.termComboBox, QtCore.Qt.LeftButton) qtbot.keyClicks(main_window.ui.termComboBox, "15") + # reset qtbot.mouseClick(main_window.ui.resetPushButton, QtCore.Qt.LeftButton) + # validate cleared assert main_window.ui.monthlyPaymentEdit.text() == "0" assert main_window.ui.dpEdit.text() == "0" assert main_window.ui.interestRateEdit.text() == "0" assert main_window.ui.termComboBox.currentText() == "30" + assert main_window.ui.HOAEdit.text() == "0" assert main_window.ui.homeAffordabilityLabelNumber.text() == "$0" assert main_window.ui.totalCostLabelNumber.text() == "$0" assert main_window.ui.principalLabelNumber.text() == "$0" diff --git a/home-choice-pro/views/main_window.py b/home-choice-pro/views/main_window.py index e97e8fe..97719fe 100644 --- a/home-choice-pro/views/main_window.py +++ b/home-choice-pro/views/main_window.py @@ -45,6 +45,7 @@ def __init__(self): self.ui.monthlyPaymentEdit, self.ui.dpEdit, self.ui.interestRateEdit, + self.ui.HOAEdit, ] self.ui.calcPushButton.clicked.connect(self.calculate_house) @@ -61,6 +62,7 @@ def calculate_house(self): self.ui.dpEdit.text(), self.ui.interestRateEdit.text(), self.ui.termComboBox.currentText(), + self.ui.HOAEdit.text(), ) self.load_calculations(calc) self.display_results() diff --git a/home-choice-pro/views/main_window_ui.py b/home-choice-pro/views/main_window_ui.py index f9bca5d..ec1826b 100644 --- a/home-choice-pro/views/main_window_ui.py +++ b/home-choice-pro/views/main_window_ui.py @@ -214,7 +214,7 @@ def setupUi(self, MainWindow): self.calcScrollArea.setObjectName("calcScrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setEnabled(True) - self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 625, 600)) + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, -151, 625, 600)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -372,18 +372,51 @@ def setupUi(self, MainWindow): self.scrollLayoutV.addLayout(self.loanTermLayout) spacerItem26 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.scrollLayoutV.addItem(spacerItem26) + self.HOALayout = QtWidgets.QHBoxLayout() + self.HOALayout.setObjectName("HOALayout") + spacerItem27 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.HOALayout.addItem(spacerItem27) + self.HOALabel = QtWidgets.QLabel(self.layoutWidget1) + self.HOALabel.setMinimumSize(QtCore.QSize(200, 0)) + self.HOALabel.setStyleSheet("") + self.HOALabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.HOALabel.setObjectName("HOALabel") + self.HOALayout.addWidget(self.HOALabel) + spacerItem28 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.HOALayout.addItem(spacerItem28) + self.HOAEdit = QtWidgets.QLineEdit(self.layoutWidget1) + self.HOAEdit.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.HOAEdit.sizePolicy().hasHeightForWidth()) + self.HOAEdit.setSizePolicy(sizePolicy) + self.HOAEdit.setMinimumSize(QtCore.QSize(150, 0)) + self.HOAEdit.setMaximumSize(QtCore.QSize(150, 16777215)) + self.HOAEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.HOAEdit.setObjectName("HOAEdit") + self.HOALayout.addWidget(self.HOAEdit) + self.dollarMOLabel = QtWidgets.QLabel(self.layoutWidget1) + self.dollarMOLabel.setStyleSheet("") + self.dollarMOLabel.setObjectName("dollarMOLabel") + self.HOALayout.addWidget(self.dollarMOLabel) + spacerItem29 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.HOALayout.addItem(spacerItem29) + self.scrollLayoutV.addLayout(self.HOALayout) + spacerItem30 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.scrollLayoutV.addItem(spacerItem30) self.propertyTaxLayout = QtWidgets.QHBoxLayout() self.propertyTaxLayout.setObjectName("propertyTaxLayout") - spacerItem27 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.propertyTaxLayout.addItem(spacerItem27) + spacerItem31 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.propertyTaxLayout.addItem(spacerItem31) self.propertyTaxLabel = QtWidgets.QLabel(self.layoutWidget1) self.propertyTaxLabel.setMinimumSize(QtCore.QSize(200, 0)) self.propertyTaxLabel.setStyleSheet("") self.propertyTaxLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.propertyTaxLabel.setObjectName("propertyTaxLabel") self.propertyTaxLayout.addWidget(self.propertyTaxLabel) - spacerItem28 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.propertyTaxLayout.addItem(spacerItem28) + spacerItem32 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.propertyTaxLayout.addItem(spacerItem32) self.propertyTaxEdit = QtWidgets.QLineEdit(self.layoutWidget1) self.propertyTaxEdit.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) @@ -400,23 +433,23 @@ def setupUi(self, MainWindow): self.propertyTaxDollarLabel.setStyleSheet("") self.propertyTaxDollarLabel.setObjectName("propertyTaxDollarLabel") self.propertyTaxLayout.addWidget(self.propertyTaxDollarLabel) - spacerItem29 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.propertyTaxLayout.addItem(spacerItem29) + spacerItem33 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.propertyTaxLayout.addItem(spacerItem33) self.scrollLayoutV.addLayout(self.propertyTaxLayout) - spacerItem30 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.scrollLayoutV.addItem(spacerItem30) + spacerItem34 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.scrollLayoutV.addItem(spacerItem34) self.PMILayout = QtWidgets.QHBoxLayout() self.PMILayout.setObjectName("PMILayout") - spacerItem31 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.PMILayout.addItem(spacerItem31) + spacerItem35 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.PMILayout.addItem(spacerItem35) self.PMILabel = QtWidgets.QLabel(self.layoutWidget1) self.PMILabel.setMinimumSize(QtCore.QSize(200, 0)) self.PMILabel.setStyleSheet("") self.PMILabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.PMILabel.setObjectName("PMILabel") self.PMILayout.addWidget(self.PMILabel, 0, QtCore.Qt.AlignRight) - spacerItem32 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.PMILayout.addItem(spacerItem32) + spacerItem36 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.PMILayout.addItem(spacerItem36) self.PMIEdit = QtWidgets.QLineEdit(self.layoutWidget1) self.PMIEdit.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) @@ -433,23 +466,23 @@ def setupUi(self, MainWindow): self.PMIPercentLabel.setStyleSheet("") self.PMIPercentLabel.setObjectName("PMIPercentLabel") self.PMILayout.addWidget(self.PMIPercentLabel) - spacerItem33 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.PMILayout.addItem(spacerItem33) + spacerItem37 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.PMILayout.addItem(spacerItem37) self.scrollLayoutV.addLayout(self.PMILayout) - spacerItem34 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.scrollLayoutV.addItem(spacerItem34) + spacerItem38 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.scrollLayoutV.addItem(spacerItem38) self.insuranceLayout = QtWidgets.QHBoxLayout() self.insuranceLayout.setObjectName("insuranceLayout") - spacerItem35 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.insuranceLayout.addItem(spacerItem35) + spacerItem39 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.insuranceLayout.addItem(spacerItem39) self.insuranceLabel = QtWidgets.QLabel(self.layoutWidget1) self.insuranceLabel.setMinimumSize(QtCore.QSize(200, 0)) self.insuranceLabel.setStyleSheet("") self.insuranceLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.insuranceLabel.setObjectName("insuranceLabel") self.insuranceLayout.addWidget(self.insuranceLabel) - spacerItem36 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.insuranceLayout.addItem(spacerItem36) + spacerItem40 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) + self.insuranceLayout.addItem(spacerItem40) self.insuranceEdit = QtWidgets.QLineEdit(self.layoutWidget1) self.insuranceEdit.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) @@ -466,42 +499,9 @@ def setupUi(self, MainWindow): self.insDollarYearLabel.setStyleSheet("") self.insDollarYearLabel.setObjectName("insDollarYearLabel") self.insuranceLayout.addWidget(self.insDollarYearLabel) - spacerItem37 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.insuranceLayout.addItem(spacerItem37) - self.scrollLayoutV.addLayout(self.insuranceLayout) - spacerItem38 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.scrollLayoutV.addItem(spacerItem38) - self.HOALayout = QtWidgets.QHBoxLayout() - self.HOALayout.setObjectName("HOALayout") - spacerItem39 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.HOALayout.addItem(spacerItem39) - self.HOALabel = QtWidgets.QLabel(self.layoutWidget1) - self.HOALabel.setMinimumSize(QtCore.QSize(200, 0)) - self.HOALabel.setStyleSheet("") - self.HOALabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.HOALabel.setObjectName("HOALabel") - self.HOALayout.addWidget(self.HOALabel) - spacerItem40 = QtWidgets.QSpacerItem(100, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) - self.HOALayout.addItem(spacerItem40) - self.HOAEdit = QtWidgets.QLineEdit(self.layoutWidget1) - self.HOAEdit.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.HOAEdit.sizePolicy().hasHeightForWidth()) - self.HOAEdit.setSizePolicy(sizePolicy) - self.HOAEdit.setMinimumSize(QtCore.QSize(150, 0)) - self.HOAEdit.setMaximumSize(QtCore.QSize(150, 16777215)) - self.HOAEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) - self.HOAEdit.setObjectName("HOAEdit") - self.HOALayout.addWidget(self.HOAEdit) - self.dollarMOLabel = QtWidgets.QLabel(self.layoutWidget1) - self.dollarMOLabel.setStyleSheet("") - self.dollarMOLabel.setObjectName("dollarMOLabel") - self.HOALayout.addWidget(self.dollarMOLabel) spacerItem41 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) - self.HOALayout.addItem(spacerItem41) - self.scrollLayoutV.addLayout(self.HOALayout) + self.insuranceLayout.addItem(spacerItem41) + self.scrollLayoutV.addLayout(self.insuranceLayout) spacerItem42 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.scrollLayoutV.addItem(spacerItem42) self.sepButtonsLine = QtWidgets.QFrame(self.layoutWidget1) @@ -565,10 +565,10 @@ def setupUi(self, MainWindow): self.downPaymentLabel.setBuddy(self.dpEdit) self.interestRateLabel.setBuddy(self.interestRateEdit) self.loanTermLabel.setBuddy(self.termComboBox) + self.HOALabel.setBuddy(self.HOAEdit) self.propertyTaxLabel.setBuddy(self.propertyTaxEdit) self.PMILabel.setBuddy(self.PMIEdit) self.insuranceLabel.setBuddy(self.insuranceEdit) - self.HOALabel.setBuddy(self.HOAEdit) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) @@ -605,6 +605,9 @@ def retranslateUi(self, MainWindow): self.termComboBox.setItemText(0, _translate("MainWindow", "30")) self.termComboBox.setItemText(1, _translate("MainWindow", "15")) self.ltYearsLabel.setText(_translate("MainWindow", "yrs")) + self.HOALabel.setText(_translate("MainWindow", "HOA")) + self.HOAEdit.setText(_translate("MainWindow", "0")) + self.dollarMOLabel.setText(_translate("MainWindow", "$/mo")) self.propertyTaxLabel.setText(_translate("MainWindow", "Property Tax:")) self.propertyTaxEdit.setText(_translate("MainWindow", "0")) self.propertyTaxDollarLabel.setText(_translate("MainWindow", "$")) @@ -614,9 +617,6 @@ def retranslateUi(self, MainWindow): self.insuranceLabel.setText(_translate("MainWindow", "Insurance:")) self.insuranceEdit.setText(_translate("MainWindow", "0")) self.insDollarYearLabel.setText(_translate("MainWindow", "$/yr")) - self.HOALabel.setText(_translate("MainWindow", "HOA")) - self.HOAEdit.setText(_translate("MainWindow", "0")) - self.dollarMOLabel.setText(_translate("MainWindow", "$/mo")) self.resetPushButton.setText(_translate("MainWindow", "Reset")) self.calcPushButton.setText(_translate("MainWindow", "Calculate")) import resources_rc From 8974d0c7824179c063beef4905db7d46253d0a80 Mon Sep 17 00:00:00 2001 From: Josh Voyles Date: Tue, 18 Jun 2024 14:56:15 -0400 Subject: [PATCH 2/3] Resolved: #96 add colon HOA --- home-choice-pro/resources/main_window.ui | 4 ++-- home-choice-pro/views/main_window_ui.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/home-choice-pro/resources/main_window.ui b/home-choice-pro/resources/main_window.ui index 4ee32c7..2b55a3f 100644 --- a/home-choice-pro/resources/main_window.ui +++ b/home-choice-pro/resources/main_window.ui @@ -578,7 +578,7 @@ QPushButton:hover { 0 - -151 + 0 625 600 @@ -1176,7 +1176,7 @@ QPushButton:hover { - HOA + HOA: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/home-choice-pro/views/main_window_ui.py b/home-choice-pro/views/main_window_ui.py index ec1826b..e7fa051 100644 --- a/home-choice-pro/views/main_window_ui.py +++ b/home-choice-pro/views/main_window_ui.py @@ -214,7 +214,7 @@ def setupUi(self, MainWindow): self.calcScrollArea.setObjectName("calcScrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setEnabled(True) - self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, -151, 625, 600)) + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 625, 600)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -605,7 +605,7 @@ def retranslateUi(self, MainWindow): self.termComboBox.setItemText(0, _translate("MainWindow", "30")) self.termComboBox.setItemText(1, _translate("MainWindow", "15")) self.ltYearsLabel.setText(_translate("MainWindow", "yrs")) - self.HOALabel.setText(_translate("MainWindow", "HOA")) + self.HOALabel.setText(_translate("MainWindow", "HOA:")) self.HOAEdit.setText(_translate("MainWindow", "0")) self.dollarMOLabel.setText(_translate("MainWindow", "$/mo")) self.propertyTaxLabel.setText(_translate("MainWindow", "Property Tax:")) From c628b3782d8f2acea308b86537d9ead68da09ca9 Mon Sep 17 00:00:00 2001 From: Josh Voyles Date: Tue, 18 Jun 2024 15:03:23 -0400 Subject: [PATCH 3/3] Clarify budget and HOA blocks --- home-choice-pro/resources/main_window.ui | 4 ++-- home-choice-pro/views/main_window_ui.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/home-choice-pro/resources/main_window.ui b/home-choice-pro/resources/main_window.ui index 2b55a3f..543755e 100644 --- a/home-choice-pro/resources/main_window.ui +++ b/home-choice-pro/resources/main_window.ui @@ -669,7 +669,7 @@ QPushButton:hover { - Monthly Payment: + Monthly Budget: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -1176,7 +1176,7 @@ QPushButton:hover { - HOA: + Expected HOA: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/home-choice-pro/views/main_window_ui.py b/home-choice-pro/views/main_window_ui.py index e7fa051..dd087fd 100644 --- a/home-choice-pro/views/main_window_ui.py +++ b/home-choice-pro/views/main_window_ui.py @@ -592,7 +592,7 @@ def retranslateUi(self, MainWindow): self.downPaymentHeaderLabel.setText(_translate("MainWindow", "-")) self.interestLabel.setText(_translate("MainWindow", "Interest")) self.interestLabelNumber.setText(_translate("MainWindow", "$0")) - self.monthlyPaymentLabel.setText(_translate("MainWindow", "Monthly Payment:")) + self.monthlyPaymentLabel.setText(_translate("MainWindow", "Monthly Budget:")) self.monthlyPaymentEdit.setText(_translate("MainWindow", "0")) self.dollarSignLabel.setText(_translate("MainWindow", "$")) self.downPaymentLabel.setText(_translate("MainWindow", "Down Payment:")) @@ -605,7 +605,7 @@ def retranslateUi(self, MainWindow): self.termComboBox.setItemText(0, _translate("MainWindow", "30")) self.termComboBox.setItemText(1, _translate("MainWindow", "15")) self.ltYearsLabel.setText(_translate("MainWindow", "yrs")) - self.HOALabel.setText(_translate("MainWindow", "HOA:")) + self.HOALabel.setText(_translate("MainWindow", "Expected HOA:")) self.HOAEdit.setText(_translate("MainWindow", "0")) self.dollarMOLabel.setText(_translate("MainWindow", "$/mo")) self.propertyTaxLabel.setText(_translate("MainWindow", "Property Tax:"))