Commit Graph

230 Commits

Author SHA1 Message Date
Neil Booth db1aa13015 Permit empty passphrases when creating HW wallet
They used to be confused as a user cancel.
Fixes #1788
Also fix Cancel pressed in passphrase dialog when *restoring*
a hardware wallet in install wizard; it used to be taken as an
empty passphrase.  Like the password dialog it now cancels the
wizard.
2016-05-07 10:40:12 +09:00
ThomasV 8e6e287802 make restore thread a daemon 2016-04-05 10:49:28 +02:00
Neil Booth 16397b1ed7 trezor: more user friendly when cannot connect
Tell the user and ask if they want to try again.  If they
say no, raise a silent exception.  Apply this more friendly
behaviour to the install wizard too (see issue #1668).
2016-02-06 19:51:39 +09:00
Neil Booth 4ea9518aef QT install wizard: catch general exceptions
and show an error before re-raising and exiting.  Improvement on
prior.
2016-02-06 15:13:27 +09:00
Neil Booth 9fa8c4de27 Installwizard: not app-modal on MacOSX
Making a window with no parent window-modal on Mac makes it
application-modal.  This is different to behaviour under X, and
we don't want that.  Use QDialog instead.
2016-01-27 22:10:34 +09:00
Neil Booth 618026f96c Installwizard: tweak hardware wallet handling 2016-01-22 22:16:58 +09:00
Neil Booth 1f75ab89fa Installwizard: handle Escape key 2016-01-22 21:36:10 +09:00
Neil Booth 95a0cbabfd Add a note regarding hardware wallets 2016-01-22 21:07:41 +09:00
Neil Booth 9ab9c73d6d Threaded wallet creation 2016-01-18 07:33:04 +09:00
Neil Booth bda9adc01f Close install wizard when cancelled from menu 2016-01-13 22:50:25 +09:00
Neil Booth 889c4cb7fb Multisig: create and restore work
Override run in derived class to catch UserCancelled again
Restore self.finished() hook.
Fix a typo.
2016-01-13 22:38:32 +09:00
Neil Booth 6178f5a28f Fix some more regressions and trustedcoin plugin 2016-01-13 22:25:40 +09:00
Neil Booth fd66e15d3d Fix some regressions from layout rework. 2016-01-13 21:25:48 +09:00
Neil Booth 9390a97e9e Bring the network dialog into the new framework 2016-01-13 21:11:06 +09:00
Neil Booth 4c9b224d4c Put open_wallet back as class method. 2016-01-13 20:56:44 +09:00
Neil Booth cb8bc4ec73 Bring query_choice into the new framework. 2016-01-13 19:49:58 +09:00
Neil Booth 0219687d41 Some work on multisig. 2016-01-13 19:20:58 +09:00
Neil Booth 576500aa29 Embed generating addresses text 2016-01-12 23:36:25 +09:00
Neil Booth f94d2db9a4 Embed password dialog. 2016-01-12 23:32:13 +09:00
Neil Booth 2ae3543dc4 Start work on persistent install wizard 2016-01-12 22:31:53 +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 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
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 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
ThomasV 1be26dbf06 fix init error from issue #1102 2015-03-23 08:09:08 +01:00
Andy Christianson c72531fa6a added support for restoring multisig wallets from BIP32 private keys 2015-03-19 20:55:03 -04:00
ThomasV 01cfb8f8f1 new Button widgets 2015-03-14 12:28:19 +01:00
ThomasV 2ea25fbb17 clarify the 'restore' message 2015-03-08 09:14:11 +01:00
ThomasV 6ececd500d add show in set_layout 2015-03-08 08:07:30 +01:00
ThomasV 50c6a2fcbd show wallet name in wizard 2015-02-02 18:38:12 +01:00
ThomasV 97c57996b8 cleanup 2015-02-02 15:12:27 +01:00
ThomasV 6050e4d549 fix QRcode widget in multisig wallet wizard 2015-02-02 13:54:03 +01:00
ThomasV 894a09e164 better message: restore or import 2015-01-23 12:39:29 +01:00
ThomasV 84fc4574d6 add password when creating imported wallet 2015-01-23 00:06:17 +01:00
ThomasV 9f9bab6cf0 fix issue #968 2014-12-31 19:21:54 +01:00
ThomasV 34dbeeafc8 fix calls broken by 256a467dd7 2014-11-11 00:09:22 +01:00
Tafelpoot 256a467dd7 QR code fixes
New classes ScanQRTextEdit and ShowQRTextEdit.
Reason: dependencies on zbar availability and issues with the QRTextEdit constructor.
- ScanQRTextEdit needs access to the config (fetch camera). It needs to load
the zbar processor properly before trying to scan. Keeping a reference to
the processor in qrscaner fixes the crashes on windows.
- ShowQRTextEdit should not have access to scan_qr().
- no need to setReadOnly anymore. It is clear from the class name.

Show master pub keys now has a Combobox if multiple accounts are
available.
2014-10-24 15:45:10 +02:00
Tafelpoot d9c5250a6f removed trailing whitespace and fixed indentation in history widget 2014-10-21 19:05:51 +02:00
ThomasV fde5dd577a fix #849 2014-09-19 20:23:24 +02:00
ThomasV 11e7a6644e do not store wallet_type right at the first screen 2014-09-19 14:30:16 +02:00
ThomasV cef75e9e7b new seed_version: remove whitespaces only between CJK characters 2014-09-13 19:31:05 +02:00
ThomasV d8cc54fbed verify_seed: pass function 2014-09-11 10:43:14 +02:00
ThomasV 6361abaf4d extended seed prefix 2014-09-09 11:51:45 +02:00
ThomasV 65fd4f45e3 spelling 2014-09-05 17:25:15 +02:00
ThomasV bc1ae4fe94 filter wallet types 2014-09-05 16:41:51 +02:00
ThomasV 622fb6c08b add wallet categories 2014-09-05 16:28:53 +02:00
ThomasV 34cb1f6620 simplify install wizard 2014-09-05 16:14:40 +02:00
ThomasV 79588eb4da init plugins before gui. register wallet types in plugin constructor 2014-08-31 15:33:20 +02:00