Commit Graph

154 Commits

Author SHA1 Message Date
Neil Booth 9b29c6c2e6 Trezor: all four available device initializations
Trezor and KeepKey devices can now be initialized by:
- device-generated seed
- existing seed
- BIP39 mnemonic
- master private key
2016-01-06 22:18:56 +09:00
ThomasV 62868ab29a Register loaded wallets in daemon, to prevent a wallet from being opened twice.
Simplify the wizard logic.
2016-01-06 00:58:43 +01:00
Neil Booth 1ffc14df76 Force OK button to be default
Until we work out the right way to use the stacked dialogs.
2016-01-03 20:09:05 +09:00
Neil Booth 87363c8301 Trezor: Implement resetting a device 2016-01-03 13:34:03 +09:00
Neil Booth 40ae744c1e Fix show_error inheritance issue 2016-01-03 11:18:20 +09:00
Neil Booth 6e660f562f Change inheritance order in installwizard.py
Also put back set_layout.  This is causing two things:

a) on MacOSX the next / cancel buttons vanish if in one position
b) on all O/Ses the Next button is not the default

We're obviously abusing StackedLayout in an unintended way.
2016-01-03 10:39:44 +09:00
Neil Booth a7028176cd Trezor: Add wipe device functionality
Also add a chicken box for PIN removal.
2016-01-03 10:26:34 +09:00
Neil Booth 9aae66a9d2 Move set_layout call
This code is identical to before, but for some reason the positioning
of this affects whether Next is the default action or not!

And it didn't have that effect with the old install wizard.  Odd.
2016-01-03 09:32:41 +09:00
Neil Booth 3422d855c9 A few small fixes 2016-01-02 23:06:53 +09:00
Neil Booth 21bf5a8a84 Better support for USB devices
Benefits of this rewrite include:

- support of disconnecting / reconnecting a device without having
  to close the wallet, even in a different USB socket
- support of multiple keepkey / trezor devices, both during wallet
  creation and general use
- wallet is watching-only dynamically according to whether the
  associated device is currently plugged in or not
2016-01-02 20:39:29 +09:00
Neil Booth 12f62212ba Move wallet_kinds to the base class
This logic isn't gui-dependent so belongs in wizard.py
2016-01-02 00:35:09 +09:00
Neil Booth 11d135b32d Better install wizard
Break out the workflow logic of the install wizard
into a base class.  This means reimplementing with
full support in a new GUI is now easy; you just provide
ways to request passwords, show messages etc.  The API
is fully documented in the base class.

There are a couple of minor outstanding issues, including that
the old messages shown when recovering a wallet are missing.
I will come back to that.  Ledger wallet might be broken.

Other improvements:

The install wizard code is now easy to follow and understand.
Hardware wallets can now be restored without any need for their
accompanying libraries.
Various bits of trustedcoin were broken and have been fixed.
Many plugin hooks can be removed.  I have only started on this.
2016-01-01 16:48:18 +09:00
Neil Booth 3df8d11f1a Pass the gui object to the install wizard 2015-12-31 12:09:23 +09:00
Neil Booth 0ecf2565ce MessageBoxMixin-related cleanup 2015-12-23 20:05:09 +09:00
Neil Booth 37b474716b Window modality fixes + improved password dialog 2015-12-23 17:32:08 +09:00
Neil Booth 62201b37f5 MacOSX fix
If these lines are the other way round, the buttons don't appear
on MacOSX!
2015-12-23 15:23:35 +09:00
Neil Booth 15e9991e2a Move message box logic to a mixin 2015-12-23 15:10:15 +09:00
Neil Booth 5c1828e03d Install wizard -> window-modal, fix missing import 2015-12-22 22:18:59 +09:00
Neil Booth e1c0298fc2 Write the wallet less often
This should speed up synchronization / restoration of large wallets.
Wallets are written only when they switch to up_to_date state, or
when stop_threads() is called when closing the daemon, or when
a command line command finishes.
2015-12-20 15:47:46 +09:00
ThomasV e9ee851bb2 fix: set auto_connect in installwizard 2015-12-03 23:50:50 +01:00
ThomasV 4a7c7a6616 installwizard: do not start in offline mode when disconnected (fix #1531) 2015-11-02 12:58:47 +01:00
ThomasV 77d6ee74f9 revert PR #1492. clear clipboard instead 2015-10-31 11:48:37 +01:00
ThomasV b1ab49a282 Merge pull request #1492 from ctrlcctrlv/uncopyable-seed
Make seed uncopyable
2015-10-31 10:59:19 +01:00
ThomasV 079cb311ec call wallet.wait_until_synchronized before commands 2015-10-29 05:01:06 +01:00
ThomasV 052d8b236e fix #1494 2015-10-28 10:36:44 +01:00
ThomasV 26682491b2 generic restore from command line 2015-10-27 14:33:41 +01:00
Fredrick Brennan 7685758360 Make it so uncopyable seed only affects wizard
Previously it also affected the menu item Wallet->Seed, which is not the
expected or desired behavior.
2015-10-19 13:27:15 +08:00
ThomasV de92f1c98f fix #1488: add formerly deleted method 2015-10-17 20:53:33 +02:00
Neil Booth 5071d75912 Clean up install wizard a little
Also fixes #1462
2015-09-26 17:19:42 +09:00
Neil Booth 34ce6d1821 Updates for exchange_rate plugin
Have AmountEdit return an int if is_int, otherwise a Decimal
Set the tray tooltip unconditionally.
More verbose logging for exchage_rate plugin.
Get rate_float from Coindesk as rate can have commas.
Plugin tracks windows itself, and doesn't create its own
members in the window objects.
Clean up the edit handling.
2015-09-06 13:42:40 +09:00
ThomasV 992c70a688 detect available hardware wallets before listing them in wizard 2015-09-02 13:08:06 +02:00
ThomasV bdb4d3ecb8 move methods calling installwizard to main gui class 2015-09-02 12:05:33 +02:00
kizmc 77ebea15d0 Fixed GroupBox layout in installwizard 2015-08-26 18:35:21 +02:00
ThomasV aedfbd3855 start wizard from main_window. fixes #1250 2015-08-22 13:43:10 +02:00
ThomasV 1919d5d63c fix wizard: remove vbox0, improve text 2015-06-28 08:52:16 +02:00
Michael Wozniak 4338944e3a remove unnecessary lines 2015-06-27 18:49:21 -04:00
Michael Wozniak b7ea10609c add seed scroll for multisig wallets 2015-06-27 18:47:25 -04:00
Michael Wozniak 523aa7c380 update restore multisig to add type 2015-06-27 16:12:15 -04:00
ThomasV 56b3c98332 generic m of n multisig 2015-06-27 12:43:29 +02:00
ThomasV 179e98b303 restore: call constructor to load plugin 2015-06-11 09:56:38 +02:00
ThomasV 5ffd26402e separate load_wallet hook for installwizard 2015-06-11 09:36:19 +02:00
ThomasV 060e3aa23e plugins: call load_wallet in install wizard 2015-06-10 12:40:08 +02:00
Neil Booth 39fe24b4d3 Rename auto_cycle to auto_connect in config
User config is updated if appropriate.
Add tests behaviour is as expected.
Just the one rename-it reference to auto_cycle remains.
2015-05-25 16:18:52 +09:00
ThomasV 59a9e4f710 fix new_wallet and seed language 2015-05-10 08:31:31 +02:00
ThomasV 8689807400 add file button to text edits 2015-04-24 09:10:03 +02:00
ThomasV eff977081d add file reader to QRTextEdit, to facilitate key imports 2015-04-24 00:14:21 +02:00
ThomasV 8251c5b6d9 fix #1057 2015-04-20 10:33:32 +02:00
ThomasV 21b2fcbe85 always_hook. fix trezor handler. fixes #1146 2015-04-18 14:59:46 +02:00
ThomasV 8f94039355 call set_layout before adding buttons, so that setDefault works 2015-04-17 13:13:35 +02:00
ThomasV a3422d3fae generic multisig wallet constructor. fixes #1129 2015-04-03 11:27:57 +02:00