Take care of the editable or sensitive value of widgets in key-press-event
This commit is contained in:
1 parent
8328d154dc
commit
66df8a116e
5 files changed
+22
-10
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user