On Android this enables the application to run just a simple
quick sync and then exit the app on regular intervals.
The main benefit is that when the user doesn't run the app very
often they will avoid having a long sync time.
Add logic to notice that the device is offline and notify the
user of this fact on screen.
Repeat checking so we can notify the user that network is back.
This shows in the UI (of the mobile form factor) that the device
is offline and we avoid starting the p2p layer until network
is detected to be there again.
This removes the various ifdef based differences which are platform
specific and instead moves the code to a file that will only be
compiled for that target platform.
We also remove the backwards compatible 'darktheme-from-system' code
which is by now no longer needed.
We should not require the user to put it in a layout with spacing, that
will just create inconsistencies.
Instead make sure that the button itself is tall enough for easy aiming
on small screens.
This adds a lock to ensure that the app is not started twice, which
would be bad for data consistency.
The second version will just show a simple window stating it is already
running. While it would be nice to make it more advanced, I don't think
that is useful to spent time and code on.
The backend still used an int for the fiat price, this is now a qint64.
Additionally the BitcoinValue now optimistically (pessimistically?)
converts the input with the current price in order to avoid a second
order overflow.
This reflects that it is a full screen page and has no 'back' button.
We also remove lots of small hacks that have seens been made standard in
reusable components.
The popup component adds hidden margins and insets, which we have to
fight to not end up with arbitary positioning.
This fixes the positioning and sizes much better.
The quick receive does not appear when your default wallet is a single
address wallet because in that case the address that will be shown will
have history.