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.
This moves the creation of the portfolio to happen the moment we
finished loading. (wallets were loaded either way)
The networking is the part that now waits for the user to unlock before
it does anything.
On the desktop activity view the prices are right aligned but due to
adding fiat prices this means that the bch amounts are not lining up.
This adds a little space between the two in order to make them much more
readable.
This widget is only used by the desktop, so no point in storing it in
the Flowee Subdir.
It basically turned out that it is so simple to do this that mobile got
its own more specilistic version.
This now has a bit of a jittery bahavior when we're waiting on the
network and maybe to find some peers.
Going back to normal smooth progressbar behavior as soon as one block
has been downloaded.
The idea is that if you send a transaction you may want to see it
getting confirmed.
This now shows directly in the main UI in an unobtrusive manner with
checks.
This moves the heuristic to exist only once and avoids duplicating it.
Additionally this increases the checks accuracy.
Last, the 'moved' price in desktop now is white to indicate it is
not a balance change.
The vast vast majority of wallets imported will not have a password. So
we de-prioritize that and make the user aware of the password field
should they check the contents without one.
This moves the 'wallet name' again to the top for all types as the most
observed mistake is that people type a wallet-name in the password field
and then are confused why there is nothing there. (and additionally
annoyed that the name of the wallet is auto-generated).
Other fixes includes spacing and alignment.
Keyboard focus on desktop.
The idea of using Flowee Pay to open a payment screen, or a sweep
screen, was so far married to the executable lifetime due to it being
passed as a command line argument.
This does not reflect reality, on neither desktop nor on mobile as
multi-tasking is possible and we should allow that.
As a result the new object "Intent" has been introduced with the
usecase specific properties. Setting those properties at any time
during the lifetime of the app now pushes the correct page to the
stack on mobile. Desktop is in need of more love in this department.
This applies the knowledge learned from mobile to desktop too.
Also set the initially selected import year to 2023 and avoid
long imports for most people.
The ImportWalletPage now loads the QML provided by the module,
exposed via the metadata of modules.
The module gets just a blockheight property and then will do
"its thing".
This will either instantly close when there is nothing to do
and continue instantly to the actual import.
Or the module will check the server, initiate download and when
all is setup and done THEN close the popup and continue with
the actual import.
Seems that the problem we saw on Android is also present on
Linux and Wayland.
A lot of components no longer use the palette which makes it
not possible to use them as-is with our light/dark theme feature.
This changes the many components to the Flowee specific ones
where we already solved this for the Android UI.