After starting to use Qt6.10 the following (trivial) steps caused
the application to crash with a backtrace 100% inside of Qt.
a. scroll the list of transactions down a bit.
b. select a different wallet.
c. boom
The bug seems to be that changing the model of a Listview crashes
if the view is not positioned at the top.
This new code positions the view at the top prior to changing the model.
In multi wallet setups the account list item has an indicator of
sync status, but there is nothing to indicate we are behind on a
single wallet setup.
This adds a simple indicator of blockheight and changes that to
'Up to date' when we're all good
This redoes the "AccountDetails" page, matching ideas from the mobile
wallet and fixing a lot of bad interactions.
This also looked at the colors in desktop to be consistent and nicer.
Lots of smaller fixes and UI changes.
This adds a setting in the mobile client where the user to select to
prefer to start inputting the BCH value on payments (that require manual
input of price).
The default is to start with the user selected fiat value.
We notice a lack of DNS lookup and instead of trying all, we give up
quickly and realize that the most likely reason is that the Internet is
missing.
This avoids giving a punishment to all discovered peers.
Additionally, we recover better and show the password field in such
cases.
And on Mobile this adds a menu option to enable the password field for
better discoverability.
For Page inhering screens (BroadcastFeedback/UnlockApplication)
This changes the Page.hideHeader to now act like a full screen,
removing all insets from the Page object when enabled.
The insets are then re-added on the child pages, but
without affecting the background fields, so they cover the insets.
UnlockApplication is a simply full screen widget, we added the
insets to it too.
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.
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 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.
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.