Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/view
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2008-06-06 17:41:41 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2008-06-06 17:41:41 (GMT)
commit1500384cd1f427a209712c95b671ee6e8252ac8c (patch)
treecc126f871a09a585c5bd49a481753fef4b68e42b /src/view
parent006058be744c61b4a93bb00e418e6205f0ce9af5 (diff)
First go at session management implementation.
Diffstat (limited to 'src/view')
-rw-r--r--src/view/home/activitiesring.py40
1 files changed, 5 insertions, 35 deletions
diff --git a/src/view/home/activitiesring.py b/src/view/home/activitiesring.py
index aae3dea..8c7234e 100644
--- a/src/view/home/activitiesring.py
+++ b/src/view/home/activitiesring.py
@@ -26,7 +26,6 @@ import gtk
import hippo
import dbus
-from hardware import hardwaremanager
from sugar.graphics import style
from sugar.graphics.palette import Palette
from sugar.graphics.icon import Icon, CanvasIcon
@@ -43,6 +42,7 @@ from model import shellmodel
from model.shellmodel import ShellModel
from hardware import schoolserver
from controlpanel.gui import ControlPanel
+from session import get_session
_logger = logging.getLogger('ActivitiesRing')
@@ -339,29 +339,15 @@ class _MyIcon(MyIcon):
model = shellmodel.get_instance()
model.props.state = ShellModel.STATE_SHUTDOWN
- pm = self._get_power_manager()
-
- hw_manager = hardwaremanager.get_manager()
- hw_manager.shutdown()
-
- if env.is_emulator():
- self._close_emulator()
- else:
- pm.Reboot()
+ session = get_session()
+ session.shutdown()
def _shutdown_activate_cb(self, menuitem):
model = shellmodel.get_instance()
model.props.state = ShellModel.STATE_SHUTDOWN
- pm = self._get_power_manager()
-
- hw_manager = hardwaremanager.get_manager()
- hw_manager.shutdown()
-
- if env.is_emulator():
- self._close_emulator()
- else:
- pm.Shutdown()
+ session = get_session()
+ session.shutdown()
def _register_activate_cb(self, menuitem):
schoolserver.register_laptop()
@@ -379,19 +365,3 @@ class _MyIcon(MyIcon):
def _response_cb(self, widget, response_id):
if response_id == gtk.RESPONSE_OK:
widget.destroy()
-
- def _close_emulator(self):
- if os.environ.has_key('SUGAR_EMULATOR_PID'):
- pid = int(os.environ['SUGAR_EMULATOR_PID'])
- os.kill(pid, signal.SIGTERM)
-
- def _get_power_manager(self):
- if self._power_manager is None:
- bus = dbus.SystemBus()
- proxy = bus.get_object('org.freedesktop.Hal',
- '/org/freedesktop/Hal/devices/computer')
- self._power_manager = dbus.Interface(proxy, \
- 'org.freedesktop.Hal.Device.SystemPowerManagement')
-
- return self._power_manager
-