change remove tabs for verify/sign

verify message is in the drop down menus and sign is in the receive tab
drop down for each address
This commit is contained in:
Michael Wozniak 2014-03-02 14:20:21 -05:00
parent e86734fccb
commit b16035c5de
1 changed files with 23 additions and 52 deletions

View File

@ -1721,16 +1721,26 @@ class ElectrumWindow(QMainWindow):
except Exception as e:
self.show_message(str(e))
def sign_message(self,sign, address):
def do_verify(self, address, message, signature):
message = unicode(message.toPlainText())
message = message.encode('utf-8')
if bitcoin.verify_message(address.text(), str(signature.toPlainText()), message):
self.show_message(_("Signature verified"))
else:
self.show_message(_("Error: wrong signature"))
def sign_message(self, sign, address):
if sign and not address: return
d = QDialog(self)
d.setModal(1)
d.setWindowTitle(_('Sign Message'))
if sign:
d.setWindowTitle(_('Sign Message'))
elif not sign:
d.setWindowTitle(_('Verify Message'))
d.setMinimumSize(410, 290)
tab_widget = QTabWidget()
tab = QWidget()
layout = QGridLayout(tab)
layout = QGridLayout(d)
sign_address = QLineEdit()
@ -1748,62 +1758,23 @@ class ElectrumWindow(QMainWindow):
layout.addWidget(sign_signature, 3, 1)
layout.setRowStretch(3,1)
hbox = QHBoxLayout()
b = QPushButton(_("Sign"))
if sign:
b = QPushButton(_("Sign"))
elif not sign:
b = QPushButton(_("Verify"))
hbox.addWidget(b)
b.clicked.connect(lambda: self.do_sign(sign_address, sign_message, sign_signature))
if sign:
b.clicked.connect(lambda: self.do_sign(sign_address, sign_message, sign_signature))
elif not sign:
b.clicked.connect(lambda: self.do_verify(sign_address, sign_message, sign_signature))
b = QPushButton(_("Close"))
b.clicked.connect(d.accept)
hbox.addWidget(b)
layout.addLayout(hbox, 4, 1)
tab_widget.addTab(tab, _("Sign"))
tab = QWidget()
layout = QGridLayout(tab)
verify_address = QLineEdit()
layout.addWidget(QLabel(_('Address')), 1, 0)
layout.addWidget(verify_address, 1, 1)
verify_message = QTextEdit()
layout.addWidget(QLabel(_('Message')), 2, 0)
layout.addWidget(verify_message, 2, 1)
layout.setRowStretch(2,3)
verify_signature = QTextEdit()
layout.addWidget(QLabel(_('Signature')), 3, 0)
layout.addWidget(verify_signature, 3, 1)
layout.setRowStretch(3,1)
def do_verify():
message = unicode(verify_message.toPlainText())
message = message.encode('utf-8')
if bitcoin.verify_message(verify_address.text(), str(verify_signature.toPlainText()), message):
self.show_message(_("Signature verified"))
else:
self.show_message(_("Error: wrong signature"))
hbox = QHBoxLayout()
b = QPushButton(_("Verify"))
b.clicked.connect(do_verify)
hbox.addWidget(b)
b = QPushButton(_("Close"))
b.clicked.connect(d.accept)
hbox.addWidget(b)
layout.addLayout(hbox, 4, 1)
tab_widget.addTab(tab, _("Verify"))
if not sign:
tab_widget.setCurrentIndex(1)
vbox = QVBoxLayout()
vbox.addWidget(tab_widget)
d.setLayout(vbox)
d.exec_()
def question(self, msg):
return QMessageBox.question(self, _('Message'), msg, QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes