diff options
Diffstat (limited to 'src/jarabe/controlpanel/network/view.py')
-rw-r--r-- | src/jarabe/controlpanel/network/view.py | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/src/jarabe/controlpanel/network/view.py b/src/jarabe/controlpanel/network/view.py deleted file mode 100644 index 4f4ada7..0000000 --- a/src/jarabe/controlpanel/network/view.py +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright (C) 2008, OLPC -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -import gtk -import gobject -from gettext import gettext as _ - -from sugar.graphics import style - -from jarabe.controlpanel.sectionview import SectionView -from jarabe.controlpanel.inlinealert import InlineAlert - -CLASS = 'Network' -ICON = 'module-network' -TITLE = _('Network') - -class Network(SectionView): - def __init__(self, model, alerts): - SectionView.__init__(self) - - self._model = model - self.restart_alerts = alerts - self._jabber_sid = 0 - self._jabber_valid = True - self._radio_valid = True - self._jabber_change_handler = None - self._radio_change_handler = None - self._network_configuration_reset_handler = None - - self.set_border_width(style.DEFAULT_SPACING * 2) - self.set_spacing(style.DEFAULT_SPACING) - group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) - - self._radio_alert_box = gtk.HBox(spacing=style.DEFAULT_SPACING) - self._jabber_alert_box = gtk.HBox(spacing=style.DEFAULT_SPACING) - - separator_wireless = gtk.HSeparator() - self.pack_start(separator_wireless, expand=False) - separator_wireless.show() - - label_wireless = gtk.Label(_('Wireless')) - label_wireless.set_alignment(0, 0) - self.pack_start(label_wireless, expand=False) - label_wireless.show() - box_wireless = gtk.VBox() - box_wireless.set_border_width(style.DEFAULT_SPACING * 2) - box_wireless.set_spacing(style.DEFAULT_SPACING) - - radio_info = gtk.Label(_("Turn of the wireless radio to save " - "battery life")) - radio_info.set_alignment(0, 0) - radio_info.set_line_wrap(True) - radio_info.show() - box_wireless.pack_start(radio_info, expand=False) - - box_radio = gtk.HBox(spacing=style.DEFAULT_SPACING) - self._button = gtk.CheckButton() - self._button.set_alignment(0, 0) - box_radio.pack_start(self._button, expand=False) - self._button.show() - - label_radio = gtk.Label(_('Radio')) - label_radio.set_alignment(0, 0.5) - box_radio.pack_start(label_radio, expand=False) - label_radio.show() - - box_wireless.pack_start(box_radio, expand=False) - box_radio.show() - - self._radio_alert = InlineAlert() - self._radio_alert_box.pack_start(self._radio_alert, expand=False) - box_radio.pack_end(self._radio_alert_box, expand=False) - self._radio_alert_box.show() - if 'radio' in self.restart_alerts: - self._radio_alert.props.msg = self.restart_msg - self._radio_alert.show() - - history_info = gtk.Label(_("Discard network history if you " - "have trouble connecting to the network")) - history_info.set_alignment(0, 0) - history_info.set_line_wrap(True) - history_info.show() - box_wireless.pack_start(history_info, expand=False) - - box_clear_history = gtk.HBox(spacing=style.DEFAULT_SPACING) - self._clear_history_button = gtk.Button() - self._clear_history_button.set_label(_('Discard network history')) - box_clear_history.pack_start(self._clear_history_button, expand=False) - self._clear_history_button.show() - box_wireless.pack_start(box_clear_history, expand=False) - box_clear_history.show() - - self.pack_start(box_wireless, expand=False) - box_wireless.show() - - separator_mesh = gtk.HSeparator() - self.pack_start(separator_mesh, False) - separator_mesh.show() - - label_mesh = gtk.Label(_('Mesh')) - label_mesh.set_alignment(0, 0) - self.pack_start(label_mesh, expand=False) - label_mesh.show() - box_mesh = gtk.VBox() - box_mesh.set_border_width(style.DEFAULT_SPACING * 2) - box_mesh.set_spacing(style.DEFAULT_SPACING) - - box_server = gtk.HBox(spacing=style.DEFAULT_SPACING) - label_server = gtk.Label(_('Server:')) - label_server.set_alignment(1, 0.5) - label_server.modify_fg(gtk.STATE_NORMAL, - style.COLOR_SELECTION_GREY.get_gdk_color()) - box_server.pack_start(label_server, expand=False) - group.add_widget(label_server) - label_server.show() - self._entry = gtk.Entry() - self._entry.set_alignment(0) - self._entry.modify_bg(gtk.STATE_INSENSITIVE, - style.COLOR_WHITE.get_gdk_color()) - self._entry.modify_base(gtk.STATE_INSENSITIVE, - style.COLOR_WHITE.get_gdk_color()) - self._entry.set_size_request(int(gtk.gdk.screen_width() / 3), -1) - box_server.pack_start(self._entry, expand=False) - self._entry.show() - box_mesh.pack_start(box_server, expand=False) - box_server.show() - - self._jabber_alert = InlineAlert() - label_jabber_error = gtk.Label() - group.add_widget(label_jabber_error) - self._jabber_alert_box.pack_start(label_jabber_error, expand=False) - label_jabber_error.show() - self._jabber_alert_box.pack_start(self._jabber_alert, expand=False) - box_mesh.pack_end(self._jabber_alert_box, expand=False) - self._jabber_alert_box.show() - if 'jabber' in self.restart_alerts: - self._jabber_alert.props.msg = self.restart_msg - self._jabber_alert.show() - - self.pack_start(box_mesh, expand=False) - box_mesh.show() - - self.setup() - - def setup(self): - self._entry.set_text(self._model.get_jabber()) - try: - radio_state = self._model.get_radio() - except Exception, detail: - self._radio_alert.props.msg = detail - self._radio_alert.show() - else: - self._button.set_active(radio_state) - - self._jabber_valid = True - self._radio_valid = True - self.needs_restart = False - self._radio_change_handler = self._button.connect( \ - 'toggled', self.__radio_toggled_cb) - self._jabber_change_handler = self._entry.connect( \ - 'changed', self.__jabber_changed_cb) - self._network_configuration_reset_handler = \ - self._clear_history_button.connect( \ - 'clicked', self.__network_configuration_reset_cb) - - def undo(self): - self._button.disconnect(self._radio_change_handler) - self._entry.disconnect(self._jabber_change_handler) - self._model.undo() - self._jabber_alert.hide() - self._radio_alert.hide() - - def _validate(self): - if self._jabber_valid and self._radio_valid: - self.props.is_valid = True - else: - self.props.is_valid = False - - def __radio_toggled_cb(self, widget, data=None): - radio_state = widget.get_active() - try: - self._model.set_radio(radio_state) - except Exception, detail: - self._radio_alert.props.msg = detail - self._radio_valid = False - else: - self._radio_valid = True - - self._validate() - return False - - def __jabber_changed_cb(self, widget, data=None): - if self._jabber_sid: - gobject.source_remove(self._jabber_sid) - self._jabber_sid = gobject.timeout_add(self._APPLY_TIMEOUT, - self.__jabber_timeout_cb, widget) - - def __jabber_timeout_cb(self, widget): - self._jabber_sid = 0 - if widget.get_text() == self._model.get_jabber: - return - try: - self._model.set_jabber(widget.get_text()) - except ValueError, detail: - self._jabber_alert.props.msg = detail - self._jabber_valid = False - else: - self._jabber_alert.props.msg = self.restart_msg - self._jabber_valid = True - self.needs_restart = True - self.restart_alerts.append('jabber') - - self._validate() - self._jabber_alert.show() - return False - - def __network_configuration_reset_cb(self, widget): - self._model.clear_networks() |