The QML design of styling is that one extends the "Template" version
of a component. With the Basic, the Fusion etc already provided.
But after upgrading to Qt6.9 that styling for Popup changed and broke
the look of Flowee Pay.
So, we no longer use the Basic styled class, but the bare one which
should never change.
This additionally simplifies a lot of the workarounds surrounding insets
and other stuff that existed in the Basic.Popup, and we just don't set
in our own "style" of Popup.
Beautiful result, lots of complexity removed from AccountDetails,
TransactionListItem and very much from PopupOverlay
The non-themed import basically is just a proxy using some
auto-detection to find out which theme to use.
As the app only uses the basic theme, this is what we'll import.
When running in the background on Android the user selected locale
information turns out to not be available. Which, to be honest, I won't
qualify as a bug, just unfortunate.
We now always store the data in our app config which makes the
notifications show a fiat price as expected.
This fixes the general flow, but specifically adds two things:
1. we detect the lack of peers and notify the user of this problem with
an alarming looking screen.
2. We move to only requiring 1 peer to accept the transaction, since on
slow network connections the others tend to get it from each other
instead of me.
The popup is a too intrusive when it arrives too fast after receiving a
new transaction, this moves it to 150 seconds to make it clearly not
part of the receive flow and simply a new dialog for the user to
consider.
This is quite minimal, obviously. But plural forms etc go through
the translation system.
Where the source says "Your transactions got mined" it then is split
into plural and singular (one transaction), as long as the translations
are actually provided of both forms.
We no longer throw away details when a longer list of transactions is
combined into one. This means that we can easily detect anonimity
transactions even if we get more then one coming in, which makes the
notification text more appropriate as a result.
We move the starting of the download optimistically to be earlier in the
boot process.
This also moves the actual action out of the singleton, which gives more
control over when to call it based on how the app is started.
Specifically the headless way of running Pay now waits for the price
feed to have been updated before starting the p2p net interactions,
ensuring that any new transactions will be able to be shown to the user
including the fiat price.