set max fee rate in preferences. fixes #2112

This commit is contained in:
ThomasV 2017-03-05 22:18:17 +01:00
parent eb4018de1c
commit 7e28c96243
2 changed files with 21 additions and 5 deletions

View File

@ -12,7 +12,6 @@ class FeeSlider(QSlider):
def __init__(self, window, config, callback):
QSlider.__init__(self, Qt.Horizontal)
self.config = config
self.fee_step = self.config.max_fee_rate() / 10
self.window = window
self.callback = callback
self.dyn = False
@ -49,6 +48,7 @@ class FeeSlider(QSlider):
self.setRange(0, 4)
self.setValue(pos)
else:
self.fee_step = self.config.max_fee_rate() / 10
fee_rate = self.config.fee_per_kb()
pos = min(fee_rate / self.fee_step, 10)
self.setRange(1, 10)

View File

@ -2371,14 +2371,30 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
nz.valueChanged.connect(on_nz)
gui_widgets.append((nz_label, nz))
dynfee_cb = QCheckBox(_('Use dynamic fees'))
dynfee_cb.setChecked(self.config.get('dynamic_fees', True))
dynfee_cb.setToolTip(_("Use fees recommended by the server."))
def on_dynfee(x):
self.config.set_key('dynamic_fees', x == Qt.Checked)
self.fee_slider.update()
dynfee_cb.stateChanged.connect(on_dynfee)
update_maxfee()
dynfee_cb = QCheckBox(_('Use dynamic fees'))
dynfee_cb.setChecked(self.config.is_dynfee())
dynfee_cb.setToolTip(_("Use fees recommended by the server."))
fee_widgets.append((dynfee_cb, None))
dynfee_cb.stateChanged.connect(on_dynfee)
def on_maxfee(x):
m = maxfee_e.get_amount()
if m: self.config.set_key('max_fee_rate', m)
self.fee_slider.update()
def update_maxfee():
d = self.config.is_dynfee()
maxfee_e.setDisabled(d)
maxfee_label.setDisabled(d)
maxfee_label = HelpLabel(_('Max static fee'), _('Max value of the static fee slider'))
maxfee_e = BTCkBEdit(self.get_decimal_point)
maxfee_e.setAmount(self.config.max_fee_rate())
maxfee_e.textChanged.connect(on_maxfee)
update_maxfee()
fee_widgets.append((maxfee_label, maxfee_e))
feebox_cb = QCheckBox(_('Edit fees manually'))
feebox_cb.setChecked(self.config.get('show_fee', False))