diff options
author | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-02-14 00:10:52 (GMT) |
---|---|---|
committer | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-02-14 00:10:52 (GMT) |
commit | 3eddead0d1572ae37d58937e8ce9abf8badd6cb9 (patch) | |
tree | 18977e411d6229a478d41b1e9bc57ee176767d09 | |
parent | c6c7743e7c66912c61f2e9ef7df7b4f8943cbdf1 (diff) |
Use the locale decimal separator
e.g. if my decimal separator is "," , SimpleGraph change 4.5 to 4,5
Signed-off-by: Agustin Zubiaga <aguz@sugarlabs.org>
-rw-r--r-- | activity.py | 13 | ||||
-rw-r--r-- | readers.py | 2 |
2 files changed, 11 insertions, 4 deletions
diff --git a/activity.py b/activity.py index ec9a757..9ceec6a 100644 --- a/activity.py +++ b/activity.py @@ -27,6 +27,7 @@ import pango import os import gconf import simplejson +import locale import logging @@ -677,15 +678,18 @@ class ChartData(gtk.TreeView): def _value_changed(self, cell, path, new_text, model, activity): log.info("Change '%s' to '%s'" % (model[path][1], new_text)) is_number = True + number = new_text.replace(",", ".") try: - float(new_text) + float(number) except: is_number = False if is_number: - model[path][1] = str(float(new_text)) + decimals = self._get_decimals(str(float(number))) + new_text = locale.format('%.' + decimals + 'f', float(number)) + model[path][1] = str(new_text) - self.emit("value-changed", str(path), new_text) + self.emit("value-changed", str(path), number) elif not is_number: alert = Alert() @@ -704,6 +708,9 @@ class ChartData(gtk.TreeView): alert.show() + def _get_decimals(self, number): + return str(len(number.split('.')[1])) + class Entry(gtk.ToolItem): @@ -44,7 +44,7 @@ class StopWatch(): for i in self.data[-1][num]: marks_count += 1 - chart_data.append((str(marks_count), i)) + chart_data.append((str(marks_count), round(i, 2))) return chart_data |