Commit Graph

1661 Commits

Author SHA1 Message Date
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
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 f8e51e3323 remove themes, check python3 in setup.py 2015-10-18 12:43:20 +02:00
Fredrick Brennan 88ca99c624 Fix context menu when paranoid=False 2015-10-18 16:00:28 +08:00
Fredrick Brennan b14b5d3dd4 Make seed uncopyable
Other wallets, such as Mycelium, do not allow the user to simply copy
and paste the seed. This is very useful to assure users follow
directions on the next screen, because previously it was easily possible
to just copy the seed and paste it on the next screen. The user's wallet
would work well for a while like this, but without having the seed
written down it's more of a ticking time bomb than a wallet.

I recommend pulling this patch as I have read many cases where users do
not write the seed down, and I believe that the main cause is lack of
friction forcing them to do so.

This patch was inspired by reading this Reddit conversation:

https://www.reddit.com/r/Bitcoin/comments/3p4bq1/electrum_v25/cw380kg

But I'm not a participant in that convo.
2015-10-18 15:42:11 +08:00
ThomasV de92f1c98f fix #1488: add formerly deleted method 2015-10-17 20:53:33 +02:00
ThomasV 7a060e86b2 minor fix FX plugin 2015-10-17 12:46:05 +02:00
ThomasV da79f02fc3 rm version_getter 2015-10-17 12:10:28 +02:00
ThomasV 302ce7c15b simplify exchange_rate hooks 2015-10-17 06:26:37 +02:00
ThomasV 46249f74d3 remove ununsed classes, use popup to show tx details 2015-10-17 06:11:23 +02:00
ThomasV 6e9c58783e kivy: improve amount dialog 2015-10-16 14:59:26 +02:00
ThomasV 274dc256b5 kivy: show receive address as Label 2015-10-16 12:33:55 +02:00
ThomasV 4eff85957d kivy: fix amount 2015-10-16 12:25:49 +02:00
ThomasV 3b49b5adca kivy: dim qr code on touch 2015-10-16 11:51:28 +02:00
ThomasV aa83f5fdca add base_unit to amount fields 2015-10-16 11:18:24 +02:00
ThomasV 6bd191966e kivy: add server chooser to network dialog 2015-10-15 11:57:07 +02:00
ThomasV 59948d725c kivy: button that rotates base_unit 2015-10-15 11:35:32 +02:00
ThomasV 069a6455c7 kivy: base_unit setting 2015-10-15 11:18:10 +02:00
ThomasV d70948f74f kivy: gui tweaks 2015-10-14 18:45:26 +02:00
ThomasV d25ee6d576 kivy: gui fixes 2015-10-14 18:03:02 +02:00
ThomasV 0024980e2f kivy: improve send and receive layouts 2015-10-14 16:52:10 +02:00
ThomasV 3f473e6915 kivy: improve send tab 2015-10-14 15:13:47 +02:00
ThomasV c478122cb1 kivy: connect do_clear button, fixes 2015-10-14 14:18:15 +02:00
ThomasV 4a0fceca90 kivy: use custom keyboard in send tab 2015-10-14 13:03:13 +02:00
ThomasV 2f543d2ad8 add amount keyboard 2015-10-14 11:44:01 +02:00
ThomasV 3e8cbdfba2 kivy: improve layouts 2015-10-13 22:44:43 +02:00
ThomasV a199061462 add password_dialog 2015-10-13 19:09:12 +02:00
ThomasV 2e8801fdda kivy buildozer: comment out android.branch 2015-10-13 16:03:25 +02:00
ThomasV 23341e59ec Revert "use `pip install -t` in make_packages to aggregate packages."
This reverts commit 29b66e1279.
2015-10-13 16:01:25 +02:00
ThomasV cb6ebcf7d1 kivy: fix create_restore dialog 2015-10-13 15:58:34 +02:00
ThomasV 778ba23fbe Merge branch 'master' of https://github.com/akshayaurora/electrum into akshayaurora-master
Conflicts:
	gui/kivy/tools/buildozer.spec
2015-10-13 12:24:27 +02:00
ThomasV 7f4f32663b kivy: comment out call to create_quote_text 2015-10-13 12:21:04 +02:00
ThomasV a5e94ef0e8 kivy: use plugins 2015-10-13 12:12:49 +02:00
ThomasV c803a8ecab wallet selector 2015-10-07 13:48:58 +02:00
ThomasV f8ccf3cd37 kivy: fix datetime, cleanup 2015-10-07 13:06:28 +02:00
ThomasV 913e957f4a hide scroll bar in tabbed panel 2015-10-07 12:04:42 +02:00
ThomasV 92e5218d5d kivy: simplify dropdown menu, cleanup 2015-10-07 11:05:50 +02:00
ThomasV 4b8c2e5f87 kivy buildozer: comment out android.branch 2015-10-07 10:14:43 +02:00
ThomasV 03ab2dfefe kivy: initial network dialog 2015-10-07 10:13:40 +02:00
akshayaurora 29b66e1279 use `pip install -t` in make_packages to aggregate packages. 2015-10-07 13:14:07 +05:30
ThomasV e2237de739 kivy: remove loading_image in qrcodewidget (too slow) 2015-10-06 17:42:19 +02:00
ThomasV f0b236b317 kivy: more cleanup, load qr code 2015-10-06 14:30:44 +02:00
ThomasV 28ffe32718 kivy:cleanup 2015-10-06 10:43:37 +02:00
ThomasV 65ecbf990d kivy: split mainscreen.kv into dynamically loaded .kv files 2015-10-06 09:59:29 +02:00
ThomasV 1f6bdbda05 kivy: restore back key, cleanup dead code, add profiler 2015-09-30 17:22:10 +02:00
ThomasV dd679ccb27 bug report guidelines 2015-09-30 10:35:22 +02:00
ThomasV 242ee61ef4 restore previously deleted winpos-qt 2015-09-29 11:08:16 +02:00
Neil Booth 5071d75912 Clean up install wizard a little
Also fixes #1462
2015-09-26 17:19:42 +09:00
Neil Booth cf44e65ba8 Rework resizing of send and receive tabs
Should fix #1458
They now function in essentially the same way.
2015-09-26 12:14:35 +09:00
ThomasV f63bc61ec4 fix #1461 2015-09-25 17:23:54 +02:00
Joel Stanner 82a75f3949 Remove redundant "in"
For example, this avoids displaying "Request expires in [ in about 24 hours]"
2015-09-23 19:59:42 -07:00
Joel Stanner cdbee6f4c9 Expiration value typo bug 2015-09-23 19:56:20 -07:00
fireduck64 978dddad80 Make verbage from requests a little more clear 2015-09-22 12:53:50 -07:00
ThomasV 6cec75150c fix docs link 2015-09-19 18:49:12 +02:00
ThomasV 6117c58a59 update documentation hard link 2015-09-18 13:18:29 +02:00
ThomasV 7f7d73a4a9 helper function without decorator: sign_tx_with_password 2015-09-11 17:38:01 +02:00
ThomasV 483cf2286f format_amount_and_units: general method to display amounts and fiat values. fixes #1078 2015-09-11 16:46:37 +02:00
ThomasV 7c4b749340 single dialog for confirmation and password 2015-09-11 16:22:16 +02:00
Neil Booth c64e8b9885 Only write wallet if necessary 2015-09-10 17:57:50 +09:00
ThomasV 084a352456 kivy: fix wizard; remove multisig creation code 2015-09-10 10:03:22 +02:00
ThomasV 62643cbc18 kivy: comment out reload 2015-09-09 16:13:40 +02:00
ThomasV 745d258439 kivy: remove dead code 2015-09-09 16:02:06 +02:00
ThomasV ec9eccd0dd use packages dir instead of requirements 2015-09-09 13:01:30 +02:00
ThomasV 985d54197a cleanup, and make send_tx work 2015-09-09 12:09:16 +02:00
ThomasV 4d60380325 kivy Makefile: don't move, copy 2015-09-09 12:08:09 +02:00
Neil Booth 886192aba7 Make trustedcoin.py multi-window compatible 2015-09-09 17:27:58 +09:00
Neil Booth 0371a3dc32 Don't refresh whilst editing!
It's long been a pet peeve of mine that whilst editing a label,
something would cause Electrum to refresh the widget, such as
an incoming tx or a new block, and you'd lose your edits.
This changes MyTreeWidget so that, if editing, updates are
deferred until editing finishes.
2015-09-09 09:36:35 +09:00
Neil Booth 544b829f6e Rework MyTreeWidget editing
Gets rid of need for EditableItem class.
New callback on_permit_edit to permit widgets to refuse editing.
Restores popup menu on activating a non-editable column behaviour.
2015-09-09 07:38:54 +09:00
ThomasV c481e61417 don't download aes in Makefile 2015-09-08 16:52:58 +02:00
ThomasV 584cc5d31f use zxing to scan qr codes 2015-09-08 16:19:02 +02:00
ThomasV 533cdde366 right align numerical values in history widget 2015-09-08 12:09:22 +02:00
ThomasV 88077808d9 update kivy's blacklist 2015-09-08 10:52:32 +02:00
ThomasV f3b0d83782 rename 'gui' console variable to 'window' 2015-09-08 09:37:12 +02:00
ThomasV 95e27a0141 add info to kivy Readme 2015-09-07 14:25:28 +02:00
ThomasV 92780aaf24 add pem extension to buildozer.spec 2015-09-07 13:24:37 +02:00
Neil Booth 39615333c0 Attribute more diagnostic messages 2015-09-06 22:04:44 +09:00
Neil Booth 9b50d1e7bc Fix history headers on plugin load / unload 2015-09-06 21:14:36 +09:00
Neil Booth 93b964f11d Two fixes for main_window.py
- initialize r when getting status text
- fix so settings widgets appear and are enabled
  appropriately
2015-09-06 19:38:44 +09:00
Neil Booth 1d35954541 Fix status bar FX balance display 2015-09-06 14:16:54 +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
Neil Booth 9e0e54157e More improvements to exchange_rate plugin
Everything should now update correctly on incoming data from
the exchange server.
2015-09-05 22:47:01 +09:00
ThomasV 24cd18e193 cleanup unneeded array in history widget 2015-09-05 10:09:01 +02:00
ThomasV 1f215ae673 cleanup 2015-09-05 09:35:09 +02:00