Neil Booth
58d5215e2e
No need to pass daemon and network together
The daemon has the network
9 years ago
ThomasV
08e5aecee2
Revert "Plugins: remove init_qt hook; clean up"
This reverts commit e20369bf94
.
9 years ago
Neil Booth
e20369bf94
Plugins: remove init_qt hook; clean up
Fixes #1644
9 years ago
ThomasV
632905dfbe
instantiate wizard only if needed
9 years ago
Neil Booth
f7b39f4952
A different approach to d5aa646
Only clean up the MainWindow once.
9 years ago
Neil Booth
d5aa6466c9
Be careful removing windows from the list
I've occasionally had Python throw saying the window
isn't in the list.
9 years ago
Neil Booth
83cc5e2001
Fix top level window issue on Mac
Better, more generic fix superseding prior two patches.
9 years ago
ThomasV
62868ab29a
Register loaded wallets in daemon, to prevent a wallet from being opened twice.
Simplify the wizard logic.
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
441b695815
Break out logic into a function
9 years ago
Neil Booth
3df8d11f1a
Pass the gui object to the install wizard
9 years ago
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.
9 years ago
Neil Booth
0ecf2565ce
MessageBoxMixin-related cleanup
9 years ago
Neil Booth
72fdf0cd21
Better error when opening a non-wallet file
Also window modality fixes for __init__.py
9 years ago
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.
9 years ago
Neil Booth
2226667437
QT: Stop timer cleanly to avoid exceptions on exit
9 years ago
ThomasV
84b18e0949
qt: save last active window, not last opened window
9 years ago
ThomasV
19533dda15
load wallet in ElectrumWindow constructor
9 years ago
ThomasV
175fdbcac6
Disentangle plugins and window management; use Qt signals
9 years ago
Neil Booth
53f6fb9876
Add a GC debugger
Add commented-out GC debugging step
9 years ago
ThomasV
77d6ee74f9
revert PR #1492 . clear clipboard instead
9 years ago
Neil Booth
5071d75912
Clean up install wizard a little
Also fixes #1462
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
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
ThomasV
897a5d34ed
share contacts and invoices objects between windows
9 years ago
ThomasV
2a889d318b
fix: make uri optional in new_window
9 years ago
ThomasV
3cc7c1454b
move back URI rewriting to main electrum script
9 years ago
Neil Booth
87cff8e380
Check URI in "electrum" because of ambiguity
9 years ago
Neil Booth
27917af2bf
Get URIs working properly for multiple windows
9 years ago
Neil Booth
14cc260092
Remove redundant config argument.
Also don't default path for clarity.
9 years ago
ThomasV
5df03951e5
move window initialization hook inside class
9 years ago
Neil Booth
49797c3094
Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
9 years ago
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.
9 years ago
ThomasV
bdb4d3ecb8
move methods calling installwizard to main gui class
9 years ago
ThomasV
0cb8c21130
use wallet path instead of config
9 years ago
Neil Booth
3ac99af7c6
Remove unused variable
9 years ago
ThomasV
93c468504e
use the parent config instance when daemon starts a window
9 years ago
Neil Booth
90316d0459
Clean up imports, 2nd attempt
9 years ago
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.
9 years ago
ThomasV
ce06d92100
open each wallet in a separate window
9 years ago
Neil Booth
2b7a555f0f
Unminimize and raise an existing window
if its wallet is requested.
9 years ago
ThomasV
bbe64621ca
close wallet when window is closed
9 years ago
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
10 years ago
ThomasV
aedfbd3855
start wizard from main_window. fixes #1250
10 years ago
ThomasV
e77f0c98e7
extend bitcoin: URI with signature data, instead of serialized format
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
d5f6651237
follow up e20dfcd3eb
10 years ago
ThomasV
c2a4252065
do not pass config to storage. request height from network_proxy if connected
10 years ago
Neil Booth
1bafa42fbd
Remove two redundant refreshes of history tab during startup.
The call to update_wallet() is redundant with earlier call to load_wallet().
Set the need_update boolean so the timer will refresh rather than
unconditionally refreshing. This typically results in it merging with
the first network "updated" event resulting in one less refresh.
For me in online mode this results in history being calculated and shown
only twice during startup rather than four times.
10 years ago