Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2008-05-13 17:18:07 (GMT)
committer Simon Schampijer <simon@schampijer.de>2008-05-13 17:18:07 (GMT)
commit8cb3f07f8f242ae3845fa68ea8e5589c63be86aa (patch)
treeb09f7c4e87c98055256552d6df7784dca7535ec3 /src
parentf0f573eb23c1cf783eea7be2eed72f93dff0e30c (diff)
Make valid-section a property
Diffstat (limited to 'src')
-rw-r--r--src/controlpanel/gui.py8
-rw-r--r--src/controlpanel/sectionview.py20
-rw-r--r--src/controlpanel/view/aboutme.py10
-rw-r--r--src/controlpanel/view/network.py10
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: