Browse Source

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
283
Michael Wozniak 11 years ago
parent
commit
b16035c5de
  1. 69
      gui/qt/main_window.py

69
gui/qt/main_window.py

@ -1721,16 +1721,26 @@ class ElectrumWindow(QMainWindow):
except Exception as e: except Exception as e:
self.show_message(str(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 if sign and not address: return
d = QDialog(self) d = QDialog(self)
d.setModal(1) d.setModal(1)
if sign:
d.setWindowTitle(_('Sign Message')) d.setWindowTitle(_('Sign Message'))
elif not sign:
d.setWindowTitle(_('Verify Message'))
d.setMinimumSize(410, 290) d.setMinimumSize(410, 290)
tab_widget = QTabWidget() layout = QGridLayout(d)
tab = QWidget()
layout = QGridLayout(tab)
sign_address = QLineEdit() sign_address = QLineEdit()
@ -1748,62 +1758,23 @@ class ElectrumWindow(QMainWindow):
layout.addWidget(sign_signature, 3, 1) layout.addWidget(sign_signature, 3, 1)
layout.setRowStretch(3,1) layout.setRowStretch(3,1)
hbox = QHBoxLayout() hbox = QHBoxLayout()
if sign:
b = QPushButton(_("Sign")) b = QPushButton(_("Sign"))
hbox.addWidget(b) elif not sign:
b.clicked.connect(lambda: self.do_sign(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 = QPushButton(_("Verify"))
b.clicked.connect(do_verify)
hbox.addWidget(b) hbox.addWidget(b)
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 = QPushButton(_("Close"))
b.clicked.connect(d.accept) b.clicked.connect(d.accept)
hbox.addWidget(b) hbox.addWidget(b)
layout.addLayout(hbox, 4, 1) 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_() d.exec_()
def question(self, msg): def question(self, msg):
return QMessageBox.question(self, _('Message'), msg, QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes return QMessageBox.question(self, _('Message'), msg, QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes

Loading…
Cancel
Save