Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
authorAgustin Zubiaga <aguzubiaga97@gmail.com>2012-02-04 18:44:41 (GMT)
committer Agustin Zubiaga <aguzubiaga97@gmail.com>2012-02-04 18:44:41 (GMT)
commit0dadeffe5b07bc3c677b7343ce168ef0b79bf482 (patch)
tree2a20b99e4f5f3f01bea45fbdf40e9800ca773e25 /activity.py
parentfd3fd3ced956a54317babbdb14cc4ecab24f08d5 (diff)
Change the message dialog with an Alert
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py33
1 files changed, 20 insertions, 13 deletions
diff --git a/activity.py b/activity.py
index 21bf01e..d56f3a6 100644
--- a/activity.py
+++ b/activity.py
@@ -40,6 +40,7 @@ from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.radiotoolbutton import RadioToolButton
from sugar.graphics.colorbutton import ColorToolButton
from sugar.graphics.icon import Icon
+from sugar.graphics.alert import Alert
from sugar.datastore import datastore
from charts import Chart, CHART_IMAGE
@@ -273,7 +274,7 @@ class SimpleGraph(activity.Activity):
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- self.labels_and_values = ChartData()
+ self.labels_and_values = ChartData(self)
scroll.add(self.labels_and_values)
self.labels_and_values.connect("label-changed", self._label_changed)
@@ -519,7 +520,7 @@ class ChartData(gtk.TreeView):
'label-changed': (gobject.SIGNAL_RUN_FIRST, None, [str, str], ),
'value-changed': (gobject.SIGNAL_RUN_FIRST, None, [str, str], ), }
- def __init__(self):
+ def __init__(self, activity):
gtk.TreeView.__init__(self)
@@ -542,7 +543,7 @@ class ChartData(gtk.TreeView):
column = gtk.TreeViewColumn(_("Value"))
value = gtk.CellRendererText()
value.set_property('editable', True)
- value.connect("edited", self._value_changed, self.model)
+ value.connect("edited", self._value_changed, self.model, activity)
column.pack_start(value)
column.set_attributes(value, text=1)
@@ -585,7 +586,7 @@ class ChartData(gtk.TreeView):
self.emit("label-changed", str(path), new_text)
- def _value_changed(self, cell, path, new_text, model):
+ def _value_changed(self, cell, path, new_text, model, activity):
logger.info("Change '%s' to '%s'" % (model[path][1], new_text))
is_number = True
try:
@@ -599,15 +600,21 @@ class ChartData(gtk.TreeView):
self.emit("value-changed", str(path), new_text)
elif not is_number:
- error = gtk.MessageDialog(None,
- gtk.DIALOG_MODAL,
- gtk.MESSAGE_ERROR,
- gtk.BUTTONS_OK, \
- 'The value must be a number (integer or float)')
-
- response = error.run()
- if response == gtk.RESPONSE_OK:
- error.destroy()
+ alert = Alert()
+
+ alert.props.title = _('Invalid Value')
+ alert.props.msg = \
+ _('The value must be a number (integer or decimal)')
+
+ ok_icon = Icon(icon_name='dialog-ok')
+ alert.add_button(gtk.RESPONSE_OK, _('Ok'), ok_icon)
+ ok_icon.show()
+
+ alert.connect('response', lambda a, r: activity.remove_alert(a))
+
+ activity.add_alert(alert)
+
+ alert.show()
class Entry(gtk.ToolItem):