Browse Source

simplify fee preferences

283
ThomasV 8 years ago
parent
commit
b2ec525444
  1. 44
      gui/qt/main_window.py

44
gui/qt/main_window.py

@ -2354,8 +2354,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
nz.valueChanged.connect(on_nz) nz.valueChanged.connect(on_nz)
gui_widgets.append((nz_label, nz)) gui_widgets.append((nz_label, nz))
msg = _('Fee per kilobyte of transaction.') dynfee_cb = QCheckBox(_('Use static fees'))
fee_label = HelpLabel(_('Transaction fee per kb') + ':', msg) dynfee_cb.setChecked(not self.config.get('dynamic_fees', True))
dynfee_cb.setToolTip(_("Do not use fees recommended by the server."))
fee_e = BTCkBEdit(self.get_decimal_point) fee_e = BTCkBEdit(self.get_decimal_point)
def on_fee(is_done): def on_fee(is_done):
if self.config.get('dynamic_fees', True): if self.config.get('dynamic_fees', True):
@ -2363,32 +2364,39 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
v = fee_e.get_amount() or 0 v = fee_e.get_amount() or 0
self.config.set_key('fee_per_kb', v, is_done) self.config.set_key('fee_per_kb', v, is_done)
self.update_fee() self.update_fee()
fee_e.editingFinished.connect(lambda: on_fee(True))
fee_e.textEdited.connect(lambda: on_fee(False))
fee_widgets.append((fee_label, fee_e))
dynfee_cb = QCheckBox(_('Use dynamic fees'))
dynfee_cb.setChecked(self.config.get('dynamic_fees', True))
dynfee_cb.setToolTip(_("Use a fee per kB value recommended by the server."))
fee_widgets.append((dynfee_cb, None))
def update_feeperkb(): def update_feeperkb():
fee_e.setAmount(self.config.get('fee_per_kb', bitcoin.RECOMMENDED_FEE)) fee_e.setAmount(self.config.get('fee_per_kb', bitcoin.RECOMMENDED_FEE))
b = self.config.get('dynamic_fees', True) b = self.config.get('dynamic_fees', True)
fee_e.setEnabled(not b) fee_e.setEnabled(not b)
def on_dynfee(x): def on_dynfee(x):
self.config.set_key('dynamic_fees', x == Qt.Checked) self.config.set_key('dynamic_fees', x != Qt.Checked)
update_feeperkb() update_feeperkb()
fee_e.editingFinished.connect(lambda: on_fee(True))
fee_e.textEdited.connect(lambda: on_fee(False))
dynfee_cb.stateChanged.connect(on_dynfee) dynfee_cb.stateChanged.connect(on_dynfee)
update_feeperkb() update_feeperkb()
fee_widgets.append((dynfee_cb, fee_e))
feebox_cb = QCheckBox(_('Edit fees manually')) feebox_cb = QCheckBox(_('Edit fees manually'))
feebox_cb.setChecked(self.config.get('show_fee', False)) feebox_cb.setChecked(self.config.get('show_fee', False))
feebox_cb.setToolTip(_("Show fee edit box in send tab.")) feebox_cb.setToolTip(_("Show fee edit box in send tab."))
fee_widgets.append((feebox_cb, None))
def on_feebox(x): def on_feebox(x):
self.config.set_key('show_fee', x == Qt.Checked) self.config.set_key('show_fee', x == Qt.Checked)
self.fee_e.setVisible(bool(x)) self.fee_e.setVisible(bool(x))
feebox_cb.stateChanged.connect(on_feebox) feebox_cb.stateChanged.connect(on_feebox)
fee_widgets.append((feebox_cb, None))
use_rbf = self.config.get('use_rbf', False)
rbf_cb = QCheckBox(_('Enable Replace-By-Fee'))
rbf_cb.setChecked(use_rbf)
def on_rbf(x):
rbf_result = x == Qt.Checked
self.config.set_key('use_rbf', rbf_result)
self.rbf_checkbox.setVisible(rbf_result)
self.rbf_checkbox.setChecked(False)
rbf_cb.stateChanged.connect(on_rbf)
rbf_cb.setToolTip(_('Enable RBF'))
fee_widgets.append((rbf_cb, None))
msg = _('OpenAlias record, used to receive coins and to sign payment requests.') + '\n\n'\ msg = _('OpenAlias record, used to receive coins and to sign payment requests.') + '\n\n'\
+ _('The following alias providers are available:') + '\n'\ + _('The following alias providers are available:') + '\n'\
@ -2500,18 +2508,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
qr_combo.currentIndexChanged.connect(on_video_device) qr_combo.currentIndexChanged.connect(on_video_device)
gui_widgets.append((qr_label, qr_combo)) gui_widgets.append((qr_label, qr_combo))
use_rbf = self.config.get('use_rbf', False)
rbf_cb = QCheckBox(_('Enable Replace-By-Fee'))
rbf_cb.setChecked(use_rbf)
def on_rbf(x):
rbf_result = x == Qt.Checked
self.config.set_key('use_rbf', rbf_result)
self.rbf_checkbox.setVisible(rbf_result)
self.rbf_checkbox.setChecked(False)
rbf_cb.stateChanged.connect(on_rbf)
rbf_cb.setToolTip(_('Enable RBF'))
fee_widgets.append((rbf_cb, None))
usechange_cb = QCheckBox(_('Use change addresses')) usechange_cb = QCheckBox(_('Use change addresses'))
usechange_cb.setChecked(self.wallet.use_change) usechange_cb.setChecked(self.wallet.use_change)
if not self.config.is_modifiable('use_change'): usechange_cb.setEnabled(False) if not self.config.is_modifiable('use_change'): usechange_cb.setEnabled(False)

Loading…
Cancel
Save