A payment request, for instance a QR code, which includes an amount to
be paid is expected to not change the to-be-paid amount, uses being
dropped
in the price editing UI is therefore a bit weird. Almost an
anti-pattern.
This honors that concept and when the price is included in the scanned
QR, we change the UI layout to removed the editing widgets and show
static display widgets instead.
This also adds a header menu item to edit the amount to be paid and
get back to the old UI.
Additionally, a new UI is added to show the address we are about to pay
to, likewise reachable from the header menu.
In Qt5 the palette was introduced in the Control object (part of Qt-
Quick-Controls-2).
In Qt6 this property was moved to the superclass 'Item'.
This means that we no longer need to refer to a control when using a
palette, every single thing in QtQuick is an Item, afterall.
This gives the dark-theme a make-over with better colors, more colors
coming from the palette and this makes the conceptual usage between the
mobile and desktop clients of colors to be in-line.
This works around the weirdness that we can inherit from Page, while the
children are actually added to a separate item and that caused confusion
when the sizes of those two were not equal.
This is now fixed, at least for the width.
We use "Page" as anything that can be stacked on top of the rest,
now this can have a simple list of menu actions set which will make the
header get a hamburger-menu button to show those actions in the menu.
It now feels like a premature optimization to make anything
that inherets from Page be wrapped in a grid layout.
Notice that a "Page" here is the thing we push on the card-stack, the
Page has the back icon and the header text.
This improves the TextButton to be more re-usable and have an arrow to
make it clear it actually is a button.
Added a sub-text as well.
This made it really easy to make an About page with some subpages or
external links.
Also increased the top-header from 40 to 50 'pixels'.
As most of our app will be based on Pages pushed to the stack,
a simple structure to move focus forcefully to the new child
has been added.
Children would basically only need to mark the first item as
taking focus.
We now hardcode the style and I needed to override the Label
in order to explicitly use the palette from the mainWindow. Not
sure why the one on Android behaved different than on Linux.
On the mainscreen have some big tab-buttons for the main features
then we have a menu overlay which can hold various other screens
and features. Those screens will be placed on top of the main
tabbed screen using a stack-view which is common on touch-interfaces.