ObjectChooser: preserve filter type

When the ObjectChooser is called with the filter_type=FILTER_TYPE_MIME_BY_ACTIVITY
the filter_type was replaced by FILTER_TYPE_ACTIVITY.
This patch preserve the value used, if not filter type was selected,
use FILTER_TYPE_ACTIVITY.

Signd-off-by: Gonzalo Odiard <godiard@sugarlabs.org>
Fix MetadataLookup signal definition

When The updater is looking up remotely for activity metadata
such as size and icon, the bundle can become unavailable because
of network or server issues.

Then, the MetadataLookup size attribute is never set and remains
as a None, therefore when the lookup is completed it emits the
complete signal sending a NoneType when a int type is expected,
crashing the updater.

This commit fixes the signal definition to allow NoneType values,
because these are actually valid cases.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Fix missing confirm button in Sugar Backup restore

Restore of a Sugar journal backup provided an Accept radio button but
the Confirm button was missing.

This was caused by not calling the show method on the button.

Reported-by: Niraj Nakrani <niraj@laptop.org.au>
Signed-off-by: James Cameron <quozl@laptop.org>
Fix extra blanks in Sugar Backup restore

The restore warning had an extra blank at the start, and an extra blank
before "my journal."

May impact translations.

Signed-off-by: James Cameron <quozl@laptop.org>
Parse olpc-activity-optional field

To mark an activity as optional in the microformat file, set
this field to 1. Anything different from 1 will be treated as
non-optional, which is the previous behaviour. Thus, this is
backwards compatible.

Extend _UpdateHTMLParser class so it can extract the
new optional field.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Support olpc-activity-optional field in BundleUpdate

Extend BundleUpdate class to support this new field, so other
components of the updater can access this information.

Use this new field in MicroformatUpdater class by passing it
to BundleUpdate initializer.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Filter optional activities in automatic updates

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Do not select optional activities in updater UI

All activities that have not been explicitly marked as optional
will be treated as non-optional. Therefore, these activities will
be selected in UI by default.

This peserves the previous behaviour, thus this is backwards
compatible.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Make ad-hoc autoconnnect optional

Add a gsettings value to determine whether or not
ad-hoc networks should autoconnect.

This value will be ignored if the user explicitly connects
to a ad-hoc network, for the rest of the session. It will be taken
into account again, if the user explicitly disconnect from the
ad-hoc network.

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Merge branch 'tchx84-optional-autoconnect-try2'
Merge branch 'optional-updates-try1' of https://github.com/tchx84/sugar into tchx84-optional-updates-try1
Merge branch 'tchx84-optional-updates-try1'
Release 0.103.0
Move the tts implementation to the toolkit

This is needed to use the functionality in the activities.
A complementary patch is needed in sugar-toolkit-gtk3
Remove GMT time zones - they are the same as UTC

As stated in the original discussion [1], "GMT tracks UTC and this is not
expected to change".

Originally fixed in Quozl's patch [1] in relation to issue #2195.

[1]: http://lists.sugarlabs.org/archive/sugar-devel/2011-March/030497.html
Include all UTC time zones

Fixes the issue where places like Tonga have their time zones excluded. They
need the UTC+13 and +14 instead of -11 and -10, as they are on the the other
side of the international date line to the -11 and -10 time zones.

This fix is related to bug #2195 and is based of Quozl's patch [1].
TL;DR: "increase UTC timezone coverage for Kiribati and Tonga." [1]

[1]: http://lists.sugarlabs.org/archive/sugar-devel/2011-March/030497.html
Fix UTC time handeling, fixes #2195

Using the solution suggested by Sascha Silbe [1].  TL;DR "All of the
UTC+X UTC-X timezones could be translated into entries in
/usr/share/zoneinfo/Etc. For example, "UTC-5" would be converted to
TZ=:Etc/GMT+5"

Simmilar to Quozl's patch [2].  Quozl explains his patch as "translating
from ISO 8601 to POSIX.1 format, by reversing the sign"

[1]: http://lists.sugarlabs.org/archive/sugar-devel/2011-March/030532.html
[2]: http://lists.sugarlabs.org/archive/sugar-devel/2011-March/030497.html
Add configurable database for age/gender selection

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.
Fix age/gender INTRO widgets visibility

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
Fix age/gender flawed default-nick logic

Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>