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 makes the widgets more re-usable by following the general
design of Qt components with porperties like implicitWidth being
implemented as expected.
Following the moving of this to the 'explore' tab as "find more"
this is more a detailed listing of all modules, and as a result it
makes sense to add an 'open' button.
This avoids people being forced to enable a feature they only want
to use once.
Following this new UX the 'ON' ribbon loses its meaning, you can
use a module that is not on.
I mean, yes, the fancy enums help readability, but the fancy enums
actually pull in a rather large dependency that adds hundreds of
kilobytes to the deployment. Then just ints don't look so bad
anymore, do they?
This section type means that the module will have it's icon shown in
the 'Explore' tab always, it can not be disabled by users and as such
it just becomes an overflow of the main app avoiding worry about a
module not being found.
The toggle on some devices takes a second or 2, as such it may be
tempting to press multiple times waiting for the change.
This hardcodes a 3 second wait to increase the UX a little.
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.
In the send-sweep module as well as in the PayWithQR this removes
the UserIntent handling and instead moves that to the main.qml
exclusively.
Additionally in the send-sweep module the camera work is split
into its own page, like in the other parts of the app. This helps
us avoiding hacks when we want the main functionality without the
camera.
This is the last of the series of reworks, we should have all
former functionality working again.
Continuing the 'rework send page' series.
This moves stuff that had no business being on the "Send" page to
live on a new tab instead. Prime example was the 'sweep' module
that creates a transaction we send, but to ourselves. So it's far
fetched that it fits in 'send'.
This reverts commit 9f69241bbb.
Reason for revert is that instead of renaming the send, we're now
creating a new tab instead. So we'll keep "Send" and add a new one
as well.
The initial design has done well for over 2 years, but problems
are starting to show.
This does a bit of cleanup in the UX and many cleanups in the
underlying architecture that were the result of those UX choices.
We remove the clipboard (paste) concept from the camera pipeline
completely and simply make it a new top-level button "paste" on the
send page. This helps discovery AND helps architecture!
The both workflows now also become 2 stage affairs, when the button
is pressed we open a page that does the scanning or pasting and then
introspects the actual data in order to redirect to the right page.
This means that we auto-detect if the scanned item is an address or
a private key or whatever, and handle it appropriately without needing
any user interaction.
This upgrades us to no longer use the expected block height based
on current time, but instead uses the certainty we get from asking
various peers for their view of the world.
Now when we are certain that we're at the same tip as the rest of
the world, we can safely hide the 'up to date' text and make the UX
again a little bit simpler.
On Android an app can ship with (static) shortcuts. We use this feature
to allow the user to create a new icon which still starts Flowee Pay,
but it instantly opens the payment screen on the QR scanner.
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 allows a user to click on a link in a browser with the bch-wif
scheme and we'll handle that with a sweep page on startup.
To avoid this being just-another-special case we introduce a new
module (read: plugin) concept that is a Start-screen type.
The idea is that we can have a generic handling of this type in
various parts of the app without it being specifically about the
wif handling.
Notice that it doesn't matter if the user has the module enabled,
which just operates the display of the menu option to start it manually.
On the mobile client this allows the user to check per wallet which kind
of transactions to show or hide.
We allow selection of send/receive/both.
We allow the hiding of cash-fusion transactions.
As we get more modules it turns out that the 'send' tab as originally
envisioned isn't really representative of how we're evolving.
Various items end up being about doing 'stuff' in general. Including
creating a transaction to receive. Only in a very loose way can we
say those are 'send' items.
So, without actually any user-visible changes, this renames the
enum in the module manager and module-section to make it about the
more accurate "action menu".