This allows the watchface to ship an embedded settings page.
To make use of this, watchface qml file must have property Component settingsPage referencing the id of the Component which contains the settings page qml.
The watchface page only shows the 'gear' icon when this property is present, which serves as an indicator that the current watchface has a settings page. This can be accessed with another tap.
The gear icon appears with a short delay, as the watchface must be loaded before the settingsPage property can be checked.
This also adds the watchface filename to the selector
The visuals of these two commits might need some tweaking. On a first glance, for example, the way that the gear icon and text overlap isn't very pretty.
There is still some discussion about whether this is the best way to implement watchface settings, so this is still a draft for now.
This allows the watchface to ship an embedded settings page. To make use of this, watchface qml file must have
property Component settingsPage
referencing theid
of theComponent
which contains the settings page qml. The watchface page only shows the 'gear' icon when this property is present, which serves as an indicator that the current watchface has a settings page. This can be accessed with another tap. The gear icon appears with a short delay, as the watchface must be loaded before thesettingsPage
property can be checked.an example implementation of such a watchface can be found here: https://dodorad.io/uploads/analog-classy-roman.qml
This also adds the watchface filename to the selector
The visuals of these two commits might need some tweaking. On a first glance, for example, the way that the gear icon and text overlap isn't very pretty.![IMG_20230521_112308~2](https://github.com/AsteroidOS/asteroid-settings/assets/41231427/35a5d230-52d4-4e5e-9a08-7b3b36b2ca34)
There is still some discussion about whether this is the best way to implement watchface settings, so this is still a draft for now.