Commit Graph

94 Commits

Author SHA1 Message Date
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
ThomasV bbe64621ca close wallet when window is closed 2015-09-01 09:35:32 +02:00
ThomasV 92e0744470 Refactoring of daemon:
* gui and daemon are in the same process
 * commands that require network are sent to the daemon
 * open only one gui window per wallet
2015-08-30 11:31:51 +02:00
ThomasV aedfbd3855 start wizard from main_window. fixes #1250 2015-08-22 13:43:10 +02:00
ThomasV e77f0c98e7 extend bitcoin: URI with signature data, instead of serialized format 2015-07-21 11:40:55 +02:00
ThomasV 060e3aa23e plugins: call load_wallet in install wizard 2015-06-10 12:40:08 +02:00
ThomasV f70a996619 fix trezor initialiation hook (pass window in load_wallet) 2015-06-09 09:58:40 +02:00
ThomasV d5f6651237 follow up e20dfcd3eb 2015-05-25 08:47:25 +02:00