Fix color and readonly for new date/time widgets

issue4457
review5981002
This commit is contained in:
Cédric Krier committed 2015-02-04 23:24:07 +01:00
1 parent 4cab4b63bd
commit 9d32db194f
2 files changed
+29 -7

No files matched your search

+16
View File
@@ -435,6 +435,22 @@ class DateTime(gtk.HBox):
elif prop.name == 'time-format':
return self.__time.props.format
def modify_bg(self, state, color):
self.__date.modify_bg(state, color)
self.__time.child.modify_bg(state, color)
def modify_base(self, state, color):
self.__date.modify_base(state, color)
self.__time.child.modify_base(state, color)
def modify_fg(self, state, color):
self.__date.modify_fg(state, color)
self.__time.child.modify_fg(state, color)
def modify_text(self, state, color):
self.__date.modify_text(state, color)
self.__time.child.modify_text(state, color)
gobject.type_register(DateTime)
@@ -33,7 +33,8 @@ class Date(Widget):
return self.entry
def _set_editable(self, value):
self.real_entry.set_editable(value)
self.entry.set_editable(value)
self.entry.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
def _readonly_set(self, value):
self._set_editable(not value)
@@ -79,6 +80,12 @@ class Time(Date):
super(Time, self).__init__(view, attrs, _entry=TimeEntry)
self.entry.set_focus_chain([self.entry.get_child()])
def _color_widget(self):
return self.entry.child
def _set_editable(self, value):
self.entry.set_sensitive(value)
@property
def real_entry(self):
return self.entry.get_child()
@@ -112,14 +119,13 @@ class DateTime(Date):
child.connect('focus-out-event', lambda x, y: self._focus_out())
self.widget.pack_start(self.entry, expand=False, fill=False)
def _color_widget(self):
return self.entry.get_children()[0] # XXX not always sure to have Date
def _set_editable(self, value):
for child in self.entry.get_children():
if not hasattr(child, 'set_editable'):
child = child.child
child.set_editable(value)
if isinstance(child, gtk.Entry):
child.set_editable(value)
child.set_icon_sensitive(gtk.ENTRY_ICON_SECONDARY, value)
elif isinstance(child, gtk.ComboBoxEntry):
child.set_sensitive(value)
def set_format(self, record, field):
if field and record: