Qt: disable max button if amount is locked

This commit is contained in:
ThomasV 2016-06-07 11:38:23 +02:00
parent cb9a636616
commit 017afd95dc
2 changed files with 9 additions and 20 deletions

View File

@ -894,9 +894,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
grid.addWidget(amount_label, 4, 0) grid.addWidget(amount_label, 4, 0)
grid.addWidget(self.amount_e, 4, 1) grid.addWidget(self.amount_e, 4, 1)
max_button = EnterButton(_("Max"), self.spend_max) self.max_button = EnterButton(_("Max"), self.spend_max)
hbox = QHBoxLayout() hbox = QHBoxLayout()
hbox.addWidget(max_button) hbox.addWidget(self.max_button)
hbox.addStretch(1) hbox.addStretch(1)
grid.addLayout(hbox, 4, 3) grid.addLayout(hbox, 4, 3)
@ -1303,6 +1303,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
dialog.exec_() dialog.exec_()
return clayout.selected_index() return clayout.selected_index()
def lock_amount(self, b):
self.amount_e.setFrozen(b)
self.max_button.setEnabled(not b)
def prepare_for_payment_request(self): def prepare_for_payment_request(self):
self.tabs.setCurrentIndex(1) self.tabs.setCurrentIndex(1)
self.payto_e.is_pr = True self.payto_e.is_pr = True

View File

@ -60,12 +60,6 @@ class PayToEdit(ScanQRTextEdit):
self.previous_payto = '' self.previous_payto = ''
def lock_amount(self):
self.amount_edit.setFrozen(True)
def unlock_amount(self):
self.amount_edit.setFrozen(False)
def setFrozen(self, b): def setFrozen(self, b):
self.setReadOnly(b) self.setReadOnly(b)
self.setStyleSheet(frozen_style if b else normal_style) self.setStyleSheet(frozen_style if b else normal_style)
@ -133,7 +127,7 @@ class PayToEdit(ScanQRTextEdit):
except: except:
pass pass
if self.payto_address: if self.payto_address:
self.unlock_amount() self.win.lock_amount(False)
return return
for i, line in enumerate(lines): for i, line in enumerate(lines):
@ -148,17 +142,8 @@ class PayToEdit(ScanQRTextEdit):
self.outputs = outputs self.outputs = outputs
self.payto_address = None self.payto_address = None
self.amount_edit.setAmount(total if outputs else None)
if outputs: self.win.lock_amount(total or len(lines)>1)
self.amount_edit.setAmount(total)
else:
self.amount_edit.setText("")
if total or len(lines)>1:
self.lock_amount()
else:
self.unlock_amount()
def get_errors(self): def get_errors(self):
return self.errors return self.errors