Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions/cpsection/power/view.py
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/cpsection/power/view.py')
-rw-r--r--extensions/cpsection/power/view.py177
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