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
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
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
55494e4224
save window geometry in wallet file, since the GUI can open several windows
2015-11-02 15:53:31 +01:00
ThomasV
2a3c97813d
wallet.get_max_amount method, used by qt and kivy
2015-10-30 14:10: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
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
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
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
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
f3b0d83782
rename 'gui' console variable to 'window'
2015-09-08 09:37:12 +02:00
Neil Booth
39615333c0
Attribute more diagnostic messages
2015-09-06 22:04:44 +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
317582e9a7
Permit menu editing of address list
...
Fixes recent addition to #1435
2015-09-04 22:02:22 +09:00
Neil Booth
46067da42f
Fix thinko
...
Fixes #1441
2015-09-04 21:52:36 +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
bbd50ba83c
Remove all self.window references from plugins
2015-09-04 18:23:18 +09:00
Neil Booth
8e7bcfeeb9
Update email plugin for multiple windows.
2015-09-04 13:29:33 +09:00
Neil Booth
392335487b
Add plugins variable to console
2015-09-04 10:27:28 +09:00
Neil Booth
77a029082a
Improved new_window handling.
...
Remove new_window hook.
Plugin informed of all windows via events when first loaded.
init_qt no longer needed for exchange_rate plugin.
2015-09-04 10:20:52 +09:00
Neil Booth
fcc452d7b0
Fix window closing
...
Only closing via the menu did it properly. Closing a window via
the window manager didn't shut the window down at all, because
the code wasn't in the closeEvent handler.
2015-09-04 10:10:44 +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
Roman Zeyde
a1586b2bb3
main_window: fix typo at do_process_from_text()
2015-09-03 12:36:23 +03: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
280b5c79d2
minor fix
2015-09-02 12:11:52 +02:00
ThomasV
bdb4d3ecb8
move methods calling installwizard to main gui class
2015-09-02 12:05:33 +02:00
ThomasV
4e458b5639
minor fix
2015-09-02 10:09:48 +02:00
ThomasV
0cb8c21130
use wallet path instead of config
2015-09-02 10:06:45 +02:00
ThomasV
3e4d332a4c
strip spaces from txid dialog output
2015-09-02 09:15:34 +02: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
ce06d92100
open each wallet in a separate window
2015-09-01 12:16:07 +02:00
ThomasV
bbe64621ca
close wallet when window is closed
2015-09-01 09:35:32 +02:00
ThomasV
f84d873f62
rm unneeded import
2015-09-01 09:01:02 +02:00
ThomasV
d4bba181c2
fix: show tabs in load_wallet
2015-09-01 01:18:02 +02:00
Neil Booth
2d05e7d891
Merge the network and network_proxy
2015-08-31 12:00:38 +09: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
Neil Booth
32c1b9cd59
Handle openalias properly in contacts tab
...
- Filter out of block explorer URLs
- Make them uneditable
2015-08-29 21:55:17 +09:00
Neil Booth
62fe37a863
Permit multiselect in contacts tab
...
You can select multiple contacts, and still do all the actions
you could do on a single contact. In particular, paying to them
all and removing them all.
This covers the first two bullet points of #1372 .
Finally, make the new contact dialog box have a sensible width
that can display a full address without scrolling
2015-08-29 21:36:42 +09:00
Neil Booth
607664e663
Fix contact editing.
...
This fixes some bugs in contact editing:
- a changed address is now checked for validity. Shows
error if invalid and restores prior value
- the changes are saved, before they were dropped
- adding a new contact switches to the contacts tab,
it used to switch to the address tab
As an enhancement, the contact name, as well as its address,
can be edited and updated.
Finally, the platform edit key can also be used to edit,
in adition to double-clicking. This is typically the F2 key.
2015-08-29 21:22:08 +09:00
Neil Booth
851db130ea
Cleaner column editing in MyTreeWidget
...
Also enables arbitrary columns to be edited, but nothing
uses that yet.
2015-08-29 20:58:08 +09:00
ThomasV
b7555240ef
message reformatting
2015-08-27 08:24:49 +02:00
Neil Booth
68e57bbaa7
Don't let the "send from list" sort itself
...
Order matters for correspondence of display position to internal list.
Fixes #1420 .
2015-08-27 11:01:49 +09:00
ThomasV
aedfbd3855
start wizard from main_window. fixes #1250
2015-08-22 13:43:10 +02:00
ThomasV
d895e5d132
load_wallet: don't hide and show gui unless we start the wizard
2015-08-22 09:27:33 +02:00
ThomasV
679f2fe2b1
add safety warning for watching only wallets
2015-08-21 07:58:50 +02:00
ThomasV
53b1ce2c50
restore 'save' menu. fixes #1407
2015-08-19 19:25:05 +02:00
ThomasV
b2e2218556
fix: remove deprecated parameter
2015-08-19 18:33:49 +02:00
ThomasV
bba9da91de
rm debugging statement
2015-08-18 17:16:15 +02:00
ThomasV
e9523f231b
fix account renaming issues #1158 #1299
2015-08-17 12:49:04 +02:00
ThomasV
1b3f450267
fix #1401
2015-08-16 11:43:59 +02:00
ThomasV
bfae04e6f0
Improved in network callbacks:
...
* Pass arguments
* Don't redraw history when a tx is verified.
* Fix new tx notifications.
2015-08-16 11:36:23 +02:00
ThomasV
c5ee6bf57c
emit signal for fiat_amount update
2015-08-15 13:39:11 +02:00
ThomasV
717a8a5ca7
perform fee computation as a timer action
2015-08-15 13:32:59 +02:00
ThomasV
8a3e5032b1
Merge pull request #1389 from romanz/master
...
remove unused code
2015-08-14 16:48:23 +02:00
ThomasV
1a9e768e31
fix dynamic fee slider behaviour in OSX
2015-08-13 15:19:34 +02:00
Roman Zeyde
a3a01be8ce
remove unused code
2015-08-09 19:02:04 +03:00
ThomasV
4b9a149987
recently visited wallets: increase shortcut index
2015-08-09 13:17:04 +02:00
ThomasV
d0e2f0a5db
tooltips
2015-08-07 19:44:50 +02:00
ThomasV
743d2721db
fix: recently_open
2015-08-07 19:28:05 +02:00
ThomasV
464a89ddf5
improve recently_open menu
2015-08-07 19:24:43 +02:00
ThomasV
b40f3571e8
tx window: do not always set prompt_if_unsaved
2015-08-07 18:59:50 +02:00
ThomasV
c844d22a19
synchronous_get: return -> raise exception
2015-08-07 12:22:47 +02:00
ThomasV
77d7aa772d
fix typo
2015-08-07 08:59:00 +02:00
ThomasV
714445aba8
fix: wallet.is_used
2015-08-06 19:19:25 +02:00
ThomasV
ef83328042
fix insert parameter order
2015-08-06 16:57:57 +02:00
ThomasV
385110653b
gui tweaks
2015-08-06 16:56:20 +02:00
ThomasV
eef49a328a
add recently open files to menu. fixes #1273
2015-08-06 16:27:49 +02:00
ThomasV
2515fc9b6a
use blue color to denote auto-filled values (fee, exchange rates plugin)
2015-08-06 12:56:48 +02:00
ThomasV
e18ddd0096
do not show plugins that register a custom wallet type in the plugins toggle dialog
2015-08-06 11:12:15 +02:00
ThomasV
a9e74da11c
check SSL certificate in config dialog
2015-08-05 20:49:45 +02:00
ThomasV
7b3e1dafd4
replace wallet.set_fee calls
2015-08-05 18:35:36 +02:00
ThomasV
252c73a06a
fix issue #1387
2015-08-05 18:01:56 +02:00
ThomasV
43880d452e
dynamic fees
2015-08-05 15:45:28 +02:00
ThomasV
959620db46
fix fee estimate bug; follow up to aa6de86
2015-08-05 15:20:29 +02:00