diff options
author | Yann Leboulanger <asterix@lagaule.org> | 2010-05-11 18:58:53 +0400 |
---|---|---|
committer | Yann Leboulanger <asterix@lagaule.org> | 2010-05-11 18:58:53 +0400 |
commit | f8ab01b4182567d3639ece412f5b3958cf00af77 (patch) | |
tree | d9151f41b96b2036ed5f72005d88ec3802167e72 | |
parent | ed28b14b82399525fadb1f7dff98a5a0e250a237 (diff) |
check birthday date format when editing profile window. Fixes #5692
-rw-r--r-- | data/gui/profile_window.ui | 1 | ||||
-rw-r--r-- | src/profile_window.py | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/data/gui/profile_window.ui b/data/gui/profile_window.ui index 0147c7369..c1e346b8c 100644 --- a/data/gui/profile_window.ui +++ b/data/gui/profile_window.ui @@ -432,6 +432,7 @@ <object class="GtkEntry" id="BDAY_entry"> <property name="visible">True</property> <property name="can_focus">True</property> + <signal name="focus_out_event" handler="on_BDAY_entry_focus_out_event"/> </object> <packing> <property name="left_attach">3</property> diff --git a/src/profile_window.py b/src/profile_window.py index 32796a911..077ba4f24 100644 --- a/src/profile_window.py +++ b/src/profile_window.py @@ -203,6 +203,20 @@ class ProfileWindow: elif event.button == 1: # left click self.on_set_avatar_button_clicked(widget) + def on_BDAY_entry_focus_out_event(self, widget, event): + txt = widget.get_text() + if not txt: + return + try: + time.strptime(txt, '%Y-%m-%d') + except ValueError: + if not widget.is_focus(): + pritext = _('Wrong date format') + dialogs.ErrorDialog(pritext, _('Format of the date must be ' + 'YYYY-MM-DD')) + gobject.idle_add(lambda: widget.grab_focus()) + return True + def set_value(self, entry_name, value): try: self.xml.get_object(entry_name).set_text(value) |