diff options
Diffstat (limited to 'extensions/cpsection/power/view.py')
-rw-r--r-- | extensions/cpsection/power/view.py | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/extensions/cpsection/power/view.py b/extensions/cpsection/power/view.py deleted file mode 100644 index 8f1ed56..0000000 --- a/extensions/cpsection/power/view.py +++ /dev/null @@ -1,177 +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 -from gettext import gettext as _ - -from sugar.graphics import style - -from jarabe.controlpanel.sectionview import SectionView -from jarabe.controlpanel.inlinealert import InlineAlert - -class Power(SectionView): - def __init__(self, model, alerts): - SectionView.__init__(self) - - self._model = model - self.restart_alerts = alerts - self._automatic_pm_valid = True - self._extreme_pm_valid = True - self._extreme_pm_change_handler = None - self._automatic_pm_change_handler = None - - self.set_border_width(style.DEFAULT_SPACING * 2) - self.set_spacing(style.DEFAULT_SPACING) - group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) - - self._automatic_pm_alert_box = gtk.HBox(spacing=style.DEFAULT_SPACING) - self._extreme_pm_alert_box = gtk.HBox(spacing=style.DEFAULT_SPACING) - - separator_pm = gtk.HSeparator() - self.pack_start(separator_pm, expand=False) - separator_pm.show() - - label_pm = gtk.Label(_('Power management')) - label_pm.set_alignment(0, 0) - self.pack_start(label_pm, expand=False) - label_pm.show() - box_pm = gtk.VBox() - box_pm.set_border_width(style.DEFAULT_SPACING * 2) - box_pm.set_spacing(style.DEFAULT_SPACING) - - box_automatic_pm = gtk.HBox(spacing=style.DEFAULT_SPACING) - label_automatic_pm = gtk.Label( - _('Automatic power management (increases battery life)')) - label_automatic_pm.set_alignment(0, 0.5) - self._automatic_button = gtk.CheckButton() - self._automatic_button.set_alignment(0, 0) - box_automatic_pm.pack_start(self._automatic_button, expand=False) - box_automatic_pm.pack_start(label_automatic_pm, expand=False) - self._automatic_button.show() - label_automatic_pm.show() - group.add_widget(label_automatic_pm) - box_pm.pack_start(box_automatic_pm, expand=False) - box_automatic_pm.show() - - self._automatic_pm_alert = InlineAlert() - label_automatic_pm_error = gtk.Label() - group.add_widget(label_automatic_pm_error) - self._automatic_pm_alert_box.pack_start(label_automatic_pm_error, - expand=False) - label_automatic_pm_error.show() - self._automatic_pm_alert_box.pack_start(self._automatic_pm_alert, - expand=False) - box_pm.pack_end(self._automatic_pm_alert_box, expand=False) - self._automatic_pm_alert_box.show() - if 'automatic_pm' in self.restart_alerts: - self._automatic_pm_alert.props.msg = self.restart_msg - self._automatic_pm_alert.show() - - box_extreme_pm = gtk.HBox(spacing=style.DEFAULT_SPACING) - label_extreme_pm = gtk.Label( - _('Extreme power management (disables' \ - 'wireless radio, increases battery life)')) - label_extreme_pm.set_alignment(0, 0.5) - self._extreme_button = gtk.CheckButton() - self._extreme_button.set_alignment(0, 0) - box_extreme_pm.pack_start(self._extreme_button, expand=False) - self._extreme_button.show() - box_extreme_pm.pack_start(label_extreme_pm, expand=False) - group.add_widget(label_extreme_pm) - label_extreme_pm.show() - box_pm.pack_start(box_extreme_pm, expand=False) - box_extreme_pm.show() - - self._extreme_pm_alert = InlineAlert() - label_extreme_pm_error = gtk.Label() - group.add_widget(label_extreme_pm_error) - self._extreme_pm_alert_box.pack_start(label_extreme_pm_error, - expand=False) - label_extreme_pm_error.show() - self._extreme_pm_alert_box.pack_start(self._extreme_pm_alert, - expand=False) - box_pm.pack_end(self._extreme_pm_alert_box, expand=False) - self._extreme_pm_alert_box.show() - if 'extreme_pm' in self.restart_alerts: - self._extreme_pm_alert.props.msg = self.restart_msg - self._extreme_pm_alert.show() - - self.pack_start(box_pm, expand=False) - box_pm.show() - - self.setup() - - def setup(self): - try: - automatic_state = self._model.get_automatic_pm() - extreme_state = self._model.get_extreme_pm() - - except Exception, detail: - self._automatic_pm_alert.props.msg = detail - self._automatic_pm_alert.show() - - self._extreme_pm_alert.props.msg = detail - self._extreme_pm_alert.show() - else: - self._automatic_button.set_active(automatic_state) - self._extreme_button.set_active(extreme_state) - - self._extreme_pm_valid = True - self._automatic_pm_valid = True - self.needs_restart = False - self._automatic_pm_change_handler = self._automatic_button.connect( \ - 'toggled', self.__automatic_pm_toggled_cb) - self._extreme_pm_change_handler = self._extreme_button.connect( \ - 'toggled', self.__extreme_pm_toggled_cb) - - def undo(self): - self._automatic_button.disconnect(self._automatic_pm_change_handler) - self._extreme_button.disconnect(self._extreme_pm_change_handler) - self._model.undo() - self._extreme_pm_alert.hide() - self._automatic_pm_alert.hide() - - def _validate(self): - if self._extreme_pm_valid and self._automatic_pm_valid: - self.props.is_valid = True - else: - self.props.is_valid = False - - def __automatic_pm_toggled_cb(self, widget, data=None): - state = widget.get_active() - try: - self._model.set_automatic_pm(state) - except Exception, detail: - print detail - self._automatic_pm_alert.props.msg = detail - else: - self._automatic_pm_valid = True - - self._validate() - return False - - def __extreme_pm_toggled_cb(self, widget, data=None): - state = widget.get_active() - try: - self._model.set_extreme_pm(state) - except Exception, detail: - print detail - self._extreme_pm_alert.props.msg = detail - else: - self._extreme_pm_valid = True - - self._validate() - return False |