password button
This commit is contained in:
parent
54d6df09f7
commit
70e369dcbd
|
@ -61,7 +61,7 @@ def init_wallet(wallet):
|
|||
r = dialog.run()
|
||||
passphrase = p_entry.get_text()
|
||||
dialog.destroy()
|
||||
if r==-6: exit(1)
|
||||
if r==gtk.RESPONSE_CANCEL: exit(1)
|
||||
if len(passphrase) < 20:
|
||||
print len(passphrase)
|
||||
passphrase = None
|
||||
|
@ -88,7 +88,7 @@ def init_wallet(wallet):
|
|||
thread.start_new_thread( recover_thread, ( wallet, dialog, None ) ) # no password
|
||||
r = dialog.run()
|
||||
dialog.destroy()
|
||||
if r==-6: exit(1)
|
||||
if r==gtk.RESPONSE_CANCEL: exit(1)
|
||||
|
||||
def settings_dialog(wallet, is_recover):
|
||||
|
||||
|
@ -96,23 +96,9 @@ def settings_dialog(wallet, is_recover):
|
|||
parent = None,
|
||||
flags = gtk.DIALOG_MODAL,
|
||||
buttons = gtk.BUTTONS_OK_CANCEL,
|
||||
message_format = "Please indicate the server, and the gap limit if you are recovering a lost wallet." if is_recover else '' )
|
||||
message_format = "Please indicate the server, and the gap limit if you are recovering a lost wallet." if is_recover else 'Settings')
|
||||
|
||||
if not is_recover:
|
||||
dialog.get_image().hide()
|
||||
dialog.set_title("settings")
|
||||
|
||||
pw = gtk.HBox()
|
||||
if not is_recover:
|
||||
pw_label = gtk.Label('Encryption: ')
|
||||
pw_label.set_size_request(100,10)
|
||||
pw_label.show()
|
||||
pw.pack_start(pw_label,False, False, 10)
|
||||
pw_button = gtk.Button( ('Yes' if wallet.use_encryption else 'No'))
|
||||
pw_button.connect("clicked", change_password_dialog, wallet)
|
||||
pw_button.show()
|
||||
pw.pack_start(pw_button,False, False, 10)
|
||||
pw.show()
|
||||
dialog.set_default_response(gtk.RESPONSE_OK)
|
||||
|
||||
gap = gtk.HBox()
|
||||
gap_label = gtk.Label('Max. gap:')
|
||||
|
@ -154,7 +140,6 @@ def settings_dialog(wallet, is_recover):
|
|||
fee.show()
|
||||
|
||||
vbox = dialog.vbox
|
||||
vbox.pack_start(pw, False, False, 5)
|
||||
vbox.pack_start(host, False,False, 5)
|
||||
vbox.pack_start(gap, False,False, 5)
|
||||
vbox.pack_start(fee, False, False, 5)
|
||||
|
@ -220,11 +205,11 @@ def password_dialog():
|
|||
dialog.destroy()
|
||||
if result: return pw
|
||||
|
||||
def change_password_dialog(button, wallet):
|
||||
dialog = gtk.MessageDialog( None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
|
||||
gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, 'Change password')
|
||||
def change_password_dialog(button, wallet, icon):
|
||||
dialog = gtk.MessageDialog( None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL,
|
||||
'Your wallet is encrypted' if wallet.use_encryption else 'Your wallet is not encrypted')
|
||||
if wallet.use_encryption:
|
||||
current_pw, current_pw_entry = password_line('Old password:')
|
||||
current_pw, current_pw_entry = password_line('Current password:')
|
||||
dialog.vbox.pack_start(current_pw, False, True, 0)
|
||||
|
||||
password, password_entry = password_line('New password:')
|
||||
|
@ -238,14 +223,14 @@ def change_password_dialog(button, wallet):
|
|||
new_password = password_entry.get_text()
|
||||
new_password2 = password2_entry.get_text()
|
||||
dialog.destroy()
|
||||
if result == 0:
|
||||
if result == gtk.RESPONSE_CANCEL:
|
||||
return
|
||||
|
||||
try:
|
||||
passphrase = wallet.pw_decode( wallet.passphrase, password)
|
||||
private_keys = ast.literal_eval( wallet.pw_decode( wallet.private_keys, password) )
|
||||
except:
|
||||
show_message("sorry")
|
||||
show_message("Incorrect password")
|
||||
return
|
||||
|
||||
if new_password != new_password2:
|
||||
|
@ -256,8 +241,12 @@ def change_password_dialog(button, wallet):
|
|||
wallet.passphrase = wallet.pw_encode( passphrase, new_password)
|
||||
wallet.private_keys = wallet.pw_encode( repr( private_keys ), new_password)
|
||||
wallet.save()
|
||||
if button:
|
||||
button.set_label('Yes' if wallet.use_encryption else 'No')
|
||||
|
||||
if icon:
|
||||
if wallet.use_encryption:
|
||||
icon.set_tooltip_text('wallet is encrypted')
|
||||
else:
|
||||
icon.set_tooltip_text('wallet is unencrypted')
|
||||
|
||||
|
||||
def add_help_button(hbox, message):
|
||||
|
@ -310,21 +299,35 @@ class BitcoinGUI:
|
|||
self.status_image.set_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU)
|
||||
self.status_image.set_alignment(True, 0.5 )
|
||||
self.status_image.show()
|
||||
self.status_bar.pack_end(self.status_image,False,False)
|
||||
self.status_bar.pack_end(self.status_image, False, False)
|
||||
|
||||
settings_icon = gtk.Image()
|
||||
settings_icon.set_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
|
||||
settings_icon.set_alignment(True, False)
|
||||
settings_icon.set_size_request(30,9 )
|
||||
settings_icon.set_alignment(0.5, 0.5)
|
||||
settings_icon.set_size_request(16,16 )
|
||||
settings_icon.show()
|
||||
|
||||
prefs_button = gtk.Button()
|
||||
prefs_button.connect("clicked", run_settings_dialog, self.wallet, False)
|
||||
prefs_button.add(settings_icon)
|
||||
prefs_button.set_tooltip_text("Settings")
|
||||
prefs_button.set_relief(gtk.RELIEF_NONE)
|
||||
prefs_button.show()
|
||||
self.status_bar.pack_end(prefs_button,False,False)
|
||||
|
||||
pw_icon = gtk.Image()
|
||||
pw_icon.set_from_stock(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_MENU)
|
||||
pw_icon.set_alignment(0.5, 0.5)
|
||||
pw_icon.set_size_request(16,16 )
|
||||
pw_icon.show()
|
||||
|
||||
password_button = gtk.Button()
|
||||
password_button.connect("clicked", change_password_dialog, self.wallet, pw_icon)
|
||||
password_button.add(pw_icon)
|
||||
password_button.set_relief(gtk.RELIEF_NONE)
|
||||
password_button.show()
|
||||
self.status_bar.pack_end(password_button,False,False)
|
||||
|
||||
self.window.add(vbox)
|
||||
self.window.show_all()
|
||||
|
||||
|
|
Loading…
Reference in New Issue