diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-10-07 17:03:33 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-10-07 17:03:33 (GMT) |
commit | 3416a1e2a5491de5ccf4d74b5e81b6765a4fc1fd (patch) | |
tree | 366a8b2df9700597ae1d06f95e3e86b0ce3a6944 /FractionBounceActivity.py | |
parent | fc60fada38152a8e20bb436ca6cd835e0f34dbb5 (diff) |
add support for custom fractions
Diffstat (limited to 'FractionBounceActivity.py')
-rw-r--r-- | FractionBounceActivity.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/FractionBounceActivity.py b/FractionBounceActivity.py index 193af44..eb91385 100644 --- a/FractionBounceActivity.py +++ b/FractionBounceActivity.py @@ -170,9 +170,22 @@ class FractionBounceActivity(activity.Activity): canvas.show() self.show_all() + # Read any custom fractions from the project metadata + if 'custom' in self.metadata: + custom = self.metadata['custom'] + else: + custom = None + # Initialize the canvas self.bounce_window = Bounce(canvas, activity.get_bundle_path(), self) + # Restore any custom fractions + if custom is not None: + _logger.debug('Restoring custom data: %s', custom) + fractions = custom.split(',') + for f in fractions: + self.bounce_window.add_fraction(f) + def _load_standard_buttons(self, toolbar): ''' Load buttons onto whichever toolbar we are using ''' self.fraction_button = _radio_factory('fraction', toolbar, @@ -211,7 +224,6 @@ class FractionBounceActivity(activity.Activity): def _add_fraction_cb(self, arg=None): ''' Read entries and add a fraction to the list ''' - # To do: save to Journal try: numerator = int(self.numerator.get_text().strip()) except ValueError: @@ -228,6 +240,11 @@ class FractionBounceActivity(activity.Activity): numerator = 0 if numerator > 0 and denominator > 1: self.bounce_window.add_fraction('%d/%d' % (numerator, denominator)) + if 'custom' in self.metadata: # Save to Journal + self.metadata['custom'] = '%s,%d/%d' % ( + self.metadata['custom'], numerator, denominator) + else: + self.metadata['custom'] = '%d/%d' % (numerator, denominator) def reset_label(self, fraction): ''' update the challenge label ''' |