Call activate on Date, Time cell before getting value

The focus-out event is not yet triggered when editing is done which result of
the content of the cell not yet being parsed. So the parsing must be forced by
calling activate.

issue4826
review18341002
This commit is contained in:
Cédric Krier committed 2015-07-01 12:18:17 +02:00
1 parent 4dacb4abe0
commit 84908e5d9c
2 files changed
+5 -2

No files matched your search

+2 -2
View File
@@ -154,7 +154,7 @@ class Date(gtk.Entry):
self.emit('date-changed')
return False
def activate(self, entry):
def activate(self, entry=None):
self.parse()
self.update_label()
self.emit('date-changed')
@@ -293,7 +293,7 @@ class Time(gtk.ComboBoxEntry):
self.emit('time-changed')
return False
def activate(self, entry):
def activate(self, entry=None):
self.parse()
self.update_label()
self.emit('time-changed')
@@ -111,6 +111,7 @@ class EditableTreeView(TreeView):
if hasattr(field, 'editabletree_entry'):
entry = field.editabletree_entry
if isinstance(entry, (Date, Time)):
entry.activate()
txt = entry.props.value
if isinstance(entry, gtk.Entry):
txt = entry.get_text()
@@ -144,6 +145,7 @@ class EditableTreeView(TreeView):
if event.keyval in self.leaving_events or leaving:
if isinstance(entry, (Date, Time)):
entry.activate()
txt = entry.props.value
elif isinstance(entry, gtk.Entry):
txt = entry.get_text()
@@ -263,6 +265,7 @@ class EditableTreeView(TreeView):
model = self.get_model()
record = model.get_value(model.get_iter(path), 0)
if isinstance(entry, (Date, Time)):
entry.activate()
self.on_quit_cell(record, column, entry.props.value)
elif isinstance(entry, gtk.Entry):
self.on_quit_cell(record, column, entry.get_text())