Commit Graph

1574 Commits

Author SHA1 Message Date
Neil Booth 45f518e191 Improve Master Public Keys dialog
- Put the radio buttons inside the group box
- Share more code between the have-group-box and not cases
- Use ChoicesLayout
- Don't use cosigner terminology unless it's a Multisig wallet
2016-01-11 12:31:45 +09:00
Neil Booth 384b8cd5f2 Install wizard: simplify create_or_restore
- Use ChoiceLayout to organize the layouts
- Do wallet filtering in wizard.py as it's GUI independent.
- Only pass the descriptions.
2016-01-10 23:00:59 +09:00
ThomasV 85b48191da formatting (unneeded spaces) 2016-01-10 14:22:33 +01:00
Neil Booth 637164d335 Introduce BIP32_RD_Wallet
Represents a BIP_32 wallet with a root derivation.
This permits us to see address derivation for NewWallet types
in the QT Gui.
2016-01-10 20:20:04 +09:00
Neil Booth 81d641a13f Show BIP32 path for BIP32_HD_Wallet classes
from right-click Show Public Keys menu.

Fixes #1598
2016-01-10 14:53:00 +09:00
Neil Booth 9cf0a9720f QT handler improvements
Now we have the top_level_window() function, stop using the window
stack.
2016-01-10 13:24:56 +09:00
Neil Booth 83cc5e2001 Fix top level window issue on Mac
Better, more generic fix superseding prior two patches.
2016-01-10 12:56:12 +09:00
Neil Booth 56bc717da1 Encrypt / decrypt: use top level window
Show errors on top level window, otherwise MacOSX gets stuck.
2016-01-10 12:42:47 +09:00
Neil Booth b97c2857e0 Fixes for message sign and verify
base64 can throw which caused silent verification failures.
Ask for passwords with correct parent window otherwise dialog
not visible on MacOSX.  Similarly for verification messages.
2016-01-10 12:35:29 +09:00
ThomasV 9ad4d63ad1 wizard: small tweaks, fix show_restore 2016-01-09 10:35:10 +01:00
Neil Booth 2377476207 Separate out new QT util ChoicesLayout
For future use elsewhere
2016-01-09 15:38:27 +09:00
Neil Booth 3e8598c245 Move trezor-specific install wizard code to plugin 2016-01-09 15:21:38 +09:00
Kefkius d29fd4d9d1
Use info message box for Pay-To-Many instructions 2016-01-08 05:00:15 -05:00
ThomasV 5915b9b7e1 restore action-driven wizard logic 2016-01-07 00:55:23 +01:00
Neil Booth 6fb7dbd30d Implement passphrase protection toggling.
Along with chicken box.
2016-01-06 23:08:02 +09:00
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 97c443a86d use a wallet-owned dummy_address, to minimize risk of losses. This was removed in 11d135b without explanation 2016-01-06 09:36:13 +01:00
ThomasV f49f538315 Revert "Use a real dummy address"
This reverts commit 9ed987c2da.
2016-01-06 09:26:29 +01: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 9ed987c2da Use a real dummy address
Fixes #1599
2016-01-04 17:54:23 +09:00
ThomasV 6210c61eb6 fix #1597 2016-01-03 17:47:02 +01:00
Neil Booth 0c80ca8457 Get rid of timer_actions hook
Nothing uses it.  In the unlikely event we need it back, we
should call it qt_timer_actions instead as it is QT-only and
runs in the QT GUI thread.
2016-01-03 20:56:13 +09: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 13154d4ce7 Fix import in main_window.py 2016-01-03 11:20:22 +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 f3e6bf0280 Passphrase-related fixes
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
2016-01-03 09:03:07 +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 441b695815 Break out logic into a function 2015-12-31 12:16:32 +09:00
Neil Booth 3df8d11f1a Pass the gui object to the install wizard 2015-12-31 12:09:23 +09:00
Neil Booth bcabfaeccb Move install wizard invocations to one place
Fixes bugs whereby install wizard invoked from the GUI was missing
various things, such as updating recently used list, setting up
timers, etc.
2015-12-31 12:02:16 +09:00
Neil Booth 93d05e8cfe Have close_wallet hook take a wallet. 2015-12-31 10:31:49 +09:00
Neil Booth 1d51335827 Remove need for self.wallet for h/w wallets 2015-12-30 17:03:26 +09:00
Neil Booth e0aab69e67 Better handling of watching only
Avoid unnecessary message at startup.
It can now be dynamic and menus, title bar update properly.
2015-12-28 22:51:50 +09:00
Neil Booth 8f91af28a5 More cleanup of WaitingDialog
Simplify its interface
2015-12-26 11:18:32 +09:00
Neil Booth a58c19d7c0 Clean up and fix account adding
As per BIP44, 20 addresses are checked for transactions, not just the
first one.
Show the last account only if used or named.
If all accounts are used, prompt for password to create new one.

Fixes #1128
2015-12-25 23:34:04 +09:00
Neil Booth ffd081ac21 Clean up WaitingDialog
Prevent GC so callers don't have to.
2015-12-23 22:10:11 +09:00
Neil Booth 37a49752eb Fix greenaddress modality and centring issues 2015-12-23 20:13:17 +09:00
Neil Booth 0ecf2565ce MessageBoxMixin-related cleanup 2015-12-23 20:05:09 +09:00
Neil Booth 6f4d4b9a1e Modality and centring fixes for QR codes 2015-12-23 18:42:01 +09:00
Neil Booth 9484b6371f More modality fixes and cleanups 2015-12-23 18:31:36 +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