diff options
author | Simon Schampijer <simon@schampijer.de> | 2008-05-13 17:18:07 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2008-05-13 17:18:07 (GMT) |
commit | 8cb3f07f8f242ae3845fa68ea8e5589c63be86aa (patch) | |
tree | b09f7c4e87c98055256552d6df7784dca7535ec3 /src | |
parent | f0f573eb23c1cf783eea7be2eed72f93dff0e30c (diff) |
Make valid-section a property
Diffstat (limited to 'src')
-rw-r--r-- | src/controlpanel/gui.py | 8 | ||||
-rw-r--r-- | src/controlpanel/sectionview.py | 20 | ||||
-rw-r--r-- | src/controlpanel/view/aboutme.py | 10 | ||||
-rw-r--r-- | src/controlpanel/view/network.py | 10 |
4 files changed, 28 insertions, 20 deletions
diff --git a/src/controlpanel/gui.py b/src/controlpanel/gui.py index 60f0258..7b7a313 100644 --- a/src/controlpanel/gui.py +++ b/src/controlpanel/gui.py @@ -186,7 +186,8 @@ class ControlPanel(gtk.Window): self._options[option]['alerts']) self._set_canvas(self._section_view) self._section_view.show() - self._section_view.connect('valid-section', self.__valid_section_cb) + self._section_view.connect('notify::valid-section', + self.__valid_section_cb) self._main_view.modify_bg(gtk.STATE_NORMAL, style.COLOR_WHITE.get_gdk_color()) @@ -281,8 +282,9 @@ class ControlPanel(gtk.Window): def __stop_clicked_cb(self, widget, data=None): self.destroy() - def __valid_section_cb(self, widget, valid): - self._section_toolbar.accept_button.set_sensitive(valid) + def __valid_section_cb(self, section_view, pspec): + self._section_toolbar.accept_button.set_sensitive( \ + section_view.props.valid_section) class _GridWidget(gtk.EventBox): __gtype_name__ = "SugarGridWidget" diff --git a/src/controlpanel/sectionview.py b/src/controlpanel/sectionview.py index de3707b..36aadda 100644 --- a/src/controlpanel/sectionview.py +++ b/src/controlpanel/sectionview.py @@ -21,17 +21,27 @@ import gettext _ = lambda msg: gettext.dgettext('sugar', msg) class SectionView(gtk.VBox): - __gsignals__ = { - 'valid-section': (gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ([bool])) - } + __gproperties__ = { + 'valid-section' : (bool, None, None, True, + gobject.PARAM_READWRITE) + } + def __init__(self): gtk.VBox.__init__(self) + self.valid_section = True self.restart = False self.restart_alerts = [] self._restart_msg = _('Changes require a sugar restart to take effect.') + def do_set_property(self, pspec, value): + if pspec.name == 'valid-section': + if self.valid_section != value: + self.valid_section = value + + def do_get_property(self, pspec): + if pspec.name == 'valid-section': + return self.valid_section + def undo(self): '''Undo here the changes that have been made in this section.''' pass diff --git a/src/controlpanel/view/aboutme.py b/src/controlpanel/view/aboutme.py index baa9806..2e739cf 100644 --- a/src/controlpanel/view/aboutme.py +++ b/src/controlpanel/view/aboutme.py @@ -71,8 +71,6 @@ class Aboutme(SectionView): def __init__(self, model, alerts): SectionView.__init__(self) - self.emit('valid_section', True) - self._model = model self.restart_alerts = alerts self._nick = self._model.get_nick() @@ -197,9 +195,9 @@ class Aboutme(SectionView): self.restart = False if self._nick_valid and self._color_valid: - self.emit('valid_section', True) + self.props.valid_section = True else: - self.emit('valid_section', False) + self.props.valid_section = False if not self._nick_alert.props.visible or \ widget.get_text() != self._nick: @@ -217,9 +215,9 @@ class Aboutme(SectionView): self.restart_alerts.append('color') if self._nick_valid and self._color_valid: - self.emit('valid_section', True) + self.props.valid_section = True else: - self.emit('valid_section', False) + self.props.valid_section = False if not self._color_alert.props.visible: self._color_alert.show() diff --git a/src/controlpanel/view/network.py b/src/controlpanel/view/network.py index bbf4f02..6dcb116 100644 --- a/src/controlpanel/view/network.py +++ b/src/controlpanel/view/network.py @@ -31,8 +31,6 @@ TITLE = _('Network') class Network(SectionView): def __init__(self, model, alerts): SectionView.__init__(self) - - self.emit('valid_section', True) self._jabber_sid = 0 self._jabber_valid = True @@ -180,9 +178,9 @@ class Network(SectionView): self.restart = False if self._radio_valid and self._jabber_valid: - self.emit('valid_section', True) + self.props.valid_section = True else: - self.emit('valid_section', False) + self.props.valid_section = False if not self._radio_alert.props.visible or \ radio_state != self._jabber: @@ -215,9 +213,9 @@ class Network(SectionView): self.restart = False if self._jabber_valid and self._radio_valid: - self.emit('valid_section', True) + self.props.valid_section = True else: - self.emit('valid_section', False) + self.props.valid_section = False if not self._jabber_alert.props.visible or \ widget.get_text() != self._jabber: |