Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAgustin Zubiaga <aguz@sugarlabs.org>2012-02-14 00:10:52 (GMT)
committer Agustin Zubiaga <aguz@sugarlabs.org>2012-02-14 00:10:52 (GMT)
commit3eddead0d1572ae37d58937e8ce9abf8badd6cb9 (patch)
tree18977e411d6229a478d41b1e9bc57ee176767d09
parentc6c7743e7c66912c61f2e9ef7df7b4f8943cbdf1 (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.py13
-rw-r--r--readers.py2
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):
diff --git a/readers.py b/readers.py
index 2b0f269..9674125 100644
--- a/readers.py
+++ b/readers.py
@@ -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