electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 9b4e490e3cffe07c0f5a5e373b0834c6915baac1
parent c49d5f672cfac968a7a510626007e76778aa2c8b
Author: ThomasV <thomasv@electrum.org>
Date:   Wed, 17 Apr 2019 14:18:36 +0200

leave max_button pressed (fix #5251)

Diffstat:
Melectrum/gui/qt/main_window.py | 20++++++++++----------
Melectrum/gui/qt/paytoedit.py | 4++--
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py @@ -139,7 +139,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.tray = gui_object.tray self.app = gui_object.app self.cleaned_up = False - self.is_max = False self.payment_request = None self.checking_accounts = False self.qr_window = None @@ -1177,6 +1176,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.max_button = EnterButton(_("Max"), self.spend_max) self.max_button.setFixedWidth(140) + self.max_button.setCheckable(True) grid.addWidget(self.max_button, 4, 3) hbox = QHBoxLayout() hbox.addStretch(1) @@ -1204,7 +1204,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.fee_e.setModified(False) self.fee_slider.activate() - self.spend_max() if self.is_max else self.update_fee() + self.spend_max() if self.max_button.isChecked() else self.update_fee() self.fee_slider = FeeSlider(self, self.config, fee_cb) self.fee_slider.setFixedWidth(140) @@ -1298,7 +1298,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.amount_e.textEdited.connect(self.update_fee) def reset_max(text): - self.is_max = False + self.max_button.setChecked(False) enable = not bool(text) and not self.amount_e.isReadOnly() self.max_button.setEnabled(enable) self.amount_e.textEdited.connect(reset_max) @@ -1365,7 +1365,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): def spend_max(self): if run_hook('abort_send', self): return - self.is_max = True + self.max_button.setChecked(True) self.do_update_fee() def update_fee(self): @@ -1383,7 +1383,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): ''' freeze_fee = self.is_send_fee_frozen() freeze_feerate = self.is_send_feerate_frozen() - amount = '!' if self.is_max else self.amount_e.get_amount() + amount = '!' if self.max_button.isChecked() else self.amount_e.get_amount() if amount is None: if not freeze_fee: self.fee_e.setAmount(None) @@ -1391,7 +1391,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.statusBar().showMessage('') else: fee_estimator = self.get_send_fee_estimator() - outputs = self.payto_e.get_outputs(self.is_max) + outputs = self.payto_e.get_outputs(self.max_button.isChecked()) if not outputs: _type, addr = self.get_payto_or_dummy() outputs = [TxOutput(_type, addr, amount)] @@ -1460,7 +1460,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.feerounding_icon.setToolTip(self.feerounding_text) self.feerounding_icon.setVisible(abs(feerounding) >= 1) - if self.is_max: + if self.max_button.isChecked(): amount = tx.output_value() __, x_fee_amount = run_hook('get_tx_extra_fee', self.wallet, tx) or (None, 0) amount_after_all_fees = amount - x_fee_amount @@ -1559,7 +1559,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): if errors: self.show_warning(_("Invalid Lines found:") + "\n\n" + '\n'.join([ _("Line #") + str(x[0]+1) + ": " + x[1] for x in errors])) return - outputs = self.payto_e.get_outputs(self.is_max) + outputs = self.payto_e.get_outputs(self.max_button.isChecked()) if self.payto_e.is_alias and self.payto_e.validated is False: alias = self.payto_e.toPlainText() @@ -1614,7 +1614,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.show_message(str(e)) return - amount = tx.output_value() if self.is_max else sum(map(lambda x:x[2], outputs)) + amount = tx.output_value() if self.max_button.isChecked() else sum(map(lambda x:x[2], outputs)) fee = tx.get_fee() use_rbf = self.config.get('use_rbf', True) @@ -1835,7 +1835,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): def do_clear(self): - self.is_max = False + self.max_button.setChecked(False) self.not_enough_funds = False self.payment_request = None self.payto_e.is_pr = False diff --git a/electrum/gui/qt/paytoedit.py b/electrum/gui/qt/paytoedit.py @@ -152,11 +152,11 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit, PrintError): else: total += output.value - self.win.is_max = is_max + self.win.max_button.setChecked(is_max) self.outputs = outputs self.payto_address = None - if self.win.is_max: + if self.win.max_button.isChecked(): self.win.do_update_fee() else: self.amount_edit.setAmount(total if outputs else None)