sugarlabs/sugar — pull request #411 by tchx84 (2014-11-24 14:49:32+00:00)
Title: Configurable groups

OLPC AU has asked to use grade-level instead of age in its intro and
aboutme sections. This patch enables this change by introducing a new
configuration file, group-labels.defaults into sugar/data. The file is
used by the age picker to determine which icons to use and what labels
to use for the icons. Internally, it still stores age as a birthdate
timestamp in gsettings. Additonal methods are included for converting
between age and the configuration.

In this version of the patch, the configuration file is for grade
level. An age configuration file will be proposed for the upstream
patch, which will leave the user experience unchanged from the current
default for Sugar users.

A few other changes included in this patch: (1) a reset button is
provided for clearing the gender selection (required by law in some
places, including AU); (2) consolidation of the age and gender code
used by both the intro screens and aboutme cpsection; (3) provision
for reformating the age panel if screen rotation makes the panel too
wide to fit. (3) to meet another requirement for AU, the group label
setting is saved to gesttings in order to determine whether or not the
group label has ever been set. It has not been set, the age intro page
is shown boot.