user preferences widgets for your kivy app

This namespace portion is providing a set of widgets to allow the user of your app to change the her/his personal app settings/preferences, like the theme, the font size, the language and the used colors.

To use it in your app import this module, which can be done either in one of the modules of your app via:

import ae.kivy_user_prefs

Alternatively and when you use the Kivy framework for your app, you can import it within your main KV file, like this:

#: import _any_dummy_name ae.kivy_user_prefs


The i18n translation texts of the namespace portion get registered on importing. When you import this portion from the main KV file and your app is overwriting a translation text of this portion, then you have to make sure that the translation texts of your main app get registered after the import of this portion. For that reason MainAppBase is using the on_app_build event to load the application resources, which gets fired after Kivy has imported the main KV file.

The user preferences are implemented as a FlowDropDown via the widget UserPreferencesPopup.

To integrate it in your app you simply add the UserPreferencesButton widget to the main KV file of your app.

user preferences debug mode

The user preferences are activating a debug mode when you click/touch the UserPreferencesButton button more than three times within 6 seconds.

This debug mode activation is implemented in the on_user_preferences_open() event handler method declared in the ae.kivy_app module. It can be disabled for your app by simply overriding this method with an empty method in your main app class.