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
Neil Booth
72fdf0cd21
Better error when opening a non-wallet file
...
Also window modality fixes for __init__.py
2015-12-23 13:54:43 +09:00
Neil Booth
1afb644203
Fix call to get_wallet_folder
2015-12-23 13:42:35 +09:00
Neil Booth
21e4a30371
Modality fixes for critical errors
2015-12-23 13:39:20 +09:00
Neil Booth
57d4b27696
Fix a bunch more modality issues for message boxes
2015-12-23 13:21:13 +09:00
Neil Booth
0a3a0f12cc
Make more dialogs window-modal
...
Also remove some unnecessary imports
2015-12-23 12:20:19 +09:00
Neil Booth
0f431b23eb
Make more dialogs window-modal
2015-12-23 11:52:36 +09:00
Neil Booth
4c36987845
Change password QT dialog window modal
2015-12-22 23:09:09 +09:00
Neil Booth
7437746cd2
Network dialog -> window modal
...
Clean up imports
2015-12-22 22:23:51 +09:00
Neil Booth
5c1828e03d
Install wizard -> window-modal, fix missing import
2015-12-22 22:18:59 +09:00
Neil Booth
68da937e89
Address history dialog -> window modal
2015-12-22 22:11:37 +09:00
Neil Booth
d98451f114
Make more dialogs window modal
2015-12-22 22:05:27 +09:00
Neil Booth
6442dd59ad
Make two more dialogs window-modal
2015-12-22 08:02:01 +09:00
Neil Booth
44a436e964
Make line_dialog, text_dialog window modal
...
Move new_wallet and get_wallet_folder from qt/__init__.py
to qt/main_window.py for correct centring and window modality.
2015-12-22 07:55:33 +09:00
Neil Booth
8598f9ef9c
Permit sweep of private keys for watch-only wallet
...
Fixes #1585
Warn user if watching-only.
Introduce new helper class WindowModalDialog and use it in a couple
of places. This is better than process-modal dialogs for our
multi-window daemon setup.
2015-12-21 23:52:48 +09:00
ThomasV
5f0a7db598
kivy: password dialog and wizard fixes
2015-12-20 17:37:07 +01:00
Neil Booth
2226667437
QT: Stop timer cleanly to avoid exceptions on exit
2015-12-20 16:15:33 +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
ee4ccd9b1b
kivy: move wallets dialog
2015-12-18 15:03:38 +01:00
ThomasV
e46b00bb39
move methods related to amount dialog
2015-12-18 13:04:19 +01:00
ThomasV
f7a3b53c3f
kivy: add status dialog
2015-12-18 11:29:56 +01:00
ThomasV
9efaf73336
kivy cleanup
2015-12-18 11:05:10 +01:00
ThomasV
ff163e34d8
kivy: wallets and settings menus
2015-12-18 10:53:50 +01:00
ThomasV
f8f124ad84
kivy: add delay to ActionButtons
2015-12-16 12:40:30 +01:00
ThomasV
b3ef2249b5
add more features to settings dialog
2015-12-16 11:53:37 +01:00
ThomasV
30ace570d3
kivy: choice_dialog and load_wallet_by_name
2015-12-16 08:57:47 +01:00
ThomasV
9d3162b1a1
simplify get_label
2015-12-15 12:52:30 +01:00
ThomasV
2990b1e865
fix: follow up to ba26996367
2015-12-15 12:33:36 +01:00
ThomasV
ba26996367
fix exchange_rate in kivy
2015-12-15 12:29:48 +01:00
ThomasV
3568c325ea
kivy: use Clock to improve button responsiveness
2015-12-14 21:34:25 +01:00
ThomasV
0b1561f447
kivy: fix qr code
2015-12-14 21:32:57 +01:00
ThomasV
b5b3679404
kivy: recreate context menu everytime an item is selected
2015-12-14 15:02:57 +01:00
ThomasV
5e5f3202b1
kivy: move amount dialog
2015-12-14 14:27:39 +01:00
ThomasV
c55a253f6d
kivy: improve layout
2015-12-14 13:37:19 +01:00
ThomasV
8977493a62
kivy: label dialogs
2015-12-14 12:08:11 +01:00
ThomasV
98d4384641
kivy: fix set amount
2015-12-13 17:54:17 +01:00
ThomasV
9b44635e3c
kivy: make tabs one third of screen width and fix tabs scrolling
2015-12-13 17:36:23 +01:00
ThomasV
f7ffdfc2b1
kivy: fix qrcodewidget (only update from gui thread)
2015-12-13 16:21:50 +01:00
ThomasV
a190d1dbe6
kivy: fixes
2015-12-13 15:26:08 +01:00
ThomasV
9caf174d7f
kivy: add status icons, improve requests layout
2015-12-13 10:42:48 +01:00
ThomasV
cd0ab62cae
kivy: various small fixes
2015-12-13 06:41:22 +01:00
ThomasV
eef62112a8
kivy: invoices and requests handlers
2015-12-12 23:23:58 +01:00
ThomasV
6bd37723d3
kivy: add context menus
2015-12-12 16:54:32 +01:00
Neil Booth
e9d0dd578a
Put coin selection combo at bottom
2015-12-12 18:26:58 +09:00
Neil Booth
1524fa29af
Raise dialog width slightly.
2015-12-12 18:20:49 +09:00
Neil Booth
36aaad392d
Fix docstring display.
2015-12-12 18:11:07 +09:00
Neil Booth
34955bd0f5
Show value if available
2015-12-12 17:52:19 +09:00
Neil Booth
f3a7d3f2bf
Show amount of inputs too.
2015-12-12 09:41:31 +09:00
ThomasV
680c9c888a
kivy: add save_request button
2015-12-11 15:48:56 +01:00
ThomasV
c71b8d7328
kivy: reorganize tabs
2015-12-11 15:32:48 +01:00
ThomasV
0cef063ee2
add payment requests to kivy
2015-12-11 15:21:21 +01:00
ThomasV
4195001aed
kivy: fix animate_to_center
2015-12-10 15:26:38 +01:00
ThomasV
1b0e29d385
kivy: add screens for invoices and requests, disable contacts
2015-12-10 11:33:58 +01:00
ThomasV
8e7c5a180f
kivy: handle absence of fiat exchange rate
2015-12-10 11:33:30 +01:00
Neil Booth
75b3ecee49
Add coin chooser to try and minimize loss of privacy.
2015-12-09 22:20:23 +09:00
ThomasV
de964f4033
plugins: on_close method
2015-12-09 09:41:24 +01:00
ThomasV
add9665584
cleanup
2015-12-07 18:41:58 +01:00
ThomasV
346307d249
kivy: tweaks
2015-12-07 16:43:18 +01:00
ThomasV
1c7f3c65e2
kivy: fix settings layout
2015-12-07 15:59:59 +01:00
ThomasV
37e93928ab
kivy: improve settings and password dialogs
2015-12-07 14:33:35 +01:00
ThomasV
0d5114b6c2
kivy: improve amount and password dialogs
2015-12-07 10:40:10 +01:00
ThomasV
3c4801b8de
kivy: layout
2015-12-06 13:34:28 +01:00
ThomasV
b171b8eb4d
kivy: fix
2015-12-06 11:11:57 +01:00
ThomasV
44037ba381
kivy: minor fix
2015-12-06 10:45:57 +01:00
ThomasV
9edd778204
kivy: use switches for plugins
2015-12-06 10:41:44 +01:00
ThomasV
2f13910bf1
kivy: add context button for tx details
2015-12-06 10:29:20 +01:00
ThomasV
9b2885e697
kivy: updates
2015-12-05 18:14:17 +01:00
ThomasV
84b18e0949
qt: save last active window, not last opened window
2015-12-05 16:53:56 +01:00
ThomasV
b6242a453b
kivy: minor fix
2015-12-04 12:57:17 +01:00
ThomasV
011ccc6e54
kivy: sanitize inputs
2015-12-04 12:01:13 +01:00
ThomasV
df02269bcf
kivy: rework send and receive screens
2015-12-04 11:47:46 +01:00
ThomasV
e9ee851bb2
fix: set auto_connect in installwizard
2015-12-03 23:50:50 +01:00
ThomasV
b700340ff9
kivy: use exchange rates in amount dialog
2015-12-03 22:43:43 +01:00
ThomasV
f651742f86
kivy: layout
2015-12-02 19:25:07 +01:00
ThomasV
58acb6c759
whitelist csv
2015-12-02 18:41:59 +01:00
ThomasV
fb641b5bf1
kivy updates
2015-12-02 18:02:11 +01:00
ThomasV
d60be8e19c
kivy: use exclude_dirs instead of blacklist
2015-12-02 16:16:21 +01:00
ThomasV
1126555f14
kivy updates
2015-12-02 15:27:23 +01:00
ThomasV
6ec610c359
kivy updates
2015-12-02 12:11:28 +01:00
ThomasV
95bf92b683
update kivy blacklist
2015-12-01 18:56:39 +01:00
ThomasV
deefd74c37
labels sync for kivy
2015-12-01 17:29:24 +01:00
ThomasV
0215aee047
kivy: plugins layout
2015-12-01 16:54:16 +01:00
ThomasV
20cf074a8f
fix plugin name
2015-12-01 16:51:14 +01:00
ThomasV
409557bca5
fix typo
2015-12-01 13:50:47 +01:00
ThomasV
4682d95a76
merge jsonrpc gui and daemon
2015-11-30 10:09:54 +01:00
Neil Booth
e190024f73
Only pass a fixed fee if it was user-specified.
...
Otherwise we inadvertently fix the fee at the prior calculated one,
which isn't what we want
2015-11-29 23:14:40 +09:00
ThomasV
19533dda15
load wallet in ElectrumWindow constructor
2015-11-24 12:10:43 +01:00
ThomasV
f09d80459d
fix #1564
2015-11-24 11:13:48 +01:00
ThomasV
ba2c737a21
finish separation between plugins and GUIs
2015-11-24 09:36:42 +01:00
ThomasV
2c0489c809
plugins: separate GUIs using child classes
2015-11-23 14:15:25 +01:00
ThomasV
175fdbcac6
Disentangle plugins and window management; use Qt signals
2015-11-23 09:05:34 +01:00
ThomasV
47e5bd653a
add a color pair for qr code
2015-11-15 17:53:02 +01:00
ThomasV
88c238dda7
fix Settings dialog in text gui
2015-11-15 13:29:31 +01:00
Neil Booth
53f6fb9876
Add a GC debugger
...
Add commented-out GC debugging step
2015-11-14 10:47:44 +09:00
Neil Booth
50755d7db3
Use weakref for tabs in QShortCut lambdas
...
Unfortunately we have no way to directly destroy or remove the
lambdas embedded in the QShortcut objects, so this is the
only solution to avoid leaking references. As the QShortcut
objects have the window as parent, they are destroyed with the
window so dangling refs to the destroyed window can't happen.
This and 91349d109e
fix #1549 .
2015-11-14 10:35:29 +09:00
Neil Booth
91349d109e
Add explanatory comment.
2015-11-13 23:42:46 +09:00
Neil Booth
ae4cfc9f0b
Unregister network callbacks from QT gui
...
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
Neil Booth
51ebdc5ce8
Remove another non-existent callback
2015-11-12 15:33:58 +09:00
Neil Booth
afb5013272
Remove non-existent callbacks and handlers
2015-11-12 15:32:24 +09:00
ThomasV
55fafc35c1
fix json_encode with python console
2015-11-09 16:09:57 +01:00
Neil Booth
7b40b63a3d
Refresh all amount edits when units change.
...
Improved version of prior commit.
2015-11-09 20:06:36 +09:00
ThomasV
386319b015
clear send fields if unit setting is changed
2015-11-08 00:00:11 +01:00
ThomasV
798664e299
remove minimum window size
2015-11-06 17:13:11 +01:00
ThomasV
3ae3dbd80c
add qrcode to text gui
2015-11-06 16:31:24 +01:00
Juraj Variny
812399f51d
Fix 'need more than 2 values to unpack' error.
2015-11-04 19:07:50 +01:00
ThomasV
55494e4224
save window geometry in wallet file, since the GUI can open several windows
2015-11-02 15:53:31 +01:00
ThomasV
4a7c7a6616
installwizard: do not start in offline mode when disconnected ( fix #1531 )
2015-11-02 12:58:47 +01:00
ThomasV
2d6c67bd55
kivy window input_mode
2015-11-01 09:32:40 +01:00
ThomasV
3613e4ebf0
kivy: fix formatting in get_max_amount
2015-10-31 15:25:22 +01:00
ThomasV
b8b2840d18
kivy: sign and send in a thread
2015-10-31 15:12:34 +01:00
ThomasV
77d6ee74f9
revert PR #1492 . clear clipboard instead
2015-10-31 11:48:37 +01:00
ThomasV
dae9352c18
add warning against printers to seed dialog
2015-10-31 11:03:49 +01:00
ThomasV
b1ab49a282
Merge pull request #1492 from ctrlcctrlv/uncopyable-seed
...
Make seed uncopyable
2015-10-31 10:59:19 +01:00
ThomasV
6bb6169541
kivy: pass show_max as parameter
2015-10-30 15:48:17 +01:00
ThomasV
c19c314c0f
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-10-30 15:45:23 +01:00
akshayaurora
6e45f42b19
amount dialog: use show_max bool to decide wheather max_button is displayed
2015-10-30 19:41:54 +05:30
ThomasV
728ef1f76c
remove redundant label
2015-10-30 14:44:36 +01:00
ThomasV
7b87a7f707
Merge pull request #1529 from akshayaurora/overflow_action
...
fix overflow_icon and use template for `ActionOvrButton`
2015-10-30 14:38:52 +01:00
akshayaurora
b3b94f1c52
fix overflow_icon and use template for `ActionOvrButton`
2015-10-30 19:05:17 +05:30
ThomasV
d44aa250fa
redo max amount button with smaller footprint
2015-10-30 14:34:15 +01:00
ThomasV
2a3c97813d
wallet.get_max_amount method, used by qt and kivy
2015-10-30 14:10:41 +01:00
ThomasV
525e08af54
kivy: fix amount edit
2015-10-30 13:26:37 +01:00
ThomasV
bb7b0884e3
Various fixes for command line. Make 'payto' command require network ( fixes #1525 )
2015-10-29 11:06:09 +01:00
ThomasV
079cb311ec
call wallet.wait_until_synchronized before commands
2015-10-29 05:01:06 +01:00
ThomasV
b70f8c888a
kivy: better layout for tx window
2015-10-29 04:58:32 +01:00
ThomasV
db0a5f9b31
fix: missing import
2015-10-28 12:10:43 +01:00
ThomasV
5f09ba661a
sanitize inputs in network dialog
2015-10-28 12:07:45 +01:00
ThomasV
052d8b236e
fix #1494
2015-10-28 10:36:44 +01:00
Neil Booth
41820eec29
Get correct domain in address_dialog
...
Fixes #1509
Also clean up imports.
2015-10-28 10:55:04 +09:00
ThomasV
26682491b2
generic restore from command line
2015-10-27 14:33:41 +01:00
Neil Booth
97568bedf5
Default to unused address for privkey sweeps
...
Fixes #1506
- New function wallet.get_unused_addresses
- Have wallet.get_unused_address use it
- Use it for the sweep key dialog
2015-10-26 20:33:35 +09:00
Fredrick Brennan
939ed8fe40
Merge branch 'master' of https://github.com/spesmilo/electrum into uncopyable-seed
2015-10-19 13:29:15 +08:00