URI: 
       tupdate for gtk gui. fixes #673 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 42a5454bd80d57ee72182da0ade06dfe0eea0c32
   DIR parent bb88c891dca13fdef9a3d3eb04d188aebb563709
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Wed, 30 Apr 2014 09:31:20 +0200
       
       update for gtk gui. fixes #673
       
       Diffstat:
         M gui/gtk.py                          |      46 ++++++++++++++-----------------
       
       1 file changed, 20 insertions(+), 26 deletions(-)
       ---
   DIR diff --git a/gui/gtk.py b/gui/gtk.py
       t@@ -62,20 +62,16 @@ def numbify(entry, is_int = False):
        
        
        
       -def show_seed_dialog(wallet, password, parent):
       -    if not wallet.seed:
       +def show_seed_dialog(seed, parent):
       +    if not seed:
                show_message("No seed")
                return
       -    try:
       -        mnemonic = wallet.get_mnemonic(password)
       -    except Exception:
       -        show_message("Incorrect password")
       -        return
       +
            dialog = Gtk.MessageDialog(
                parent = parent,
                flags = Gtk.DialogFlags.MODAL, 
                buttons = Gtk.ButtonsType.OK, 
       -        message_format = "Your wallet generation seed is:\n\n" + '"' + mnemonic + '"'\
       +        message_format = "Your wallet generation seed is:\n\n" + '"' + seed + '"'\
                    + "\n\nPlease keep it in a safe place; if you lose it, you will not be able to restore your wallet.\n\n" )
            dialog.set_title("Seed")
            dialog.show()
       t@@ -87,7 +83,7 @@ def restore_create_dialog():
            # ask if the user wants to create a new wallet, or recover from a seed. 
            # if he wants to recover, and nothing is found, do not create wallet
            dialog = Gtk.Dialog("electrum", parent=None, 
       -                        flags=Gtk.DialogFlags.MODAL|Gtk.DialogFlags.NO_SEPARATOR, 
       +                        flags=Gtk.DialogFlags.MODAL,
                                buttons= ("create", 0, "restore",1, "cancel",2)  )
        
            label = Gtk.Label("Wallet file not found.\nDo you want to create a new wallet,\n or to restore an existing one?"  )
       t@@ -135,16 +131,11 @@ def run_recovery_dialog():
            if r==Gtk.ResponseType.CANCEL:
                return False
        
       -    try:
       -        seed.decode('hex')
       -    except Exception:
       -        print_error("Warning: Not hex, trying decode")
       -        seed = mnemonic.mn_decode( seed.split(' ') )
       -    if not seed:
       -        show_message("no seed")
       -        return False
       -        
       -    return seed
       +    if Wallet.is_seed(seed):
       +        return seed
       +
       +    show_message("no seed")
       +    return False
        
        
        
       t@@ -515,7 +506,8 @@ class ElectrumWindow:
                            password = password_dialog(self.window)
                            if not password: return
                        else: password = None
       -                show_seed_dialog(wallet, password, self.window)
       +                seed = wallet.get_mnemonic(password)
       +                show_seed_dialog(seed, self.window)
                    button = Gtk.Button('S')
                    button.connect("clicked", seedb, self.wallet )
                    button.set_relief(Gtk.ReliefStyle.NONE)
       t@@ -1316,21 +1308,23 @@ class ElectrumGui():
                        wallet.gap_limit = gap
                        wallet.storage.put('gap_limit', gap, True)
        
       -
                    if action == 'create':
       -                wallet.init_seed(None)
       -                show_seed_dialog(wallet, None, None)
       +                seed = wallet.make_seed()
       +                show_seed_dialog(seed, None)
                        r = change_password_dialog(False, None)
                        password = r[2] if r else None
       -                wallet.save_seed(password)
       +                wallet.add_seed(seed, password)
       +                wallet.create_accounts(password)
                        wallet.synchronize()  # generate first addresses offline
        
                    elif action == 'restore':
                        seed = self.seed_dialog()
       -                wallet.init_seed(seed)
       +                if not seed:
       +                    exit()
                        r = change_password_dialog(False, None)
                        password = r[2] if r else None
       -                wallet.save_seed(password)
       +                wallet.add_seed(seed, password)
       +                wallet.create_accounts(password)
                        
                    else:
                        exit()