@@ -1103,6 +1103,16 @@ def __init__(self):
11031103 self .layout .addWidget (wgt )
11041104 grid .setColumnStretch (0 , 1 )
11051105 row = 0
1106+ grid .addWidget (Q .makeLabel ("Relay Fee" , 14 , Q .ALIGN_LEFT ), row , 0 )
1107+ row += 1
1108+ self .relayFeeField = QtWidgets .QLineEdit (str (app .settings [DB .relayFee ]))
1109+ lbl = Q .makeLabel (" atoms / kb " , 14 )
1110+ wgt , _ = Q .makeRow (self .relayFeeField , lbl )
1111+ grid .addWidget (wgt , row , 0 )
1112+ bttn = app .getButton (SMALL , "change" )
1113+ bttn .clicked .connect (self .relayFeeChangeClicked )
1114+ grid .addWidget (bttn , row , 1 )
1115+ row += 1
11061116 grid .addWidget (Q .makeLabel ("Dcrdata URL" , 14 , Q .ALIGN_LEFT ), row , 0 )
11071117 row += 1
11081118 self .dcrdataField = QtWidgets .QLineEdit (app .settings [DB .dcrdata ].decode ())
@@ -1113,6 +1123,29 @@ def __init__(self):
11131123
11141124 self .layout .addStretch (1 )
11151125
1126+ def relayFeeChangeClicked (self , e = None ):
1127+ """
1128+ Qt slot connected to relay fee change button clicked signal.
1129+ Changes the relay fee.
1130+ """
1131+
1132+ fee = int (self .relayFeeField .text ())
1133+ if fee <= 0 :
1134+ app .appWindow .showError ("fee cannot be less than or equal to zero" )
1135+ self .relayFeeField .setText (str (app .settings [DB .relayFee ]))
1136+ return
1137+
1138+ # In documentation, a high fee is considered to be 1e4 * 1000 / kb.
1139+ highFee = int (1e4 * 1000 )
1140+ if fee > highFee :
1141+ app .appWindow .showError (f"fee cannot be higher than { highFee } " )
1142+ self .relayFeeField .setText (str (app .settings [DB .relayFee ]))
1143+ return
1144+
1145+ app .settings [DB .relayFee ] = fee
1146+ log .info (f"relay fee changed to { fee } " )
1147+ app .appWindow .showSuccess ("fee changed" )
1148+
11161149 def dcrdataChangeClicked (self , e = None ):
11171150 """
11181151 Qt slot connected to dcrdata URL submission button clicked signal.
0 commit comments