Compare commits

..

3 Commits

3 changed files with 134 additions and 14 deletions

View File

@ -63,6 +63,11 @@
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -80,7 +85,7 @@
<item row="2" column="3">
<widget class="QCheckBox" name="fund_deal_fee_check">
<property name="enabled">
<bool>false</bool>
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
@ -89,6 +94,11 @@
</item>
<item row="6" column="2">
<widget class="FastEditQDoubleSpinBox" name="share_deal_fee_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -105,6 +115,11 @@
</item>
<item row="8" column="0" colspan="2">
<widget class="QLabel" name="share_deal_reduce_trades_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Share dealing discount # of trades</string>
</property>
@ -115,6 +130,11 @@
</item>
<item row="5" column="0" colspan="2">
<widget class="QLabel" name="share_plat_max_fee_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Share platform monthly fee cap</string>
</property>
@ -122,6 +142,11 @@
</item>
<item row="2" column="2">
<widget class="FastEditQDoubleSpinBox" name="fund_deal_fee_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -138,6 +163,11 @@
</item>
<item row="6" column="0" colspan="2">
<widget class="QLabel" name="share_deal_fee_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Share dealing fee*</string>
</property>
@ -148,6 +178,11 @@
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -174,6 +209,11 @@
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="fund_deal_fee_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Fund dealing fee*</string>
</property>
@ -183,10 +223,21 @@
<widget class="QCheckBox" name="share_plat_max_fee_check"/>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="plat_name_box"/>
<widget class="QLineEdit" name="plat_name_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QLabel" name="share_deal_reduce_amount_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Share dealing discount amount</string>
</property>
@ -194,6 +245,11 @@
</item>
<item row="4" column="0" colspan="2">
<widget class="QLabel" name="share_plat_fee_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Share platform fee*</string>
</property>
@ -201,6 +257,11 @@
</item>
<item row="4" column="2">
<widget class="FastEditQDoubleSpinBox" name="share_plat_fee_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -217,6 +278,11 @@
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="plat_name_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>Platform name</string>
</property>
@ -227,6 +293,11 @@
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -255,6 +326,11 @@
<height>24</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Save</string>
</property>
@ -303,6 +379,11 @@
</property>
<item row="0" column="3">
<widget class="FastEditQDoubleSpinBox" name="first_tier_fee_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -319,6 +400,11 @@
</item>
<item row="0" column="0">
<widget class="QLabel" name="first_tier_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>on the first</string>
</property>
@ -326,6 +412,11 @@
</item>
<item row="0" column="2">
<widget class="QLabel" name="first_tier_fee_lab">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string>the fee is</string>
</property>
@ -333,6 +424,11 @@
</item>
<item row="0" column="1">
<widget class="FastEditQDoubleSpinBox" name="first_tier_box">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
@ -358,6 +454,11 @@
<height>24</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Add row</string>
</property>
@ -371,6 +472,11 @@
<height>24</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Remove row</string>
</property>

View File

@ -66,7 +66,6 @@ class SIPPCompare(QMainWindow):
def init_variables(self):
self.optional_boxes = self.platform_win.get_optional_boxes()
self.fund_plat_fee = self.platform_win.get_fund_plat_fee()
self.fund_deal_fee = self.platform_win.get_fund_deal_fee()
self.share_plat_fee = self.platform_win.get_share_plat_fee()
self.share_deal_fee = self.platform_win.get_share_deal_fee()
@ -77,16 +76,21 @@ class SIPPCompare(QMainWindow):
self.plat_name = None
if self.optional_boxes[1]:
self.fund_deal_fee = self.platform_win.get_fund_deal_fee()
else:
self.fund_deal_fee = None
if self.optional_boxes[2]:
self.share_plat_max_fee = self.platform_win.get_share_plat_max_fee()
else:
self.share_plat_max_fee = None
if self.optional_boxes[2]:
if self.optional_boxes[3]:
self.share_deal_reduce_trades = self.platform_win.get_share_deal_reduce_trades()
else:
self.share_deal_reduce_trades = None
if self.optional_boxes[3]:
if self.optional_boxes[4]:
self.share_deal_reduce_amount = self.platform_win.get_share_deal_reduce_amount()
else:
self.share_deal_reduce_amount = None
@ -101,6 +105,7 @@ class SIPPCompare(QMainWindow):
slider_val: int = self.mix_slider.value()
funds_value = (slider_val / 100) * value_num
fund_trades_num = int(self.fund_trades_combo.currentText())
if self.fund_deal_fee is not None:
self.fund_deal_fees = fund_trades_num * self.fund_deal_fee
for i in range(1, len(self.fund_plat_fee[0])):

View File

@ -1,5 +1,5 @@
from PyQt6.QtCore import QRegularExpression
from PyQt6.QtGui import QRegularExpressionValidator
from PyQt6.QtGui import QRegularExpressionValidator, QFont
from PyQt6.QtWidgets import QWidget, QLabel
from PyQt6 import uic
@ -34,13 +34,13 @@ class PlatformEdit(QWidget):
self.save_but.setEnabled(True)
self.required_fields = [
self.fund_deal_fee_box,
self.share_plat_fee_box,
self.share_deal_fee_box
]
self.optional_fields = [
self.plat_name_box,
self.fund_deal_fee_box,
self.share_plat_max_fee_box,
self.share_deal_reduce_trades_box,
self.share_deal_reduce_amount_box
@ -48,12 +48,14 @@ class PlatformEdit(QWidget):
self.optional_check_boxes = [
self.plat_name_check,
self.fund_deal_fee_check,
self.share_plat_max_fee_check,
self.share_deal_reduce_trades_check,
self.share_deal_reduce_amount_check
]
self.check_boxes_ticked = [
True,
True,
False,
False,
@ -171,22 +173,27 @@ class PlatformEdit(QWidget):
return -1
widgets = []
font = QFont()
font.setPointSize(11)
widgets.append(QLabel(self.gridLayoutWidget_2))
widgets[0].setText(f"between {int(self.first_tier_box.value())} and")
widgets[0].setFont(font)
widgets.append(FastEditQDoubleSpinBox(self.gridLayoutWidget_2))
widgets[1].setPrefix("£")
widgets[1].setMaximum(9999999)
widgets[1].setButtonSymbols(FastEditQDoubleSpinBox.ButtonSymbols.NoButtons)
widgets[1].setFont(font)
widgets.append(QLabel(self.gridLayoutWidget_2))
widgets[2].setText(f"the fee is")
widgets[2].setFont(font)
widgets.append(FastEditQDoubleSpinBox(self.gridLayoutWidget_2))
widgets[3].setSuffix("%")
widgets[3].setMaximum(100)
widgets[3].setButtonSymbols(FastEditQDoubleSpinBox.ButtonSymbols.NoButtons)
widgets[3].setFont(font)
# TODO: why 28.5?
self.gridLayoutWidget_2.setGeometry(11, 314, 611, int(round(28.5 * (self.fund_fee_rows + 1), 0)))
@ -204,7 +211,9 @@ class PlatformEdit(QWidget):
prev_box_row = cur_box_pos[0] - 1
prev_box_item = self.gridLayout_2.itemAtPosition(prev_box_row, cur_box_pos[1]).widget()
cur_label_item = self.gridLayout_2.itemAtPosition(cur_label_pos[0], cur_label_pos[1]).widget()
cur_label_item.setText(f"between {int(prev_box_item.value())} and")
cur_label_item.setText(f"between £{int(prev_box_item.value())} and")
# TODO: Tab order
def remove_row(self):
if not self.fund_fee_rows > 1: