1
0

check seed in gui. fixes #622

This commit is contained in:
ThomasV
2014-04-05 10:34:51 +02:00
parent 38a59c0b37
commit c24482c21a
4 changed files with 63 additions and 29 deletions

View File

@@ -134,6 +134,10 @@ class InstallWizard(QDialog):
QMessageBox.warning(None, _('Error'), _('No seed'), _('OK'))
return
if not Wallet.is_seed(seed):
QMessageBox.warning(None, _('Error'), _('Invalid seed'), _('OK'))
return
return seed
@@ -272,7 +276,7 @@ class InstallWizard(QDialog):
elif action == 'restore':
seed = self.seed_dialog()
if not seed:
if not Wallet.is_seed(seed):
return
wallet = Wallet.from_seed(seed, self.storage)
ok, old_password, password = self.password_dialog(wallet)

View File

@@ -1141,6 +1141,7 @@ class ElectrumWindow(QMainWindow):
menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr))
menu.addAction(_("QR code"), lambda: self.show_qrcode("bitcoin:" + addr, _("Address")) )
menu.addAction(_("Edit label"), lambda: self.edit_label(True))
menu.addAction(_("Public keys"), lambda: self.show_public_keys(addr))
if self.wallet.seed:
menu.addAction(_("Private key"), lambda: self.show_private_key(addr))
menu.addAction(_("Sign/verify message"), lambda: self.sign_verify_message(addr))
@@ -1667,6 +1668,30 @@ class ElectrumWindow(QMainWindow):
apply( func, args)
def show_public_keys(self, address):
if not address: return
try:
pubkey_list = self.wallet.get_public_keys(address)
except Exception as e:
traceback.print_exc(file=sys.stdout)
self.show_message(str(e))
return
d = QDialog(self)
d.setMinimumSize(600, 200)
d.setModal(1)
vbox = QVBoxLayout()
vbox.addWidget( QLabel(_("Address") + ': ' + address))
vbox.addWidget( QLabel(_("Public key") + ':'))
keys = QTextEdit()
keys.setReadOnly(True)
keys.setText('\n'.join(pubkey_list))
vbox.addWidget(keys)
#vbox.addWidget( QRCodeWidget('\n'.join(pk_list)) )
vbox.addLayout(close_button(d))
d.setLayout(vbox)
d.exec_()
@protected
def show_private_key(self, address, password):
if not address: return