On mobile we should not just show a text edit on an otherwise
labels-only screen, because the edit takes focus and opens the
on-screen keyboard. Which makes the amount of usable space
significantly less.
So make the editing user-triggered.
The feature to show only the exchange-rate based value on the
main screen doesn't make sense on anything but mainnet due to
the simple fact that thats the only one that has an exchange rate.
We hide the feature on testnet and make it always show the BCH
value on the overview screens.
Notice that the actuall setting, as written in the config file,
is shared between chains. We only have one confg file. So any
solution with default values would not work.
We introduce a new WalletkeyView which is a class that provides a
thread-safe view on a single private-key in the wallet. Detecting all
transactions depositing money in that key and thus being an ideal
backend for the PaymentRequest.
This mostly removes the less than successful architecture.
This architecture stems from my first attempts at mixing C++ and QML, and
its not great.
As we can see from the removals, it touches a lot of places and
especially the wallet owning them is messy, but in QML we have to do a
lot of null pointer checks, also not exactly readable.
Lets try something different.
This solves the UX issue where tapping a certain button fast in
sequence, we only acted on every other one.
Turns out, half were registered as 'double clicks'.
This exports the payment-request address to the QML side.
We use this to show under the QR the address we are requesting to send
to.
This is quite useful for users wanting to manually check if things are
going well.
On the main screen, also known as the "Activity view" this allows the
user to choose to only see fiat or see both Bitcoin Cash and fiat values
listed next to each transaction.
This show the bch price on the front page too and shows 'moved' as a
label in the popup.
We give the full width to cashfusion transactions, no point is listing
the amount of sats fee paid.
This always puts a plus or minus in front of the price indicating the
receiving vs sending of funds.
This enlarges the touch area by 3x in order to make it
much easier to hit.
Notice that we are still limiting this to the header-area only, so only
3 times as wide, really.
Thanks fly to fshinetop for reporting it (and lots more).