Currently the exchange rates plugin shows the converted
rate at the time of last user input. If the fx rate
changes the send and receive tabs do not update.
This makes them update. It also means that when enabling
the plugin, if the user had input a BTC amount in the send
or receive, the other fields will refresh. This didn't
used to happen - they stayed blank.
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
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.
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified. txs are added once
confirmed, and removed once verified. Hence it will almost always be
empty.
This is a cleaner generalization of the functionality added
to network_proxy.py a few months ago, whereby jobs can be
added and removed from a thread's main loop. This allows
us to cut down on unnecessary threads.
A follow-up patch will update the proxy to this framework.