Neil Booth
24037be99c
Clean up client caching and handling
9 years ago
ThomasV
858b9c5655
kivy: improve settings dialog
9 years ago
ThomasV
4122c108fc
plugins: enable & disable methods
9 years ago
Neil Booth
1ec3ad59cc
Ledger: get new wallet creation working again
This is enough to get new wallet creation working in the
absence of errors.
9 years ago
Neil Booth
2f1d6b2379
Have Trezor dialog work even if wallet unpaired
Required cleanup of handler logic. Now every client
is constructed with a handler, so there is never a
question of not having one.
9 years ago
Neil Booth
6fb7dbd30d
Implement passphrase protection toggling.
Along with chicken box.
9 years ago
Neil Booth
3d9f321cae
Use a shared device manager
Use a shared device manager across USB devices (not yet taken
advantage of by ledger). This reduces USB scans and abstracts
device management cleanly.
We no longer scan at regular intervals in a background thread.
9 years ago
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
9 years ago
Neil Booth
1d07960290
Remove constructor method of plugins
Clean up wallet class loading.
9 years ago
Neil Booth
c7bd1e9428
Fix plugin dialog logic I broke recently
9 years ago
Neil Booth
d63e754c67
Remove some unused hook infrastructure
9 years ago
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.
9 years ago
Neil Booth
1d51335827
Remove need for self.wallet for h/w wallets
9 years ago
Neil Booth
ed3c0a5469
Remove a name-clashing unnecessary local variable
9 years ago
ThomasV
b7cef8dd58
follow up to 74a9e2296c
9 years ago
ThomasV
de964f4033
plugins: on_close method
9 years ago
ThomasV
74a9e2296c
separate Network and Plugins
9 years ago
ThomasV
deefd74c37
labels sync for kivy
9 years ago
ThomasV
ba2c737a21
finish separation between plugins and GUIs
9 years ago
ThomasV
2c0489c809
plugins: separate GUIs using child classes
9 years ago
ThomasV
175fdbcac6
Disentangle plugins and window management; use Qt signals
9 years ago
Neil Booth
3211d752c7
Need to set p.wallet unfortunately
Fixes #1553
9 years ago
Neil Booth
e9384f15ed
Plugins manage their own wallet tracking
9 years ago
Neil Booth
93b99ebded
Handy new class PrintError
Saves adding "def print_error" to endless classes.
9 years ago
Neil Booth
f9047c6df0
Fix for dynamic loading and unloading of plugins
Need to add and remove thread jobs
9 years ago
Neil Booth
b5f986ee56
Torwards sane signalling for exchange_rate plugin
9 years ago
Neil Booth
1171a25815
Genericize plugin handling of thread jobs
Move it to the Plugins class so all plugins get it for
free.
9 years ago
Neil Booth
835bc4e4aa
More cleanup now self.window is gone
No need for self.main_window in gui object.
No need for hooks "init_qt" and "close_main_window".
9 years ago
Neil Booth
2aa21ece79
Fix cosigner_pool plugin for multiple windows
9 years ago
Neil Booth
77a029082a
Improved new_window handling.
Remove new_window hook.
Plugin informed of all windows via events when first loaded.
init_qt no longer needed for exchange_rate plugin.
9 years ago
Neil Booth
8ce2a95695
Have plugins object track the window set
No need for self.gui nor init_qt hook any more. This makes
plugins more independent of window and gui types.
9 years ago
Neil Booth
ec3b7ba5ee
Pass plugins object to plugin constructor
9 years ago
ThomasV
4cfb6e1d76
add missing parameter
9 years ago
Neil Booth
49797c3094
Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
9 years ago
ThomasV
9d76bf6828
temporary fix wallet constructors
9 years ago
Neil Booth
7a55d02654
Fix 992c70a688
This works for ordinary wallets at least; cannot test hardware.
But after staring for ages I think it's right.
9 years ago
ThomasV
992c70a688
detect available hardware wallets before listing them in wizard
10 years ago
ThomasV
c3991091de
move init_qt hook
10 years ago
ThomasV
060e3aa23e
plugins: call load_wallet in install wizard
10 years ago
ThomasV
f70a996619
fix trezor initialiation hook (pass window in load_wallet)
10 years ago
ThomasV
778297697a
lazy plugin constructor
10 years ago
ThomasV
48ad7c36a8
show plugin dependencies
10 years ago
ThomasV
d40c12c949
check gui when loading plugins
10 years ago
ThomasV
8f98ea4aca
make plugins available without the GUI
10 years ago
ThomasV
21b2fcbe85
always_hook. fix trezor handler. fixes #1146
10 years ago
ThomasV
c9d874ce38
openalias: more error message
10 years ago
ThomasV
2f1c597e8f
print_error method for plugins
10 years ago
ThomasV
f302c90649
set self.wallet to None in plugin constructor
10 years ago
ThomasV
271a27fc83
fix installwizard_restore
10 years ago
ThomasV
395312e70f
fix: add wallet types only if available
10 years ago