Commit graph

101 commits

Author SHA1 Message Date
ThomasV
8249f5ab67 init_headers in daemon thread, and fix #1996 2016-10-24 14:57:02 +02:00
ThomasV
7ea91dde2e do not expose network to wizard. update message in issue #1972 2016-10-14 14:05:24 +02:00
ThomasV
e9f315ac6d fix #1609 2016-10-10 10:57:12 +02:00
ThomasV
1159f85e05 Major refactoring
- separation between Wallet and key management (Keystore)
 - simplification of wallet classes
 - remove support for multiple accounts in the same wallet
 - add support for OP_RETURN to Trezor plugin
 - split multi-accounts wallets for backward compatibility
2016-08-12 11:02:28 +02:00
ThomasV
e7d25faf02 Finish wizard unification 2016-06-24 23:02:54 +02:00
ThomasV
8680eae86f detect dangling links 2016-05-30 10:53:52 +02:00
ThomasV
80b1b2716c kivy: open last wallet 2016-03-08 11:10:04 +01:00
ThomasV
305843999e Relicensing 2016-02-24 10:20:30 +01:00
Neil Booth
58d5215e2e No need to pass daemon and network together
The daemon has the network
2016-01-29 22:25:59 +09:00
ThomasV
08e5aecee2 Revert "Plugins: remove init_qt hook; clean up"
This reverts commit e20369bf94.
2016-01-28 14:57:59 +01:00
Neil Booth
e20369bf94 Plugins: remove init_qt hook; clean up
Fixes #1644
2016-01-24 20:14:08 +09:00
ThomasV
632905dfbe instantiate wizard only if needed 2016-01-13 11:27:17 +01:00
Neil Booth
f7b39f4952 A different approach to d5aa646
Only clean up the MainWindow once.
2016-01-12 20:19:21 +09:00
Neil Booth
d5aa6466c9 Be careful removing windows from the list
I've occasionally had Python throw saying the window
isn't in the list.
2016-01-11 22:32:19 +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
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
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
0ecf2565ce MessageBoxMixin-related cleanup 2015-12-23 20:05:09 +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
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
2226667437 QT: Stop timer cleanly to avoid exceptions on exit 2015-12-20 16:15:33 +09:00
ThomasV
84b18e0949 qt: save last active window, not last opened window 2015-12-05 16:53:56 +01:00
ThomasV
19533dda15 load wallet in ElectrumWindow constructor 2015-11-24 12:10:43 +01:00
ThomasV
175fdbcac6 Disentangle plugins and window management; use Qt signals 2015-11-23 09:05:34 +01:00
Neil Booth
53f6fb9876 Add a GC debugger
Add commented-out GC debugging step
2015-11-14 10:47:44 +09:00
ThomasV
77d6ee74f9 revert PR #1492. clear clipboard instead 2015-10-31 11:48:37 +01:00
Neil Booth
5071d75912 Clean up install wizard a little
Also fixes #1462
2015-09-26 17:19:42 +09:00
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".
2015-09-04 18:29:52 +09:00
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.
2015-09-04 09:26:35 +09:00
ThomasV
897a5d34ed share contacts and invoices objects between windows 2015-09-03 16:52:40 +02:00
ThomasV
2a889d318b fix: make uri optional in new_window 2015-09-03 11:27:33 +02:00
ThomasV
3cc7c1454b move back URI rewriting to main electrum script 2015-09-03 11:18:35 +02:00
Neil Booth
87cff8e380 Check URI in "electrum" because of ambiguity 2015-09-03 18:07:15 +09:00
Neil Booth
27917af2bf Get URIs working properly for multiple windows 2015-09-03 17:52:41 +09:00
Neil Booth
14cc260092 Remove redundant config argument.
Also don't default path for clarity.
2015-09-03 16:40:48 +09:00
ThomasV
5df03951e5 move window initialization hook inside class 2015-09-03 08:24:05 +02:00
Neil Booth
49797c3094 Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
2015-09-03 12:02:03 +09:00
Neil Booth
f2fb856f1c Exchange rate plugin fixes for multiple windows
This should be enough to keep everything working that was working
before.  The plugin itself needs a lot more work to fix existing
bugs and be sane.
2015-09-02 20:40:55 +09:00
ThomasV
bdb4d3ecb8 move methods calling installwizard to main gui class 2015-09-02 12:05:33 +02:00
ThomasV
0cb8c21130 use wallet path instead of config 2015-09-02 10:06:45 +02:00
Neil Booth
3ac99af7c6 Remove unused variable 2015-09-02 17:00:33 +09:00
ThomasV
93c468504e use the parent config instance when daemon starts a window 2015-09-02 09:55:45 +02:00
Neil Booth
90316d0459 Clean up imports, 2nd attempt 2015-09-02 12:06:11 +09:00
Neil Booth
0fa48b926c Fix system tray icon for multiple wallets
QT doesn't permit dynamic menus for QSystemTrayIcon for some reason
so we need to rebuild it each time the window set changes.
Add a close and hide/show submenu for each wallet.
Double click hides / shows all the wallets.
2015-09-02 11:48:03 +09:00
ThomasV
c33b223cbe Merge branch 'master' of git://github.com/spesmilo/electrum 2015-09-01 12:16:16 +02:00
ThomasV
ce06d92100 open each wallet in a separate window 2015-09-01 12:16:07 +02:00
Neil Booth
2b7a555f0f Unminimize and raise an existing window
if its wallet is requested.
2015-09-01 19:14:25 +09:00