Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/home/HomeBox.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-10-12 17:07:02 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-10-12 17:07:02 (GMT)
commitc34b5204ace33f06e6b1dfbbb6e0f68724b6d248 (patch)
treeef7cb5e906566e1daf1d6301c9eb488755f23022 /shell/view/home/HomeBox.py
parentab7cd66374e8fb1b28a856d5ec314c3210aa14e8 (diff)
Registration menu
Diffstat (limited to 'shell/view/home/HomeBox.py')
-rw-r--r--shell/view/home/HomeBox.py37
1 files changed, 25 insertions, 12 deletions
diff --git a/shell/view/home/HomeBox.py b/shell/view/home/HomeBox.py
index 69a277b..6b5de5f 100644
--- a/shell/view/home/HomeBox.py
+++ b/shell/view/home/HomeBox.py
@@ -29,13 +29,14 @@ from sugar.graphics import style
from sugar.graphics.xocolor import XoColor
from sugar.graphics.palette import Palette, CanvasInvoker
from sugar.graphics.icon import CanvasIcon
-from sugar import profile
+from sugar.profile import get_profile
from sugar import env
from view.home.activitiesdonut import ActivitiesDonut
from view.devices import deviceview
from view.home.MyIcon import MyIcon
from model.shellmodel import ShellModel
+from hardware import schoolserver
class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
__gtype_name__ = 'SugarHomeBox'
@@ -178,20 +179,27 @@ class _MyIcon(MyIcon):
self._power_manager = None
self._shell = shell
+ self._profile = get_profile()
def enable_palette(self):
- palette = Palette(profile.get_nick_name())
-
- reboot_menu_item = gtk.MenuItem(_('Reboot'))
- reboot_menu_item.connect('activate', self._reboot_activate_cb)
- shutdown_menu_item = gtk.MenuItem(_('Shutdown'))
- shutdown_menu_item.connect('activate', self._shutdown_activate_cb)
+ palette = Palette(self._profile.nick_name)
+
+ item = gtk.MenuItem(_('Reboot'))
+ item.connect('activate', self._reboot_activate_cb)
+ palette.menu.append(item)
+ item.show()
+
+ item = gtk.MenuItem(_('Shutdown'))
+ item.connect('activate', self._shutdown_activate_cb)
+ palette.menu.append(item)
+ item.show()
+
+ if not self._profile.is_registered():
+ item = gtk.MenuItem(_('Register'))
+ item.connect('activate', self._register_activate_cb)
+ palette.menu.append(item)
+ item.show()
- palette.menu.append(reboot_menu_item)
- palette.menu.append(shutdown_menu_item)
- reboot_menu_item.show()
- shutdown_menu_item.show()
-
self.set_palette(palette)
def _reboot_activate_cb(self, menuitem):
@@ -222,6 +230,11 @@ class _MyIcon(MyIcon):
else:
pm.Shutdown()
+ def _register_activate_cb(self, menuitem):
+ schoolserver.register_laptop()
+ if self._profile.is_registered():
+ self.get_palette().menu.remove(menuitem)
+
def _close_emulator(self):
if os.environ.has_key('SUGAR_EMULATOR_PID'):
pid = int(os.environ['SUGAR_EMULATOR_PID'])