diff --git a/extensions/cpsection/network/model.py b/extensions/cpsection/network/model.py
index bfd008a..ee19995 100644
a
|
b
|
def set_publish_information(value): |
121 | 121 | client = gconf.client_get_default() |
122 | 122 | client.set_bool('/desktop/sugar/collaboration/publish_gadget', value) |
123 | 123 | return 0 |
| 124 | |
| 125 | def restart_jabber(): |
| 126 | """Call Sugar Presence Service to restart Telepathy CMs. |
| 127 | |
| 128 | This allows restarting the jabber server connection when we change it. |
| 129 | """ |
| 130 | _PS_SERVICE = "org.laptop.Sugar.Presence" |
| 131 | _PS_INTERFACE = "org.laptop.Sugar.Presence" |
| 132 | _PS_PATH = "/org/laptop/Sugar/Presence" |
| 133 | bus = dbus.SessionBus() |
| 134 | try: |
| 135 | ps = dbus.Interface(bus.get_object(_PS_SERVICE, _PS_PATH), _PS_INTERFACE) |
| 136 | except dbus.DBusException: |
| 137 | raise ReadError('%s service not available', _PS_SERVICE) |
| 138 | ps.RestartServerConnection() |
diff --git a/extensions/cpsection/network/view.py b/extensions/cpsection/network/view.py
index 9a7f387..cc6ced4 100644
a
|
b
|
class Network(SectionView): |
221 | 221 | self._jabber_sid = 0 |
222 | 222 | if widget.get_text() == self._model.get_jabber: |
223 | 223 | return |
| 224 | self._model.set_jabber(widget.get_text()) |
224 | 225 | try: |
225 | | self._model.set_jabber(widget.get_text()) |
226 | | except ValueError, detail: |
| 226 | self._model.restart_jabber() |
| 227 | except ReadError, detail: |
227 | 228 | self._jabber_alert.props.msg = detail |
228 | 229 | self._jabber_valid = False |
| 230 | self._jabber_alert.show() |
| 231 | self.restart_alerts.append('jabber') |
229 | 232 | else: |
230 | | self._jabber_alert.props.msg = self.restart_msg |
231 | 233 | self._jabber_valid = True |
232 | | self.needs_restart = True |
233 | | self.restart_alerts.append('jabber') |
| 234 | self._jabber_alert.hide() |
234 | 235 | |
235 | 236 | self._validate() |
236 | | self._jabber_alert.show() |
237 | 237 | return False |
238 | 238 | |
239 | 239 | def __network_configuration_reset_cb(self, widget): |