Remove set_sensitive on Entry field and use focus_chain to skip readonly entry
This commit is contained in:
1 parent
dff3e50ac7
commit
35838d6f01
7 files changed
+51
-17
No files matched your search
@@ -57,9 +57,12 @@ class Binary(WidgetInterface):
|
||||
if value:
|
||||
self.but_new.hide()
|
||||
self.but_remove.hide()
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.but_new.show()
|
||||
self.but_remove.show()
|
||||
self.widget.set_focus_chain([self.but_new, self.but_save_as,
|
||||
self.but_remove])
|
||||
|
||||
def grab_focus(self):
|
||||
return self.wid_text.grab_focus()
|
||||
|
||||
@@ -50,8 +50,11 @@ class Calendar(WidgetInterface):
|
||||
|
||||
def _readonly_set(self, value):
|
||||
self.entry.set_editable(not value)
|
||||
self.entry.set_sensitive(not value)
|
||||
self.but_open.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.entry])
|
||||
|
||||
def sig_key_press(self, widget, event):
|
||||
if event.keyval == gtk.keysyms.F2:
|
||||
@@ -177,8 +180,11 @@ class DateTime(WidgetInterface):
|
||||
|
||||
def _readonly_set(self, value):
|
||||
self.entry.set_editable(not value)
|
||||
self.entry.set_sensitive(not value)
|
||||
self.but_open.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.entry])
|
||||
|
||||
def sig_key_press(self, widget, event):
|
||||
if event.keyval == gtk.keysyms.F2:
|
||||
|
||||
@@ -41,7 +41,10 @@ class Char(WidgetInterface):
|
||||
def _readonly_set(self, value):
|
||||
super(Char, self)._readonly_set(value)
|
||||
self.entry.set_editable(not value)
|
||||
self.entry.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.entry])
|
||||
|
||||
|
||||
class Sha(Char):
|
||||
|
||||
@@ -11,14 +11,22 @@ class FloatTime(WidgetInterface):
|
||||
super(FloatTime, self).__init__(window, parent, model=model,
|
||||
attrs=attrs)
|
||||
|
||||
self.widget = gtk.Entry()
|
||||
self.widget.set_alignment(1.0)
|
||||
self.widget.set_property('activates_default', True)
|
||||
self.widget = gtk.HBox()
|
||||
self.entry = gtk.Entry()
|
||||
self.entry.set_alignment(1.0)
|
||||
self.entry.set_property('activates_default', True)
|
||||
|
||||
self.widget.connect('populate-popup', self._populate_popup)
|
||||
self.widget.connect('activate', self.sig_activate)
|
||||
self.widget.connect('focus-in-event', lambda x, y: self._focus_in())
|
||||
self.widget.connect('focus-out-event', lambda x, y: self._focus_out())
|
||||
self.entry.connect('populate-popup', self._populate_popup)
|
||||
self.entry.connect('activate', self.sig_activate)
|
||||
self.entry.connect('focus-in-event', lambda x, y: self._focus_in())
|
||||
self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
|
||||
self.widget.pack_start(self.entry)
|
||||
|
||||
def _color_widget(self):
|
||||
return self.entry
|
||||
|
||||
def grab_focus(self):
|
||||
return self.entry.grab_focus()
|
||||
|
||||
def text_to_float(self, text):
|
||||
try:
|
||||
@@ -35,7 +43,7 @@ class FloatTime(WidgetInterface):
|
||||
return 0.0
|
||||
|
||||
def set_value(self, model, model_field):
|
||||
value = self.widget.get_text()
|
||||
value = self.entry.get_text()
|
||||
if not value:
|
||||
return model_field.set_client(model, 0.0)
|
||||
return model_field.set_client(model, self.text_to_float(value))
|
||||
@@ -43,15 +51,19 @@ class FloatTime(WidgetInterface):
|
||||
def display(self, model, model_field):
|
||||
super(FloatTime, self).display(model, model_field)
|
||||
if not model_field:
|
||||
self.widget.set_text('00:00')
|
||||
self.entry.set_text('00:00')
|
||||
return False
|
||||
val = model_field.get(model)
|
||||
value = '%02d:%02d' % (math.floor(abs(val)),
|
||||
round(abs(val)%1+0.01, 2) * 60)
|
||||
if val < 0:
|
||||
value = '-' + value
|
||||
self.widget.set_text(value)
|
||||
self.entry.set_text(value)
|
||||
|
||||
def _readonly_set(self, value):
|
||||
self.widget.set_editable(not value)
|
||||
self.widget.set_sensitive(not value)
|
||||
super(FloatTime, self)._readonly_set(value)
|
||||
self.entry.set_editable(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.entry])
|
||||
@@ -279,6 +279,10 @@ class Many2One(WidgetInterface):
|
||||
self._readonly = value
|
||||
self.wid_text.set_editable(not value)
|
||||
self.but_new.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.wid_text])
|
||||
|
||||
def _color_widget(self):
|
||||
return self.wid_text
|
||||
|
||||
@@ -119,8 +119,11 @@ class Reference(WidgetInterface):
|
||||
self._readonly = value
|
||||
self.widget_combo.set_sensitive(not value)
|
||||
self.wid_text.set_editable(not value)
|
||||
self.wid_text.set_sensitive(not value)
|
||||
self.but_new.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.widget_combo, self.wid_text])
|
||||
|
||||
def _color_widget(self):
|
||||
return self.wid_text
|
||||
|
||||
@@ -41,7 +41,10 @@ class TextBox(WidgetInterface):
|
||||
def _readonly_set(self, value):
|
||||
super(TextBox, self)._readonly_set(value)
|
||||
self.textview.set_editable(not value)
|
||||
self.textview.set_sensitive(not value)
|
||||
if value:
|
||||
self.widget.set_focus_chain([])
|
||||
else:
|
||||
self.widget.set_focus_chain([self.textview])
|
||||
if HAS_GTKSPELL:
|
||||
spell = None
|
||||
try:
|
||||
|
||||
Reference in new issue
Block a user