Take care of the editable or sensitive value of widgets in key-press-event

This commit is contained in:
Cédric Krier committed 2008-11-22 15:21:26 +01:00
1 parent 8328d154dc
commit 66df8a116e
5 files changed
+22 -10

No files matched your search

+2
View File
@@ -179,6 +179,8 @@ class DateEntry(gtk.Entry):
self.set_text(self.initial_value)
def _on_key_press(self, editable, event):
if not self.get_editable():
return False
if event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Escape,
gtk.keysyms.Return, gtk.keysyms.KP_Enter):
if self.mode_cmd:
@@ -57,6 +57,8 @@ class Calendar(WidgetInterface):
self.widget.set_focus_chain([self.entry])
def sig_key_press(self, widget, event):
if not self.entry.get_editable():
return False
if event.keyval == gtk.keysyms.F2:
self.cal_open(widget)
return True
@@ -187,6 +189,8 @@ class DateTime(WidgetInterface):
self.widget.set_focus_chain([self.entry])
def sig_key_press(self, widget, event):
if not self.entry.get_editable():
return False
if event.keyval == gtk.keysyms.F2:
self.cal_open(widget)
return True
@@ -427,13 +427,14 @@ class Many2One(WidgetInterface):
self.changed = True
def sig_key_press(self, widget, event, *args):
if event.keyval == gtk.keysyms.F3:
editable = self.wid_text.get_editable()
if event.keyval == gtk.keysyms.F3 and editable:
self.sig_new(widget, event)
return True
elif event.keyval == gtk.keysyms.F2:
self.sig_edit(widget)
return True
elif event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Return):
elif event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Return) and editable:
return not self.sig_activate(widget, event, key_press=True)
return False
@@ -302,12 +302,14 @@ class Dialog(object):
def on_keypress(self, widget, event):
if self.attrs.get('add_remove') \
and event.keyval == gtk.keysyms.F3:
and event.keyval == gtk.keysyms.F3 \
and self.but_add.get_property('sensitive'):
self._sig_add()
return False
if (event.keyval in (gtk.keysyms.N, gtk.keysyms.n) \
if ((event.keyval in (gtk.keysyms.N, gtk.keysyms.n) \
and event.state & gtk.gdk.CONTROL_MASK) \
or event.keyval == gtk.keysyms.F3:
or event.keyval == gtk.keysyms.F3) \
and self.but_new.get_property('sensitive'):
self._sig_new(widget)
return False
if event.keyval == gtk.keysyms.F2:
@@ -475,13 +477,15 @@ class One2Many(WidgetInterface):
def on_keypress(self, widget, event):
if self.attrs.get('add_remove') \
and event.keyval == gtk.keysyms.F3:
and event.keyval == gtk.keysyms.F3 \
and self.but_add.get_property('sensitive'):
self._sig_add()
return False
if (event.keyval == gtk.keysyms.N \
if ((event.keyval == gtk.keysyms.N \
and event.state & gtk.gdk.CONTROL_MASK \
and event.state & gtk.gdk.SHIFT_MASK) \
or event.keyval == gtk.keysyms.F3:
or event.keyval == gtk.keysyms.F3) \
and self.but_new.get_property('sensitive'):
self._sig_new(widget)
return False
if event.keyval == gtk.keysyms.F2:
@@ -216,13 +216,14 @@ class Reference(WidgetInterface):
dia.destroy()
def sig_key_press(self, widget, event):
if event.keyval == gtk.keysyms.F3:
editable = self.wid_text.get_editable()
if event.keyval == gtk.keysyms.F3 and editable:
self.sig_new(widget, event)
return True
elif event.keyval == gtk.keysyms.F2:
self.sig_focus_out(widget, event)
return True
elif event.keyval == gtk.keysyms.Tab:
elif event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Return) and editable:
if self._view.modelfield.get(self._view.model) or \
not self.wid_text.get_text():
return False