The usage of the big application singleton for enums is not the best for
linkage.
See, in QML you like to use enums, but you need to register the object
it is defined on with QML. So, you ideally have one object with loads of
enums. Easy to maintain, less to learn for the QML author.
Using the application-wide singleton made kind of sense, but this
creates a dependency requirement for all users of these enums that
doesn't jibe well with maintainable code.
So, introduce a simple enums-only class that can be used from QML and is
cheap to include from any using classes.
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.
This works around an inconsistency in the QML language.
Inside a file variables are preferred local, hiding the global
ones that may have the same name.
The same is not true for named QML files (classes). An imported
is used before one of the same name in the same directory.
To avoid future additions to Qt Controls breaking our code, and
to generally avoid surprises with common names, lets standardize
using namespacing for Qt-Quick-Controls classes.