diff -r f8445d00613d -r 435e2d8ee580 controls/DurationCellEditor.py --- a/controls/DurationCellEditor.py Sun Mar 18 15:37:04 2012 +0100 +++ b/controls/DurationCellEditor.py Sun Mar 18 18:11:46 2012 +0100 @@ -71,7 +71,10 @@ def __init__(self, parent): self._init_ctrls(parent) + self.Default = None + def SetValue(self, value): + self.Default = value self.Duration.SetValue(value) def GetValue(self): @@ -94,9 +97,11 @@ def OnDurationChar(self, event): keycode = event.GetKeyCode() - if keycode in [wx.WXK_RETURN, wx.WXK_TAB, wx.WXK_ESCAPE]: + if keycode in [wx.WXK_RETURN, wx.WXK_TAB]: self.Parent.Parent.ProcessEvent(event) - self.Parent.Parent.SetFocus() + elif keycode == wx.WXK_ESCAPE: + self.Duration.SetValue(self.Default) + self.Parent.Parent.CloseEditControl() else: event.Skip()