diff options
author | Marco 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) |
commit | c34b5204ace33f06e6b1dfbbb6e0f68724b6d248 (patch) | |
tree | ef7cb5e906566e1daf1d6301c9eb488755f23022 /shell/view/home/HomeBox.py | |
parent | ab7cd66374e8fb1b28a856d5ec314c3210aa14e8 (diff) |
Registration menu
Diffstat (limited to 'shell/view/home/HomeBox.py')
-rw-r--r-- | shell/view/home/HomeBox.py | 37 |
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']) |