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.
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.
With some delays we allow the user interface to show up so the checkbox
actually is pained to be 'on' when the user gets a question from the OS
about allowing it.
We re-introduced a checkbox to enable notifications.
We now have a second type of notification, one for incoming transactions
that may happen when the app isn't in the foreground.
We remove the block notification feature, as that was nice but useless.
This instead introduces a way for a transaction we created to be marked
as needing monitoring and when a block comes in we create a notification
explaining it has been mined.
This makes the label a bit shorter to avoid it overlapping the fiat text
in more cases.
We also now place the edit widget on top of the pencil button to get as
much space for editing as we can get.
On Android the placeholder text is very unfortunately positioned that
most people will consider a bug.
So we stop using that and instead put the text just above the actual
widget, fading the text when the user starts typing.
As this is on mobile, we also add a blinking fake cursor in the text
field to make it super clear what the intention there is.
The alternative would be to give focus to the field and have the real
blinking cursor, but that would open the virtual keyboard and hide the
big close button.
So fake blinking cursor it is.
When a new transaction is sent and edited directly in the backend
we expect that the item is re-created and thus the on-initial-
construction method to be called.
But, QML caches and thus our smart solution doesn' work.
This adds the ability to paste an almost correct seed phrase, for
instance when the last word is cut off.
We also provide a new UI to propose words while typing the seed,
allowing the user to tap on the words instead of having to finish typing
them.
This changes the notes property to be only set by the user of the
BroadcastFeedback.qml, and not from inside anymore which could break the
property binding causing strange things to happen.